如何确定 grub 2 中扩展分区的分区号

如何确定 grub 2 中扩展分区的分区号

我目前正在尝试将 haiku 作为 Windows XP 和 lubuntu 的三重启动的一部分进行启动。我使用 lubuntu 的 grub2 作为我的引导程序,因为 ntldr 只适用于 XP,而 haiku 的引导程序似乎只有在格式化整个磁盘时才能工作。

对于一些不可思议原因是我有一个主分区(windows)和 4 个逻辑分区(lubuntu 16.04、swap、haiku、spare)。我还运行了一个版本的 haiku包管理所以grub 需要手动设置

我可以在主分区上执行此操作 - 它的正确名称是什么?线索可能是 lubuntu 中的磁盘工具从 5 开始逻辑分区,而 haiku 是 sda7/filesystem 分区 7 hd(0,7) 不起作用。

在此处输入图片描述

我目前已etc/grub.d/40_custom设置

menuentry "Haiku" {
set root=(hd0,7)
chainloader +1
}

添加到默认值。

答案1

GRUB2 的命名约定在手册中有描述:https://www.gnu.org/software/grub/manual/html_node/Naming-convention.html

手册中的相关示例是:

(hd0,msdos5)

这指定了第一个硬盘驱动器的第一个扩展分区。请注意,扩展分区的分区号从“5”开始计算,而不管硬盘上实际的主分区数是多少。

因此,在这种情况下,您可能想要的是(hd0,msdos7)

您目前似乎正在使用旧的(grub-legacy)格式,如其手册中所述:https://www.gnu.org/software/grub/manual/legacy/grub.html#Naming-convention-- 据我所知,这在 grub2 上不起作用。如果您实际上使用 grub-legacy,请注意那里的分区从 0 开始,因此分区索引应该比 grub2 版本低一个,例如(hd0,6)在您的情况下。

相关内容