-1

安装了 3 个版本的 Ubuntu。一个系统有一个额外的修改内核(Xen Hypervisor)。但只有当我grub-update从修改后的版本运行时,修改后的内核才会显示在grub.cfg. 从任何其他版本运行,只有来自修改系统的 16.04 OS 的正常内核与其他两个未修改版本一起出现。

根据我的理论,grub-update 应该会影响 grub 的启动菜单。但事实并非如此。它对我来说是随机的,使用了所有 3 个操作系统中的 3 个 grub.cfg 之一。

那么它是怎样工作的?如何使用特定操作系统的配置?

4

1 回答 1

0

在多引导系统上创建一个告诉 grub 做什么的文件是不够的......

设置一个系统,使用 OS A 和 B,将有一个 grub 引导系统。grub 实例可能在 MBR 周围的某处被引用。您可能会说这个引用以某种方式指向特定操作系统中的配置文件。这可能是 A 或 B。如果您想从其他操作系统使用 grub,您应该grub-install从该系统运行命令。这个命令可能会做更多的事情,但它的作用是让这个MBR-Entry指向正在运行的系统的 grub 实例。

示例:根据 Xen,您应该从 Xen 主机运行此命令。到目前为止,我还没有找到使用两个 Xen 系统进行多重引导的解决方案。Grub 只能在运行 grub-install 的系统上找到 Xen 实例。Grub 应该也有可能找到其他 Xen 实例,但您可能需要修改默认文件/etc/grub.d/20_linux_xen

Sidenode:这也出现在 GPT/EVI 系统上。您可以在启动过程中使用相同的命令弯曲“grub-pointer”。有人知道它在幕后是如何工作的吗?

于 2017-10-19T15:28:18.723 回答