リカバリモードでgrubインストールを実行するときにルートを変更する必要がありますか?

リカバリモードでgrubインストールを実行するときにルートを変更する必要がありますか?

理解のために知りたいです。リカバリCDでgrub-installを実行するときに--root-directoryまたは--boot-directoryまたは--efi-directoryを実行するためにとにかくgrub-installを使用できる場合、chrootの関連性は何ですか?または、次のいずれかを使用できますか?

答え1

私は間違っているかもしれませんが、以前のバージョンのgrub-installでは起動ディレクトリの指定を許可していないため、chrootは必要ありません。最新バージョンではchrootを使用したことがありません。

答え2

はい、これは必要です。

grubを更新するには、起動中にロードされたモジュール/boot/grubとgrubプログラム自体の実行モジュールの両方を(同じバージョンに)更新する必要があります/usr/lib/grub/

起動時にロードされたモジュールだけが起動ディレクトリの仕様で更新できますが、起動ディレクトリgrub-installのモジュールは更新できません/usr/lib/grub/

更新するには/usr/lib/grub/正しいファイルシステムをマウントする必要があり、chrootはそれに適切なアクセスを許可します。次に実行しますgrub-update


編集する

ペンドライブシステムを使用している場合(システムが起動しない)、および独自のバージョンのgrubと/usr/lib/grub/モジュールが付属していることを理解してください。 chroot が実行されない場合、これらのモジュールは chroot にコピーされます。これらのモジュールのバージョンは、MBR(またはUEFI)から起動されたグラブと同期していない可能性があります。/etc/grub.d/etc/default/grub/boot/grub

すべてのGrub部分を同期する唯一の安全な方法は、起動したいシステムにchrootすることです。

関連情報