只是想了解以供理解。当您在从恢复 CD 执行 grub-install 时无论如何都可以使用 grub-install 执行 --root-directory 或 --boot-directory 或 --efi-directory 操作时,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,这些模块将被复制到其中。此类模块的版本可能与从 MBR(或 UEFI)引导的 grub 不同步。/etc/grub.d
/etc/default/grub
/boot/grub
使所有 grub 部分同步的唯一安全方法是 chroot 到要引导的系统。