web-dev-qa-db-ja.com

Arch Linuxをインストールし、 `modprobeefivars`で問題を解決する

Linuxを新しいVaioProにインストールしようとしていますが、それ自体が冒険です。 UEFIでArchLinuxをインストールしようとしています。私はこのチュートリアルに従っています(ただし、新しい2013.11 Arch Linuxインストールメディアを使用しています)。

問題は、modprobe -r efivarsまたはmodprobe efivarsを実行しようとすると、次のように表示されます。

致命的:モジュールefivarが見つかりません。

私はインターネットのどこにもこれに対する解決策を見つけることができません。 modprobe efivarfsを実行してもエラーは表示されませんが、Grubをインストールしようとすると、次のように表示されます。

6
user275941

UEFIシステムにArchlinuxをインストールするためのチュートリアルには少し不具合がありますが、次のようなこの特定のハングの問題を乗り越えることができます。

ターゲットシステムのchroot内からそのmodprobeコマンドを実行しようとした可能性があります。それではどこにも行きません。ホストシステムのカーネルにロードされた機能が必要です。実際、2013.11インストールメディアでの私の経験では、モジュールをロードする必要はまったくありません。すでにロードされています。問題は、使用するsysfsディレクトリにchroot内からアクセスできないことです。そのため、修正する必要がある問題です。

  1. 端末をchrootに対して開いたままにしますが、新しいコンソールに切り替えます(Alt+F2

  2. /sys/firmware/efi/efivarsディレクトリが存在することを確認します。そうでない場合は、modprobe efivarsですが、そうなると思います。

  3. ディレクトリをchootにバインドマウントします(/mntを使用していない場合は調整してください)

    mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
    
  4. 最初の端末に切り替えます(Alt+F1)そして次のコマンドを再試行してください。インストールプロセスのどこにいるかにもよりますが、次の動きはおそらく次のようになります(chroot内の/boot/efiにFAT32フォーマットのBIOSパーティションがマウントされていると仮定します)

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck
    grub-mkconfig -o /boot/grub/grub.cfg
    

何らかの理由で、マウントするディレクトリが存在しないなどの手順3で問題が発生した場合は、手順1を適切に実行していません。 Arch-chrootコマンドを使用してターゲットシステムファイルスペースを初期化し、その後、別のコンソールを使用してバインドマウントを実行することが重要です。その理由は、他のいくつかのバインドマウントのArch-chrootスクリプトセットが/procおよび/sysのマウントを含むため、efi-varsにないものを追加する前に配置する必要があるためです。 。上記の手順では、これを具体的に行うために2番目のコンソールを開いて、これを追加するときに他のバインドマウントが失われないようにします。

6
Caleb