我第一块硬盘上安装了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
}