zfs root 上的 arch linux 无法在 bios 上配置 grub

zfs root 上的 arch linux 无法在 bios 上配置 grub

正如标题所示,我无法在 zfs 上安装 arch。我尝试在从 live cd chroot 到 /mnt 后在 /boot 上安装 grub。无论如何,这是我的命令和错误:

# nvim /etc/grub.d/40_custom
set timeout=5
set default=0

menuentry "Arch Linux" {
   search -u UUID
   linux /vmlinuz-linux zfs=rpool/ROOT/default rw
   initrd /initramfs-linux.img
}

然后我尝试通过以下方式制作我的 grub:

# ZPOOL_VDEV_NAME_PATH=1 grub-mkconfig -o /boot/grub/grub.cfg

我收到此错误:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
/usr/bin/grub-probe: error: unknown filesystem.
Found fallback initrd images(s) in /boot: initramfs-linux-fallback.img
done

如您所见,我收到一个未知的文件系统错误,但是当我运行时:

# grub-probe /

我明白了

zfs

因此,当我运行 grub-probe 时我会看到 zfs,但是当我运行 grub-mkconfig 时会出现未知的文件系统。

不确定您需要什么信息来帮助我找到这个问题...我已经在谷歌上搜索和破解这个问题两天了,我真的很感激得到一些帮助。

答案1

我不太确定 arch,但是我认为是这样的:

zfs=rpool/ROOT/default

应该:

root=ZFS=rpool/ROOT/default

您确定 grub 的 arch build 支持 zfs 吗?您是否确定 ZFS 池是在没有 grub 不支持的任何功能标志的情况下创建的?

在 EL7 上,ZFS 上的 /boot 相当简单,但在 EL8 上,各种可疑的 grub 配置更改使其变得不切实际,所以我放弃了它,只在 xfs 上为 /boot 设置了一个小的 mdraid 分区。它并不完美,但可以忍受。你可能必须在 arch 中做类似的事情。

相关内容