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


3

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

对于一些 不可思议 因为我有一个主分区(窗口)和4个逻辑分区(lubuntu 16.04,交换,ha句,备用)。我还运行了一个版本的ha句 包管理 所以 grub需要手动设置

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

enter image description here

我现在定了 etc/grub.d/40_custom

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

添加到默认值。

Answers:


3

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) 在你的情况下。


我不知道你在哪里 (hd0,7) 尝试 - 如果你从不同的GRUB安装中取出它,那么它可能是grub-legacy。
Bob

猜测基于SDxN + ha句文档。 (hd0,2)在这个版本的前一个版本中使用了2个主分区,所以我 依稀 知道语法是正确的 - msdos位是我失踪的秘诀
Journeyman Geek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.