grub2-installがchroot刑務所を脱出できるのはなぜですか?

grub2-installがchroot刑務所を脱出できるのはなぜですか?

私は奇妙な経験をしました。シナリオ:私は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-installLinuxがモジュールをロードして実行できるように、さまざまな種類のファイルシステムをマウントしようとします。

関連情報