UEFI가 EFI 파티션을 인식하지 못함: 부팅 옵션 없음

UEFI가 EFI 파티션을 인식하지 못함: 부팅 옵션 없음

EFI 파티션을 망쳤고 이제 컴퓨터를 부팅하면 디스크가 지워진 것처럼 부팅 옵션 없이 BIOS 인터페이스가 열립니다. 그러나 라이브 USB(올바로 인식하고 부팅함)와 grub 명령줄을 사용하여 기본 운영 체제(Ubuntu)를 부팅할 수 있었습니다. 하지만 이 문제를 해결하는 방법을 모르겠습니다. grub-install /dev/sda를 실행해 보았지만 아무 것도 변경되지 않았습니다.

EFI 파티션은 완벽하게 괜찮아 보입니다. 올바른 플래그(esp, boot)가 있고 그 안에 올바른 파일이 모두 있습니다.

tree /boot/efi/
└── EFI
    ├── Boot
    │   └── bootx64.efi
    ├── Microsoft
    │   ├── Boot
    │   .....
    └── ubuntu
        ├── fbx64.efi
        ├── fw
        ├── fwupx64.efi
        ├── grub.cfg
        ├── grubx64.efi
        ├── mmx64.efi
        └── shimx64.efi

무엇을 확인해야 합니까? 내가 무엇을 놓치고 있나요?

이것은 내 파티션 테이블입니다.

parted /dev/sda print
Model: ATA Crucial_CT525MX3 (scsi)
Disk /dev/sda: 525GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  1612MB  1611MB  fat32        EFI System Partition          boot, esp
 2      1612MB  87.9GB  86.3GB  ext4         Ubuntu
 3      87.9GB  281GB   193GB   ext4         Home
 5      290GB   290GB   16.8MB               Microsoft reserved partition  msftres
 6      290GB   405GB   115GB   ntfs         Basic data partition          msftdata
 8      405GB   500GB   94.4GB  ntfs         Data                          msftdata
 9      500GB   525GB   25.3GB  ext4         Backup OS

답변1

인식을 시작하려면 Asus UEFI BIOS의 /EFI/my-custom-label/grubx64.efi이름을 바꿔야 했습니다 ./EFI/boot/bootx64.efi

이 문제는 Asus Maximus VII Impact(Z97 칩셋)에서 발생합니다. 내 친구도 Z87 기반 ASUS 마더보드에서 비슷한 문제에 직면했습니다.

답변2

이 문제를 일으킬 수 있는 또 다른 문제가 있는데, 최근에 이 문제가 발생했습니다.

이 문제를 감지하려면 Linux에서 라이브로 부팅하고 gdisk /dev/sd[whatever-your-disk-is](일반적으로 /dev/sda, /dev/sdb 또는 /dev/sdc)를 실행하세요.

p 명령을 실행하여 올바른 파티션 목록이 표시되는지 확인하십시오(그렇지 않으면 해당 디스크가 아닐 가능성이 높습니다).

그런 다음 v 명령을 입력하십시오. 다음과 같이 응답할 수 있습니다.

Warning: The 0xEE protective partition in the MBR is marked as active. This is
technically a violation of the GPT specification, and can cause some EFIs to
ignore the disk, but it is required to boot from a GPT disk on some BIOS-based
computers. You can clear this flag by creating a fresh protective MBR using
the 'n' option on the experts' menu.

이것이 응답인 경우 e, n, w 명령을 사용하십시오. 그런 다음 재부팅하면 EFI가 복원될 수 있습니다!

답변3

내 생각엔 EFI 시스템 변수가 올바른 부트로더를 가리키도록 설정되지 않은 것 같습니다. 확인하려는 프로그램 efibootmgr은 NVRAM에 저장된 모든 부팅 항목을 표시합니다.

이론적으로는 grub-install이 문제가 처리되어야 하지만 올바른 옵션을 전달하지 못할 수도 있습니다. 다음 예제 명령이 작동해야 합니다.

grub-install --target=x86_64-efi --efi-directory=ESP_MOUNT_PATH --bootloader-id=grub

ESP_MOUNT_PATHEFI 디렉터리로 경로를 변경합니다 .

그래도 문제가 해결되지 않으면 efibootmgr직접 사용해 볼 수 있습니다.

efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/ubuntu/grubx64.efi --label "GRUB"

일부 시스템에서는 /EFI/ubuntu/shimx64.efi.

답변4

또한 EFI로 부팅할 때 grub이 모든 파티션을 표시하지 않도록 하고 및 가 있는 모든 파티션을 표시할 수 있도록 --modules="part_gpt part_msdos"매개 변수를 추가했습니다 .grub-installlsls -l

관련 정보