
처음에는 모든 것이 괜찮았습니다. 내 SSD에는 2개의 EFI 파티션이 있으며 일반적으로 Linux를 기본값으로 유지하면서 f12 키를 사용하여 OS 간에 전환합니다. 하지만 NVRAM을 지운 후 Windows 부팅 관리자는 있지만 Linux EFI는 사라졌습니다. 부팅 메뉴에 다시 추가하는 방법은 무엇입니까?
답변1
Windows 부팅 관리자도 사라진 것 같지만 UEFI 펌웨어에 자동으로 다시 추가하는 코드가 포함되어 있거나 Windows가 먼저 대체 UEFI 부트로더 경로( \EFI\boot\bootx64.efi
)를 사용하여 부팅하고 적절한 NVRAM 부팅 변수를 완전히 자동화된 " 자가 치유" 작업을 수행합니다.
이는 부팅 가능한 Linux 라이브 부팅 미디어를 사용하여 해결하는 것이 가장 쉽습니다.UEFI 기본 모드. 그러면 명령을 사용할 수 있습니다 efibootmgr
.
라이브 미디어에서 Linux를 부팅한 후 먼저 Linux 설치의 EFI 시스템 파티션(ESP)을 Linux 배포판(일반적 /boot/efi
으로 일부 배포판에서는 /boot
)의 일반적인 위치에 마운트해야 합니다. 그런 다음 UEFI 부트로더 디렉터리와 및/또는 해당 디렉터리에서 /boot/efi/EFI/<name of your Linux distribution>/
같은 파일을 찾아야 합니다 . 다른 파일도 있을 수 있습니다.shimx64.efi
bootx64.efi
부트로더 디렉토리에 가 포함된 경우 다음 단계에서 shimx64.efi
이를 사용하십시오 . <bootloader file>
그렇지 않은 경우 grubx64.efi
존재하는 경우 사용하십시오.
Linux ESP가 디스크에 있다고 가정하면 펌웨어 메뉴에 대한 부팅 항목을 다시 생성하는 명령은 다음과 같습니다 /dev/sda
.efibootmgr
efibootmgr -c -d /dev/sda -l \\EFI\\<name of your distribution>\\<bootloader file> -L "<the name you want to see in the firmware menu>"
동일한 디스크에 ESP가 여러 개 있으므로 디스크만 지정하는 대신 올바른 ESP 장치 이름을 지정해야 할 수도 있습니다(즉, -d /dev/sda5
just 대신 같은 이름 -d /dev/sda
).
그런 다음 efibootmgr -v
부팅 설정을 보려면 사용하십시오. 를 사용 efibootmgr --bootorder
하여 부팅 순서를 조정하여 Linux를 기본값으로 설정하거나 BIOS 설정을 방문하여 동일한 작업을 수행 해야 할 수도 있습니다 (일부 UEFI 펌웨어는 을 사용하여 수행한 부팅 순서 변경을 거부할 수 있습니다 efibootmgr --bootorder
. 이는 아마도 펌웨어 버그일 수 있습니다).
NVRAM이 재설정될 때마다 Linux를 "생존 OS"로 만들려면 --force-extra-removable
OS가 성공적으로 부팅된 후 다음과 같은 명령을 사용하여 옵션을 사용하여 UEFI GRUB를 다시 설치할 수 있습니다.
sudo grub-install --force-extra-removable --uefi-secure-boot /dev/sda
(시스템에서 보안 부팅이 비활성화되어 있고 이를 비활성화된 상태로 유지하려는 경우 --uefi-secure-boot
원하는 경우 옵션을 생략할 수 있습니다.)