在恢复模式下进行 grub 安装时是否需要 chroot?

在恢复模式下进行 grub 安装时是否需要 chroot?

只是想了解以供理解。当您在从恢复 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 到要引导的系统。

相关内容