Grub Solaris FreeBSD 双启动

Grub Solaris FreeBSD 双启动

我第一块硬盘上安装了solaris 10,第二块硬盘上安装了freebsd

我将 solaris 中的 /boot/grub/menu.lst 编辑为以下内容

title FreeBSD
root (hd1,0)
kernel /boot/loader

现在,当我尝试通过 grub 启动 freebsd 时,出现以下错误

root (hd1,0)
Filesystem type unknown, partition type 0xee
kernel /boot/loader
Error 17: cannot mount selected partition

答案1

可能的失败原因及解决方法:

您可能指向了错误的分区。尝试打开 GRUB 提示符(在启动菜单中按 c),输入root (hd1,并按 tab。查看是否还有其他可用分区。

您使用的 GRUB 版本可能不支持 GPT。分区类型ee通常表示伪造的 MBR 分区表指示器,表示 GPT 分区表。更新到较新版本的 GRUB 或尝试以下可能偶尔有效的解决方法之一。

您使用的文件系统可能不受 GRUB 支持,或者您使用的 GRUB 版本不受支持。在这种情况下,将/boot/loader文件复制到 Solaris 分区并从那里加载它可能会是一个解决方案:

title FreeBSD
rootnoverify (hd1,0)
# The Solaris partition and directory where you have copied loader
kernel (hd0,0)/boot/loader

您也许能幸运地链式加载第二个磁盘的 MBR。尝试以下方法:

title FreeBSD
rootnoverify (hd1,0)
chainloader (hd1)+1

或者

title FreeBSD
rootnoverify (hd1,0)
chainloader (hd1,0)+1

请注意,您可以在 GRUB 控制台中尝试最后两个建议,同样通过在启动菜单中按 c 来调用,以避免必须编辑 menu.lst 并多次重新启动。您可能想知道 tab 补全是否有效,按两次 tab 会显示建议列表。在 GRUB 提示符下尝试命令时,请忽略该行title,并以尝试启动的命令结尾boot

答案2

使固定:

修改 /rpool/boot/grub/grub.cfg 文件并在 Solaris 11 菜单项下添加以下内容

菜单项“FreeBSD”{

设置根=(hd1,gpt2)

kfreebsd /boot/loader

}

相关内容