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
- 소스 1: Arch Linux ISO로 SD 카드를 플래시했는데 ASUS UEFI가 이를 인식했습니다. EFI 파티션을 확인했는데 기본 Arch 부트로더는
/EFI/boot/bootx64.efi
. - 소스 2:https://forum.manjaro.org/t/bios-does-not-recognize-efi-system-as-boot-partition/24025/19
이 문제는 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_PATH
EFI 디렉터리로 경로를 변경합니다 .
그래도 문제가 해결되지 않으면 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-install
ls
ls -l