要清楚我想要的是一个 FreeBSD GRUB2 条目,它在带有 BIOS 固件(不是 UEFI)的 ZFS(名称:zroot)上引导 FreeBSD。如果有帮助,安装 GRUB 的操作系统是 Arch Linux,Arch 使用 ext4 root,FreeBSD 使用 ZFS。
我的分区表是(GPT):
/dev/sda1 - BIOS boot (1M)
/dev/sda2 - Linux swap (4G)
/dev/sda3 - Linux filesystem (ext4, 50G)
/dev/sda4 - FreeBSD boot (128k)
/dev/sda5 - FreeBSD ZFS filesystem (74G)
我已经看到了这个答案,但它与 UFS 根目录上的 FreeBSD 相关,而且我还看到了与 ZFS 上的 Arch Linux 相关的答案,而不是 ZFS 上的 FreeBSD。
我试过使用这个条目:
menuentry "FreeBSD" --class freebsd --class bsd --class os {
insmod zfs
insmod bsd
set root=(hd0,4)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom="zfs:zroot"
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
但我收到了这个错误:
使用 FreeBSD 的引导加载程序(遗憾的是,我通过将 GRUB 安装到我的磁盘来覆盖它,尽管恢复它很简单)我设法引导我的 FreeBSD 安装,所以它没有任何问题。我安装了 FreeBSD 并按照我在此目录中放置的内容将其设置为启动:https ://github.com/fusion809/freebsd-scripts/tree/master/zfs-manual-install 。
没关系,感谢FreeBSD 论坛,我找到了答案。这是我在 grub.cfg 中需要的:
需要说明的是,我已经成功尝试过了,我什至尝试编写一个文件并重新启动以检查它不只是只读的,并且该文件仍然存在并且没有以任何方式被重新启动更改(甚至它的权限都不是)。