Efibootmgr は HD パラメータにディスク GUID を追加しません

Efibootmgr は HD パラメータにディスク GUID を追加しません

qubes OS をインストールしようとしていますが、ほぼ完了しており、残っている問題は 1 つだけのようです。

まず背景を説明します。Windows と Ubuntu はどちらも、ある時点で UEFI モードで正常に起動しました。エントリは次のようになります。

Boot0001* ubuntu HD(1,GPT,0cb1782e-aa4f-4227-9f71-9cfc52abc53f,0x800, 0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* Windows Boot Manager HD(1,GPT,0cb1782e-aa4f-4227-9f71-9cfc52abc53f,0x800, 0xfa000)/File(\EFI\Microsoft\Boot\...)

これらのエントリは、それぞれのブートローダーが qubes のインストール中に行われた変更によってずっと前に上書きされているにもかかわらず、ブート メニューに表示されます。

インストール後、ブート オプションは表示されなくなりました。Qubes は、次のようなエントリを efi ブートローダーに追加しました。

Boot0003* Qubes HD(1,0,0000000000000...0000,0x0, 0x0)/File(\EFI\qubes\xen.efi)

この行により、BIOS は何か不正な形式であると認識し、ブート オプションからすべてのエントリを削除するようです。

ブートオプションを次のように強制的に元に戻すと:

efibootmgr -o 3,2,1

そして、ブートオーダーですべてが正常であることを確認します。

efibootmgr -v
BootOrder: 0003,0002,0001

ただし、再起動後にこれらのエントリは削除され、その後の efibootmgr -v によるリストにはエントリが表示されますが、それらはブート順序に含まれません。

質問はこちら

Qube のエントリを強制的に修正/変更して、正しいディスク GUID を設定するにはどうすればよいですか? ロードされた efibootmgr のバージョンが古いか、バグがあるのでしょうか? Ubuntu を起動して、その bootmgr を使用する必要があるのでしょうか (動作しているように見えるため)。または、他に何か問題があるのでしょうか。この方法では動作するのでしょうか?

また:

/etc/fstab にはディスク UUID が表示されていないようです。また、blkid /dev/nvme0n1 の出力は、Windows と Ubuntu の両方がエントリで使用した UUID と一致しません。

答え1

この問題を回避する方法を見つけました。私の推測は正しく、エントリが破損していたため、BIOS はすべてのエントリを削除するのが適切だと判断しました。

この場合の解決策は、組み込みの BIOS ツールを使用して uefi ブートローダーを検索することでした。

この記事では、組み込みツールを使用して、Dell BIOS (システムをインストールしたラップトップのブランド) に UEFI ブート オプションを追加する方法について説明します。

https://www.dell.com/support/article/us/en/04/SLN142679/how-to-enable-boot-from-dvd-option-with-uefi-boot-mode-enabled--windows-8--81--10-?lang=EN

今後の参考として、リンクが機能しなくなった場合は、次の場所からツールを見つけることができます。

設定 -> 一般 -> 起動シーケンス:

1. Select: Boot list options: UEFI [x] Legacy: []
2. Click: Add Boot option -> Browse disk to .EFI bootloader.=

関連情報