UEFI에서 Windows 10 및 Ubuntu 16.04 듀얼 부팅

UEFI에서 Windows 10 및 Ubuntu 16.04 듀얼 부팅

Ubuntu를 오랫동안 사용해 온 저는 최근 60GB SSD에 Windows 8이 사전 설치된 Acer Revo One을 구입했습니다. 이번에는 라이센스를 유지하기로 결정했습니다. 저는 MS Windows 10으로의 무료 업그레이드 혜택을 누렸습니다(SSD의 파티션을 제어할 수 있도록 USB 디스크에서 새로 설치하기로 선택했습니다. 루트 파티션을 위한 충분한 공간을 남겨두었습니다). 이 설치는 잘 작동했습니다.

다음으로 HDD를 설치하고 라이브 USB를 이용하여 Ubuntu 16.04 설치를 진행했습니다.

다음과 같이 디스크를 분할했습니다(Ubuntu 라이브 USB에서 부팅한 후 GParted에서 이것을 얻었습니다).

/dev/sda

/dev/sdb

기본적으로 내가 원하는 것은:

  1. 두 OS 모두 SSD에서 부팅
  2. Ubuntu는 공칭 /home, 스왑 파티션 에 HDD를 사용하고/tmp
  3. Windows와 Ubuntu가 모두 쓸 수 있는 공유 파티션

/dev/sdb3이유 는 모르겠지만 /dev/sdb4"msftdata" 플래그가 있습니다.

보안 부팅이 활성화되었습니다. (다양한 게시물을 읽었습니다. Ubuntu를 설치할 때 보안 부팅을 비활성화했다고 말하는 사람도 있고 그렇게 할 필요가 없다고 말하는 사람도 있습니다.) 빠른 부팅이 비활성화되었습니다.

Ubuntu는 예상대로 설치되지만 재부팅 시(라이브 USB 디스크 제거) 시스템은 Windows로만 부팅됩니다.

BIOS를 확인했는데 Windows 부팅 관리자(또는 설치된 경우 라이브 USB 디스크) 이외의 다른 것으로 부팅할 수 있는 옵션이 없습니다.

efibootmgr은 다음을 보고합니다:

BootCurrent:0002 
Timeout: 2 seconds  
BootOrder: 0000,0002,0001 
Boot0000* Windows Boot Manager  
Boot0001 ubuntu 
Boot0002* UEFI: SanDisk

Boot0001 옆에 "활성"이 아님을 의미하는 별표가 없는 것을 확인했습니다. 나는 활성화 설정을 시도했고 Boot0001이 첫 번째가 되도록 부팅 순서를 변경해 보았습니다. BootNext를 0001로 변경해 보았습니다. 이들 중 어느 것도 작동하지 않습니다. Boot0001을 활성화하기 위한 변경 사항이 다음 부팅 시 재설정되는 것을 확인했습니다. 따라서 변경 사항이 유지되지 않습니다.

나는 많은 권장 사항을 제시하는 여러 게시물을 읽었습니다.

  1. 어떤 사람들은 Windows를 먼저 설치한다고 말하고 다른 사람들은 그 반대라고 말합니다.
  2. Grub을 다시 설치하세요.
  3. EFI 부트로더 항목을 수동으로(EFI 파티션 마운트 및 항목 복사/이름 변경) 또는 부팅 복구를 사용하여 복구합니다.

EFI 파티션 덤프를 첨부할 수 없는 것 같지만 다음은 일부입니다.

./EFI
./EFI/Microsoft
./EFI/Microsoft/Boot
./EFI/Microsoft/Boot/bg-BG
./EFI/Microsoft/Boot/bg-BG/bootmgfw.efi.mui
./EFI/Microsoft/Boot/bg-BG/bootmgr.efi.mui
./EFI/Microsoft/Boot/bootmgr.efi
./EFI/Microsoft/Boot/memtest.efi
./EFI/Microsoft/Boot/boot.stl
./EFI/OEM/Boot
...
./EFI/Microsoft/Boot/en-GB
./EFI/Microsoft/Boot/en-GB/bootmgfw.efi.mui
./EFI/Microsoft/Boot/en-GB/bootmgr.efi.mui
...
./EFI/OEM
./EFI/OEM/Boot
./EFI/OEM/Boot/boot.stl
./EFI/OEM/Boot/bootmgfw.efi
./EFI/OEM/Boot/bootmgr.efi
./EFI/OEM/Boot/memtest.efi
./EFI/OEM/Boot/BOOTSTAT.DAT
./EFI/OEM/Boot/BCD
./EFI/OEM/Boot/BCD.LOG
./EFI/OEM/Boot/BCD.LOG1
./EFI/OEM/Boot/BCD.LOG2
...
./EFI/OEM/Boot/en-GB
./EFI/OEM/Boot/en-GB/bootmgfw.efi.mui
./EFI/OEM/Boot/en-GB/bootmgr.efi.mui
...
./EFI/ubuntu
./EFI/ubuntu/fw
./EFI/ubuntu/fwupx64.efi
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
./EFI/ubuntu/shimx64.efi
./EFI/ubuntu/MokManager.efi
./OEM
./OEM/AcerOA30.xml
./OEM/Factory
./OEM/Factory/AMIDEWINx64.exe
./OEM/Factory/AMIFLDRV64.sys
./OEM/Factory/CHK.bat
./OEM/Factory/CHK_DK.bat
./OEM/Factory/Delay-Diags.exe
...

