![三重启动替代 Grub](https://linux22.com/image/1084277/%E4%B8%89%E9%87%8D%E5%90%AF%E5%8A%A8%E6%9B%BF%E4%BB%A3%20Grub.png)
我正在三重启动 Ubuntu、Win 7 和 Arch。目前我正在使用 Ubuntu 安装的 grub。
我想通过安装 Arch 的 grub 来替换它。
我的问题是:Ubuntu 更新是否会破坏或取代 Grub,尤其是在安装内核更新时?还是会直接忽略 grub 安装?
我知道当 Ubuntu 有新内核时我需要从 Arch 更新 Grub。
答案1
我不认为 MBR 安装存在什么大问题。
您将使用 Arch 中的代码覆盖 MBR 中的 GRUB 代码,并加载 Arch 的代码grub.cfg
而不是 Ubuntu 的代码。理想情况下,两者都应位于/boot/grub/grub.cfg
各自的根分区中,以便每个操作系统都有自己的grub.cfg
可以独立维护的代码。要跳转到其他操作系统的配置,您可以将以下代码(用其他根文件系统的适当值替换848acb77-de99-4288-a62b-2bf9d7fbd643
和)包含到Arch 使用的任何机制中,然后运行负责更新 grub.cfg 的脚本(在 Ubuntu 中):hd0,gpt2
/etc/grub.d/40_custom
update-grub
menuentry 'Custom Title' {
search.fs_uuid 848acb77-de99-4288-a62b-2bf9d7fbd643 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}
当然,您不应该将 i386/ia32 等架构与 x64/amd64 或 x64/amd64 与 x64-efi/amd64-efi 混合使用。说到 EFI,使用 EFI 甚至更简单,因为每个引导加载程序都应该使用自己的目录,以免相互覆盖。
在 MBR 安装中,你应该确保只有一个系统能够更新 MBR,请参阅odfred 的回答如何做到这一点。但是,当您可以从一个配置跳转到另一个配置时,这应该不是什么大问题。