UEFI 부팅 옵션을 복구하는 방법

UEFI 부팅 옵션을 복구하는 방법

어떻게든 BIOS에서 모든 부팅 옵션을 지웠습니다(슈퍼 그럽 디스크를 사용한 일부 작업으로 인해 발생한 것일 수 있음). boot-repair live-usb를 사용하여 grub을 수정하려고했습니다. 권장 수리 및 재부팅을 수행한 후에도 여전히 BIOS에 부팅 옵션이 없으며 부팅할 때마다 BIOS 설정 화면으로 이동합니다.

내 설정에 대한 전체 정보는 다음과 같습니다.여기.

전체 이야기는 Windows를 부팅할 수 없다는 사실을 발견했을 때 시작되었습니다(BCD 손상 오류). 그런 다음 그것이 grub 문제라고 생각하여 Linux에서 부팅 복구를 사용하고 권장 복구를 수행했습니다. 그러다가 내 Linux에도 들어갈 수 없고 grub> 프롬프트만 남았다는 것을 알았습니다. 그래서 super-grub disk와 super-grub2 disk를 라이브로 사용해보았습니다. 그런 다음 기본적으로 bios/uefi에서 모든 부팅 옵션을 지웠다는 것을 알았습니다. 이제 새 설치로 grub을 수정할 수 있기를 바라면서 또 다른 Linux(kubuntu)를 설치했지만 그렇지 않았습니다. 그래서 마침내 boot-repair live usb를 시도하고 권장되는 복구를 수행했지만 여전히 운이 없었습니다. 이 문제를 해결하는 방법을 아시나요?

답변1

결국 gdisk로 해결했습니다. 어느 것이 중요한 단계인지는 모르겠지만 uefi 헤더와 파티션 테이블을 백업하고 복원한 후 재부팅 시 Linux가 디스크 수정을 시도한 다음 efi 시스템 파티션을 마운트하지 못합니다. 이 단계에서 복구 명령줄에서 gdisk를 실행하면 efi 시스템 파티션과 관련된 잘못된 "활성" 플래그가 자동으로 검색됩니다. 플래그를 수정하면 문제가 해결됩니다.

바이오스나 uefi에는 문제가 없습니다. 또한 efi 시스템 파티션을 지우고 Windows 10을 다시 설치해 보았지만 도움이 되지 않았습니다.

답변2

유일한 문제가 UEFI NVRAM 부팅 옵션(부팅 변수)이 사라지면 다음과 같은 몇 가지 옵션이 제공됩니다.

UEFI 모드에서 외부 미디어로 부팅할 수 있는 경우:

  • OS의 루트 파일 시스템을 마운트하고 mount /proc/sys다음 /dev해당 파일 시스템으로 chroot하고 ESP 파티션을 마운트하고 실행합니다 grub-install( /dev/sdXOS 설치의 루트 파일 시스템이라고 가정).
mount /dev/sdX /mnt
mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash
mount /boot/efi
grub-install /dev/sdX

grub-installGRUB용 UEFI 부팅 변수가 자동으로 생성되지만 efivarfs가상 파일 시스템이 마운트되어 /sys/firmware/efi/efivars있고 시스템이 UEFI 모드로 부팅되어 있어야 합니다.

  • 또는 chrooting 없이 ESP 파티션을 마운트하고 efibootmgr부팅 옵션을 수동으로 다시 만드는 데 사용합니다. ( /dev/sdX1ESP 파티션이라고 가정)
mount /dev/sdX1 /boot/efi

ls /boot/efi/EFI # there should be a directory for each OS/distribution

efibootmgr -c -d /dev/sdX1 -L "Any label you want" -l \\EFI\\<distro name>\\shimx64.efi  
# or ...\\grubx64.efi if Secure Boot disabled
  • 보안 부팅이 활성화되어 있고 OS 설치에 보안 부팅 심이 설치되어 있는 경우 특별한 grub-install옵션이 있을 수 있습니다. 첫 번째 옵션에서와 같이 Chroot를 실행한 후 다음을 실행하세요.
grub-install --uefi-secure-boot /dev/sdX

외부 미디어가 레거시 BIOS 모드에서만 부팅할 수 있는 경우:

  • 위의 첫 번째 옵션과 같이 Chroot를 사용하되 다음 grub-install줄을 사용하세요.
grub-install --target=x86_64-efi --force-extra-removable /dev/sdX

레거시 모드에서는 UEFI 부팅 변수에 액세스할 수 없다는 오류 메시지가 나타날 수 있지만 지금은 무시해도 됩니다.

[ESP mount path]/EFI/boot/bootx64.efi이렇게 하면 펌웨어가 UEFI 대체/이동식 미디어 부트로더를 찾을 것으로 예상되는 위치인 GRUB의 두 번째 복사본을 설치합니다 . 그런 다음 펌웨어는 ESP 파티션을 "UEFI 모드에서 부팅 가능"으로 감지해야 하며 BIOS 부팅 메뉴를 사용하여 부팅하도록 선택할 수 있어야 합니다. 이제 (외부 부팅 미디어를 제거한 후) UEFI 부팅 가능 디스크만 있으므로 가장 선호하는 레거시 UEFI 펌웨어도 이제 UEFI 모드에서 부팅되어야 합니다.

시스템이 UEFI 모드로 부팅된 후 grub-install /dev/sdX다시 실행하여 Linux OS용 표준 UEFI 부팅 변수를 다시 생성할 수 있습니다.

관련 정보