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

関連情報