ルートがZFSにある場合は、btrfs /bootにGrubをインストールします。

ルートがZFSにある場合は、btrfs /bootにGrubをインストールします。

Grubを使用してLinuxシステムを起動したいです。システムのルートファイルシステムはZFSデータセットにあり、一般的なEFIブートパーティションがあります/boot。記入:/boot/boot/efiupdate-grub

Found linux image: vmlinux-5.15.0-101-generic in rpool/UBUNTU
Found initrd image: initrd.img-5.15.0-101-generic in rpool/UBUNTU
/usr/sbin/grub-probe: error: unknown filesystem.

私はGrubがZFSを完全にサポートしていないことを知っていますが、これが私がこの追加のbtrfsパーティションを持っている理由です/boot! ZFSエントリがここでブートに影響を与える理由は何か混乱しています。私はGrubがZFSからinitrdをロード/bootし、Linux自体が残りのプロセスを処理すると思いました。

何が間違っているのか、どうすれば修正できますか?

追加するには編集してください。update-grub:これで、実際にLinux用にGrubエントリが作成されましたが、動作しないことを確認しました。問題を解決する方法はわかりませんが、これは問題を追跡するのに非常に関連する情報かもしれません。

問題は、生成されたファイルに次の項目が含まれていることです/boot/grub/grub.cfg

menuentry 'Ubuntu 22.04 LTS' --class ubuntu --class gnu-linux --class gnu --class os ${menuentry_id_option} 'gnulinux-rpool/UBUNTU-5.15.0-101-generic' {
        recordfail
        load_video
        gfxmode ${linux_gfx_mode}
        insmod gzio
        if [ "${grub_platform}" = xen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        linux   "/UBUNTU@/boot/vmlinuz-5.15.0-101-generic" root=ZFS="rpool/UBUNTU" ro quiet splash ${vt_handoff}
        initrd  "/UBUNTU@/boot/initrd.img-5.15.0-101-generic"
}

パラメータはにroot正しく設定されていますが、代わりにおよびで誤って開始されます。root=ZFS=rpool/UBUNTUlinuxinitrd/UBUNTU@/boot(hd0,3)

関連情報