Linux from Scratch - このシステムでは EFI 変数はサポートされていません

Linux from Scratch - このシステムでは EFI 変数はサポートされていません

私が参考にしているのは Linux from Scratch 11.1、非 system-d エディションの本です。Kernotex という人のガイドに従いました。Windows マシンで LFS をデュアル ブートする方法についての彼のビデオに従いました。現在、第 10.4 章で、本に載っているコマンドとは異なるコマンドで grub を設定しています。エラーが表示されます。

実行したコマンド:grub-install --bootloader-id=LFS --recheck --debug & grub-log

詳細については、次のログを参照してください。https://pastebin.com/SVX0iW7x

ログを確認したくない人のための主なエラー:EFI variables are not supported on this system.

また、再起動する必要がある場合は、ガイドを見せていただくか、プロセス全体を通してお手伝いください。

編集: これは 8GB USB ドライブ上の Debian 11 Live システムで実行されています。

答え1

私もあなたと同じように、USB スティックを使用して chroot 環境内で grub-install を使用して Gentoo をインストールしていますが、同じエラーが発生しました。

(chroot) > grub-install --target=x86_64-efi --efi-directory=/boot
Installing for x86_64-efi platform.

EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: 
No such file or directory.

Gentoo ハンドブックのブートローダーの手順に従います。 https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader

解決策は、マニュアルの下のほうにありました:

一部のマザーボード製造元は、EFI システム パーティション (ESP) 内の .EFI ファイルの /efi/boot/ ディレクトリの場所のみをサポートしているようです。GRUB インストーラーは、オプションを使用してこの操作を自動的に実行できます--removable。次のコマンドを実行する前に、ESP がマウントされていることを確認してください。ESP が /boot にマウントされていると仮定して (前述のとおり)、次を実行します。

(chroot) > grub-install --target=x86_64-efi --efi-directory=/boot --removable
Installing for x86_64-efi platform.
Installation finished.  No error reported.

これでEFI not supported問題は解決しました。これは、エラーの原因が USB スティック、マザーボードの USB 用 UEFI 設定、およびそのようなサポートが存在しない場所で grub-install が実行しようとしていることに関係していることを示唆しています。

grub-installフラグ付きの USB スティックを使用していることを伝えると--removable、エラーが修正されるようです。

関連情報