私は奇妙な経験をしました。シナリオ:私はinitrd(実際にはinitramfs)で実行されているLinuxインストーラ(OpenSUSE 12.2ベース)を作成しており、ブートローダを更新しようとしています。新しくインストールされたファイルシステムのコピーが/ rootにインストールされます。
したがって、このコマンドを実行すると、次のような結果が出力されます。
+ echo 'Installing boot loader'
Installing boot loader
+ chroot /root bash -c '(ls -l /lib/modules/*/modules.dep; grub2-install /dev/sda)'
-rw-r--r-- 1 root root 45590 Apr 24 15:32 /lib/modules/3.4.47-default/modules.dep
modprobe: FATAL: Could not load /lib/modules/3.4.47-default/modules.dep: No such file or directory
エラーが複数回繰り返された後、「インストールが完了しました。報告されたエラーはありません」というメッセージが表示されます。
コマンドの前にこのコードを置くと:
mkdir -p /lib/modules/
ln -s ../../root/lib/modules/3.4.47-default/ /lib/modules
うまくいきます!
Installing boot loader
Installation finished. No error reported.
誰でもこれを説明できますか?
答え1
これはLinuxモジュールの自動ロードで、grub2-install
Linuxがモジュールをロードして実行できるように、さまざまな種類のファイルシステムをマウントしようとします。