UEFI 부팅 옵션을 수정하는 방법

UEFI 부팅 옵션을 수정하는 방법

어떻게 든 BIOS에서 모든 부팅 옵션을 제거했습니다 (아마도 슈퍼 그럽 디스크를 사용하는 것으로 인해 발생했을 수 있음). grub을 복구하기 위해 boot-repair live-usb를 사용하려고했습니다. 권장 수정 사항을 수행하고 재부팅한 후에도 여전히 BIOS에 부팅 옵션이 없으며 부팅할 때마다 BIOS 설정 화면으로 이동됩니다.

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

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

답변1

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

바이오스나 UEFI 문제는 아닙니다. 또한 efi 시스템 파티션을 지우고 Windows 10을 다시 설치해 보았습니다. 그러나 이것은 도움이 되지 않습니다.

답변2

유일한 문제가 UEFI NVRAM 부팅 옵션인 경우(시작 변수)가 사라지고 다음과 같은 몇 가지 옵션이 표시됩니다.

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

  • 운영 체제의 루트 파일 시스템을 마운트하고, mount 한 다음 /proc, 파일 시스템에 chroot하고, ESP 파티션을 마운트하고 실행합니다 ( 운영 체제 설치의 루트 파일 시스템이라고 가정)./sys/devgrub-install/dev/sdX
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-installUEFI 부팅 변수는 GRUB에 대해 자동으로 생성되지만 efivarfs가상 파일 시스템을 마운트 /sys/firmware/efi/efivars하고 UEFI 모드에서 시스템을 부팅해야 합니다.

  • 또는 루트를 변경하지 않고 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
  • 보안 부팅이 활성화되어 있고 운영 체제에 보안 부팅 심이 설치되어 있는 경우 특별한 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 운영 체제용 표준 UEFI 부팅 변수를 다시 생성할 수 있습니다.

관련 정보