나는 이 문제를 거의 해결하기 직전이라는 것을 알고 있습니다. 그러면 위의 제안 중 어떤 것이 효과가 있을 것 같습니까? Windows가 더 이상 부팅되지 않고 다시 시작해야 하는 상황에 빠지고 싶지 않습니다. 모든 것을 다시 설치하는 데 오랜 시간이 걸립니다.

일종의 성공.

내 BIOS가 최신 버전이 아니어서 업데이트했습니다.

또한 USB 부팅 디스크의 Boot-Repair를 사용하여 EFI 부팅 파티션을 복구했습니다(전혀 손상되었는지는 잘 모르겠습니다).

그런 다음 @fords 제안을 시도했습니다. w$ 내에서 bcdedit를 실행했습니다. 성공했습니다! Grub에는 다양한 선택 항목이 표시됩니다. Ubuntu가 기본값입니다.

종료 시 Ubuntu 부팅을 중지하는 업데이트를 적용하기로 결정한 Windows로 재부팅했을 때 이 모든 것이 사라졌습니다. (깊은 한숨)

내가 얻는 건 시도해 보라고 제안하는 몇 줄 뿐이야

sysctl reboot

또는

sysctl defaults

어느 쪽도 별로 하지 않았습니다.

Windows 업데이트가 Windows bcdedit 및/또는 Linux 부팅 복구를 취소했습니까? 그렇다면 Windows 업데이트로 인해 매일 큰 혼란이 발생하는 것을 방지하려면 어떻게 해야 합니까?

답변1

Windows 명령 프롬프트에서 기본 부트 로더를 Grub으로 설정해 보셨나요? Windows 10에서 실행하기 위해 Ubuntu를 설치할 때 그렇게 해야 했습니다.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

또한 보안 부팅을 끄는 것이 좋습니다. Windows는 이중 부팅과 관련하여 까다로운 짐승입니다.

답변2

Windows 10 Creator's Update 이후 Windows 로고를 마우스 오른쪽 버튼으로 클릭하면 명령 프롬프트(관리자) 대신 PowerShell(관리자) 옵션이 표시됩니다. PowerShell을 사용하여 bcdedit 편집을 시도했지만 엉망이었습니다. 따라서 수행 중인 작업을 알지 못하는 경우에는 bcdedit와 함께 PowerShell을 사용하지 마십시오.

해결 방법은 명령 프롬프트를 검색하여 관리자 모드에서 열고(마우스 오른쪽 버튼 클릭 -> 관리자 권한으로 열기) 위에서 이미 언급한 일반 명령을 사용하는 것입니다.

bcdedit /set {bootmgr} path "\EFI\ubuntu\shimx64.efi"

누군가 bcdedit에 PowerShell을 사용하는 방법을 알아낸 경우 여기에 게시해 주세요.

답변3

나는 모든 것을 되돌립니다 ... w$는 내 하루를 망치지 않았습니다 (놀랍게도). SSD 최적화를 위해 /etc/fstab을 편집하는 능력이 부족하여 Ubuntu로 부팅할 수 없었습니다. 세상 모든 것이 잘되고 있습니다.

내 경험이 누군가에게 도움이 되기를 바랍니다!

답변4

또 다른 해결책은 두 개의 EFI 파티션을 사용하는 것입니다. 하나는 Windows 전용이고 다른 하나는 Linux 및 기타 시스템용입니다. 두 번째 파티션에서는 EFI\Microsoft\Boot\ 경로를 생성하고 shimx64.efi를 이 경로 내의 bootmgrfw.efi에 복사하고 EFI\ubuntu\를 그대로 둡니다. ACER 노트북은 이 파티션의 shim을 Windows 부팅 관리자로 보고 여기에서도 부팅합니다. 이 파티션에 BCD 등이 아닌 bootmgrfw.efi만 있는 경우 os-prober는 grub.cfg에 이중 메뉴 항목을 생성하지 않고 첫 번째 원래 파티션의 Windows 부트로더만 인식합니다. 따라서 GRUB EFI를 부팅하고 올바른 Chaniload를 사용하여 우분투 또는 Windows를 다른 파티션으로 호출할 수 있습니다. 이 모드에서 Windows는 첫 번째 파티션에서 올바른 EFI 파티션 구조를 유지하며 업데이트 중에 두 번째 파티션의 가짜 bootmgrfw.efi(shim)를 덮어쓰면 안 됩니다. 저는 ACER 5750g를 작업 중입니다.

관련 정보