「EFI変数はこのシステムではサポートされていません」

「EFI変数はこのシステムではサポートされていません」

私は新しい(非常に不都合な)HP Pavillion 15ノートブックにArch Linuxをインストールしようとしています。

これはUEFIベースのマシンです。数回の試みの終わりに、私はかなりの進歩を遂げました。システム設定では、レガシーモードが無効になっており、EFI経由で焼いたArch DVDから起動し、両方のArchから起動しました。初心者ガイドそしてより進化したインストールマニュアルgrubをインストールするポイントまで。

編集中にchroot以下を実行します。

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

これは、以下を含む多くの出力をエクスポートします。

このシステムはEFI変数をサポートしません

最初にこの時点に到達したとき、これが実際の問題であることを知らずにインストールを続けました。マシンを再起動すると、起動可能なメディアが見つからず、マシンが起動を拒否したことがわかりました。この時点で、UEFI設定メニューに移動して起動するEFIファイルを選択すると、Arch Linuxが起動します。

しかし、今私は上記の問題を解決するために戻って再インストールしています。

GRUBを正しくインストールするにはどうすればよいですか?

答え1

知っている、これは非常に古いスレッドですが、おそらく誰かに役立ちます。ほとんどのガイドでは、chrootの前に仮想ファイルシステムをマウントするために同じソリューションを使用することをお勧めします。

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

ただし、(おそらくefivars / efivarfsの変更に関連して)、このループは非常に特定のサブマウントポイントをスキップし、/sys/firmware/efi/efivarsefibootmgr / grubが失敗します。

そのため、代わりに次の行を使用してください。

for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done

実際のサクセスストーリー:4.14.9-1-ARCH(efivars)を使用したバインドマウント/sysを介してArch LinuxライブCD(単にuefiを起動できるため選択)によって保存されたDebian 4.9.0-5(efivars) /ファームウェア/efi/efivars

答え2

問題は簡単です。efivarfsカーネルモジュールがロードされません。

これは次のように確認できます。

sh-4.2# efivar-tester
UEFI variables are not supported on this machine.

chroot新しいインストールを開始する場合は、exit終了して次の機能を有効にしてくださいefivarfs

exit
modprobe efivarfs

efivarfs以前もそうだったefivarsので、エラーが返されたら試してみてくださいmodprobe efivars。)

...そしてchroot戻ってきてください。私の場合は、次のことを意味します。

chroot /mnt

しかし、以前と同じでなければなりませんchroot

もう一度入力してもう一度テストしてください。

efivar-tester

これにより、エラーは報告されなくなり、以前と同様にgrubをインストールできます。

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

答え3

UEFI メソッドの代わりにレガシーメソッドを使用して起動すると、このエラーが発生します。 BIOSメニューでUEFIブートオプションが選択されていること、またはUEFIがデフォルトのブート方法として選択されていることを確認する必要があります。

答え4

数回投げた後、ついに解決策を見つけました。私の場合、EFIシステムにpreempt-rtカーネル(5.6.19-rt11(パッチ))をカスタムコンパイルしてインストールしました。

見つかった問題は、preempt-rtカーネルがefiランタイムを有効にしなかったためにエラーが発生したことです。

解決策は簡単です。

efi=runtime/etc/default/grub設定にカーネルパラメータが追加されました。

GRUB_CMDLINE_LINUX_DEFAULT="efi=runtime quiet"

忘れないでくださいsudo update-grub2

関連情報