어떻게 든 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
/dev
grub-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-install
UEFI 부팅 변수는 GRUB에 대해 자동으로 생성되지만 efivarfs
가상 파일 시스템을 마운트 /sys/firmware/efi/efivars
하고 UEFI 모드에서 시스템을 부팅해야 합니다.
- 또는 루트를 변경하지 않고 ESP 파티션을 마운트하고 이를 사용하여
efibootmgr
부팅 옵션을 수동으로 다시 생성합니다. (/dev/sdX1
ESP 파티션이라고 가정)
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 부팅 변수를 다시 생성할 수 있습니다.