LUKS 암호화된 ZFS 루트에 Arch를 설치하는 중 오류 발생: "/sbin/init가 존재하지 않습니다."

LUKS 암호화된 ZFS 루트에 Arch를 설치하는 중 오류 발생: "/sbin/init가 존재하지 않습니다."

나는 가지고있다거의ZFS 루트를 사용하여 LUKS 암호화 디스크에 Arch Linux를 성공적으로 설치했습니다.

LUKS 볼륨을 해독하기 위한 암호 프롬프트를 받을 수 있지만 ZFS 풀에서 설치된 시스템을 로드하는 다음 단계가 작동하지 않습니다.

암호 해독 직후 다음 오류가 발생합니다.

Starting version 246.6-1-arch 

A password is required to access the archcrypt1 volume: 
Enter passphrase for /dev/disk/by-id/ata-Samsung_etc_etc_etc: 
ERROR: device ' ZFS=zroot/ROOT/default' not found. Skipping fsck.
no pools available to import 
ERROR: Root device mounted successfully, but /sbin/init does not exist. 
Bailing out, you are on your own. Good luck.

sh: can't access tty: Job control turned off 
[rootfs ]#   

어떤 제안이 있으십니까? 결승선이 코앞으로 다가온 것 같은 느낌!

추가 정보:

헤더/GRUB가 USB 스틱에 있습니다.

  • /dev/sda

    내장 SSD

    • LUKS 컨테이너아치 구멍
      • 치치즈겐(설치된 아치 시스템 포함)
  • /dev/sdb

    USB 드라이브

    • /dev/sdb1

      1M BIOS 부팅

    • /dev/sdb2

      GRUB를 사용한 512MB 부팅, 헤더

    • /dev/sdb3

      사용 가능한 공간

/etc/mkinitcpio.conf

...
FILES=(/boot/header.img)
...
HOOKS=(base systemd autodetect keyboard keymap sd-vconsole modconf block sd-encrypt sd-lvm2 zfs filesystems fsck)

/etc/crypttab.initramfs

archcrypt1  /dev/disk/by-id/ata-Samsung_etc_etc_etc none    header=/boot/header.img

grub.cfg

...

menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-dbafe9793fadcd06' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd4,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275/(null)/sas/disk@0,gpt2' --hint-bios=hd4,gpt2 --hint-efi=hd4,gpt2 --hint-baremetal=ahci4,gpt2  12345abcd-usb-stick-uuid-dcba54321
    else
      search --no-floppy --fs-uuid --set=root 12345abcd-usb-stick-uuid-dcba54321
    fi
    echo    'Loading Linux linux ...'
    linux   /vmlinuz-linux cryptdevice=/dev/disk/by-id/ata-Samsung_etc_etc_etc:archcrypt1:header root=ZFS=zroot/ROOT/default rw loglevel=3 quiet
    echo    'Loading initial ramdisk ...'
    initrd  /initramfs-linux.img
}

...

업데이트 #1:

다음 zfs=zroot/ROOT/default대신 다음 을 사용하세요 .root=ZFS=zroot/ROOT/default아치 리눅스 위키결과는정밀한위와 동일한 오류가 발생합니다.

ERROR: device '' not found. Skipping fsck.
no pools available to import 

업데이트 #2:

따라서 zpool이 zroot존재하고 이를 찾을 수 있습니다. 설치 문제인가요? fstab에 문제가 있는 걸까요? 내가 여기서 무엇을 놓치고 있는 걸까요?

ERROR: device '' not found. Skipping fsck. 
no pools available to import 
ERROR: Failed to mount the real root device.
Bailing out, you are on your own. Good luck.

sh: can't access tty; job control turned off 
[rootfs ]# zfs list 
NAME                         USED      AVAIL       REFER      MOUNTPOINT 
zroot                        6.32G     443G        6.31G      legacy
zroot/ROOT                   192K      443G        96K        none 
zroot/ROOT/default           96K       443G        96K        none 
zroot/boot                   192K      443G        96K        legacy
zroot/boot/grub              96K       443G        96K        legacy
zroot/data                   192K      443G        96K        none 
zroot/data/home              96K       443G        96K        legacy
[rootfs ]# zpool status 
  pool: zroot
 state: ONLINE 
  scan: none requested 
config: 

        NAME                                                                          STATE     READ WRITE CKSUM
         zroot                                                                        ONLINE       0     0     0
           dm-uuid-CRYPT-LUKS2-12345abcde54321vwxyz-archcrypt1                        ONLINE       0     0     0
errors: No known data errors
[rootfs ]#

귀하가 제공할 수 있는 도움에 미리 감사드립니다!

관련 정보