私は新しい(非常に不都合な)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/efivars
efibootmgr / 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
!