编辑:正如该线程中提到的那样,问题是引导过程有时希望以GRUB的环回功能无法实现的方式从环回设备挂载根文件系统。请注意,PC-BSD已重命名为TrueOS,并且它们现在提供USB映像。
我对BSD不太熟悉,在Arch的Multiboot USB驱动器文章中找不到关于BSD的任何信息,但是他们在GRUB文章中有3种方法,至少一种方法适用于环路安装设备:
链加载嵌入式启动记录
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
chainloader +1
}
这似乎很简单,并且加载适当的文件系统模块似乎是一个好主意,但请记住,在光学介质上有ISO 9660或UDF,据我所知除El Torito之外没有分区。
运行传统的BSD 2级装载机
menuentry 'FreeBSD' {
insmod ufs2
set root='(hd0,4)'
kfreebsd /boot/loader
}
这几乎就是您作为静态配置进行的操作,而无需调用搜索。
直接加载内核
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
## or 'hd0,msdos4,bsd1', if using an IBM-PC (MS-DOS) style partition table
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
set kFreeBSD.vfs.root.mountfrom.options=rw
}
这看起来异常复杂。我刚刚下载了PC-BSD 10.3 iso,希望它能花些时间来弄清楚如何在接下来的几天内通过UEFI或旧版使其工作。
ls
给open '/' failed: no such file or directory
。我想知道(显然)找不到根时加载程序如何工作?