Zfs

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

  • November 29, 2021

正如標題所示,我無法跨越在 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 時得到了未知的文件系統。

不知道你需要什麼資訊來幫助我追踪這個……現在已經在Google上搜尋和黑客攻擊了 2 天,我真的很感謝在這個方面提供一些幫助。

我不確定拱門,但我認為:

zfs=rpool/ROOT/default

應該:

root=ZFS=rpool/ROOT/default

你確定 grub 的 arch 版本支持 zfs 嗎?您是否確保在創建 ZFS 池時沒有任何 grub 不支持的功能標誌?

在 ZFS 上的 EL7 /boot 上很容易,但在 EL8 上,各種有問題的 grub 配置更改使其不切實際,所以我放棄了,只在 xfs 上為 /boot 設置了一個小的 mdraid 分區。它並不完美,但很適合居住。您可能必須在拱門中做類似的事情。

引用自:https://serverfault.com/questions/1019265