Linux mint 19.2 및 Windows 10의 Grub/Bootmgr 문제

Linux mint 19.2 및 Windows 10의 Grub/Bootmgr 문제

저는 3년 동안 아무 문제 없이 노트북에서 Linux mint 19와 Windows 10을 이중 부팅해 왔습니다. 오늘 Linux에서 apt-get 업그레이드 명령을 실행했는데 grub, osprober 등의 인증 오류가 발생했습니다. grub/*를 지우고 grub-efi를 다시 설치하면 패키지 업그레이드 문제가 해결되었습니다. 하지만 Windows로 부팅한 후 다시 Linux로 부팅할 수 없습니다. (grub 화면이 나타나지 않고 노트북이 Windows로 직접 부팅됩니다.)

  1. 여러 포럼 제안을 바탕으로 나는 다음을 실행했습니다.

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

Windows cmd에 대한 관리자 권한이 있습니다. 이제 노트북을 다시 시작하면 "선택한 부팅 이미지가 인증되지 않았습니다." 오류가 발생합니다.

  1. BIOS에서 일반 부팅을 활성화했습니다. 그러면 우분투 백업이 활성화됩니다(grub 화면 없이). 우분투 터미널에서 sudo update-grub을 실행했는데 터미널 디스플레이에 grub이 Windows 부팅 관리자 이미지를 찾을 수 있는 것으로 나타났습니다. 이번에 재부팅했더니 그럽 화면이 나오던데, 거기엔 윈도우 옵션이 없었습니다.

  2. 우분투로 부팅하고 "Windows EFI 파일 백업 및 이름 바꾸기" 옵션을 사용하여 부팅 복구를 실행했습니다. 모든 변경 사항을 적용한 후 Windows 옵션이 grub 화면에 표시되지만 Enter 키를 누르면 grub 화면으로 돌아갑니다. BIOS(시스템 복구)에서 F11을 선택하면 다시 grub으로 돌아왔습니다.여기서는 같은 문제가 있는 다른 게시물을 찾지 못했습니다.이 단계는 레거시 모드에서도 수행됩니다. 이전 모드를 끄면 이미지 인증 오류가 발생하고 여전히 아무 것도 시작할 수 없습니다. 붙여넣기 상자는 여기에 있습니다:http://paste.ubuntu.com/p/96jHFRfYBF

어떤 조언이라도 대단히 감사하겠습니다. 현재 저는 Windows 시스템을 복원하기 위해 무엇이든 할 의향이 있습니다(Linux 파일 시스템이 더 체계화되어 있고 2단계에서 모든 것을 백업할 수 있었기 때문에 Linux Mint 시스템을 삭제하는 것도 포함).

답변1

하지만 Windows로 부팅한 후 다시 Linux로 부팅할 수 없습니다. (grub 화면이 나타나지 않고 노트북이 Windows로 직접 부팅됩니다.)

이는 Windows 10이 시스템에 존재할 수 있는 다른 운영 체제에 관계없이 UEFI NVRAM 부팅 항목이 변조되었음을 감지하고 "자가 복구"하는 것일 가능성이 높습니다. 이것은 Windows 10에서 수행할 작업이며 제가 아는 한 이 문제를 해결할 방법은 없습니다.

UEFI NVRAM 부팅 항목의 현재 상태는 Pastebin의 부팅 복구 출력에서 ​​볼 수 있습니다.

===================================== UEFI =====================================

BIOS is EFI-compatible, and is setup in EFI-mode for this installed-session.
SecureBoot disabled.

efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0000,0001,0003,9999
Boot0000* Windows Boot Manager  HD(1,GPT,afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff)/File(\EFI\ubuntu\grubx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Boot0001* ubuntu    HD(1,GPT,afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff)/File(\EFI\ubuntu\grubx64.efi)
Boot0003* Internal Hard Disk    PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,32768,0)/HD(1,GPT,afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff)..BO
Boot9999* USB Drive (UEFI)  PciRoot(0x0)/Pci(0x1d,0x0)/USB(16,0)..BO

Boot0000 항목은 현재 BootOrder의 첫 번째 항목이며 읽을 수 있는 이름은 "Windows Boot Manager"이지만 실행하는 실제 부팅 파일은 \EFI\ubuntu\grubx64.efi.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi이는 실제로 명령이 Windows에 수행하도록 지시하는 것이므로 귀하의 문제로 인해 발생할 수 있습니다 .

\EFI\Microsoft\boot\bootmgfw.efiWindows 10은 시작 시 자동으로 이를 표준으로 다시 변경하고 이 Boot0000항목이 first 로 지정되므로 BootOrderWindows의 "자가 복구"는 부팅하자마자 시스템을 Windows로 바로 드롭합니다.

당신이 할 수 있는 일은 Boot0001Ubuntu()의 부팅 항목이 첫 번째가 되도록 부팅 순서를 변경하는 것입니다. Windows는 항목이 수정되지 않는 한 Boot0000이를 변경하는 것을 꺼려하는 것 같습니다 . 다음과 같은 다양한 방법으로 이 작업을 수행할 수 있습니다.

ubuntua.) BIOS 부팅 순서 설정에 액세스하고 부팅 순서에서 첫 번째로 표시된 항목을 이동합니다 .

b.) Windows 관리자 권한 명령 프롬프트에서 다음을 실행하고 bcdedit /enum FIRMWARE설정된 부팅 항목을 찾아 기록해 둡니다. 이는 중괄호 안의 긴 UUID 문자열입니다. 그런 다음 실행하십시오.descriptionubuntuidentifierbcdedit /set {fwbootmgr} DEFAULT {UUID of the ubuntu entry}노트:중요한 것은 여기서 {fwbootmgr}가 아니라 사용하는 것입니다 {bootmgr}.

c.) Linux에서는 다음을 사용하여 부팅 순서를 재정의할 수 있습니다.

sudo efibootmgr --bootorder 0001,0000,0003,9999

이렇게 하면 ubuntu부팅 순서에서 항목을 먼저 배치한 다음 Windows Boot Manager현재 항목과 동일한 순서로 다른 기존 항목을 배치해야 합니다.

하지만 계속 읽어주세요...


또한 Pastebin에서는 Boot Repair가 이 작업을 성공적으로 수행했음을 나타냅니다.

mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

즉, Windows를 bootmgfw.efi옆으로 옮기고 UEFI GRUB 복사본으로 교체합니다. 때로는 UEFI 펌웨어 오류 문제를 해결하는 데 필요한 경우도 있지만 이전에는 시스템이 작동했으므로 귀하의 경우에는 이 작업이 필요하지 않을 수도 있습니다. 이 작업을 실행취소해야 합니다. 민트에서는 그렇게 sudo cp /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi해야 합니다.

혹은 윈도우에 들어가면 bootmgfw.efi사용자에게 알려주지도 않고 "자가 치유"라는 이름으로 즉시 윈도우 버전으로 교체해 줄 수도 있다.


BIOS 설정이 당신을 속이는 것 같습니다. "레거시 모드"는 "MBR 또는 UEFI와 비슷해 보이지만 UEFI가 선호되는 것 같습니다".

레거시 모드를 끄면 이미지 인증 오류가 발생함

이는 "레거시 모드 끄기"도 자동으로 보안 부팅을 활성화한다는 의미입니다.

이제 Windows는 bootmgfw.efiWindows 복사본으로 교체되었으며 grubx64.efi그렇지 않은 펌웨어에 의해 직접 로드되고 있으므로 shimx64.efiSecure Boot 확인이 실패할 것으로 예상됩니다... 그리고 "이미지 인증 오류"가 나타나는 것 같습니다.

ubuntu따라서 시작 항목이 shimx64.efi보안 부팅 규격을 사용 하도록 하려면 sudo efibootmgr -b 0001 -l \\EFI\\ubuntu\\shimx64.efi보안 부팅이 사용되지 않는 경우 동일한 디렉터리에서 shimx64.efi직접 실행되므로 grubx64.efi보안 부팅이 적용되지 않더라도 이로 인해 피해가 발생하지 않습니다.

Windows 측에서 이 작업을 수행하는 것은 약간 까다롭습니다. 다시 bcdedit /enum FIRMWARE항목의 UUID를 식별한 ubuntu후 다음을 사용합니다.

bcdedit /set {UUID of the ubuntu entry} path \EFI\ubuntu\shimx64.efi

관련 정보