grub:在 UEFI 模式下在非 GPT 磁盘上引导系统

grub:在 UEFI 模式下在非 GPT 磁盘上引导系统

我的系统上有两个驱动器:

/dev/sda 有一个 GPT 和一个 EFI 分区。它安装了 Debian 9 和 Windows 8.1。 Debian 使用 grub(grub2?)控制 MBR。

/dev/sdc 有一个 msdos 分区表。它有一个 CentOS 7 系统,由于 anaconda 中的错误,我被迫以旧版(即非 UEFI)模式安装。 CentOS 使用 grub2 控制该磁盘上的 MBR。

要启动 Debian 或 Windows,我必须处于 UEFI 模式。 debian 启动菜单出现,我可以从那里选择任一操作系统。

要启动 CentOS 7,我必须切换到传统模式并将 /dev/sdc 标记为启动驱动器。 CentOS启动菜单显示了Debian和Windows系统,但无法成功启动它们。

我希望能够从单个启动菜单启动所有系统,最好是在 UEFI 模式下,但没有足够的 grub-fu 来使其工作。

我尝试简单地将相关条目从 CentOS 的 grub.cfg 文件复制到 Debian 的。它出现在 Debian 的启动菜单上,但当我选择它时,系统会完全重新启动并将我带回启动菜单。

由于我计划删除 Debian,所以我希望使用 CentOS 的启动菜单(从 /dev/sdc 上的 /boot 分区),但如果我必须在 /dev/sda 上创建单独的启动分区,我可以接受。

从我的阅读看来,这可能就像在 CentOS 上运行 grub-install 命令并将其指定为 /dev/sda1 作为 EFI 分区的位置一样简单,但我见过的示例都没有涉及 GPT 和msdos 驱动器,所以我害怕破坏我的系统。

任何来自 grub 专家的帮助将不胜感激。

相关内容