我有几乎已成功在具有 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容器拱穴
- 池池兹根(包含已安装的Arch系统)
- LUKS容器拱穴
/dev/sdb
USB驱动器
/dev/sdb1
1M BIOS启动
/dev/sdb2
512MB 引导,带 GRUB、标头
/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:
使用 thezfs=zroot/ROOT/default
代替root=ZFS=zroot/ROOT/default
按照Arch Linux 维基结果在精确的与上面相同的错误,仅适用于
ERROR: device '' not found. Skipping fsck.
no pools available to import
更新#2:
所以 zpoolzroot
存在,并且它可以找到它。是安装问题吗?是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 ]#
预先感谢您提供的任何帮助!