루트가 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)

관련 정보