
私は次のように構成された「防弾」Arch Linux インストールを持っています:
/dev/sda1
: FAT32 EFI パーティション: /boot/efi としてマウント/dev/sda2
: LUKS で暗号化された ext4 パーティション: /boot としてマウント (パスワードを要求)/dev/sda3
: 暗号化されたスワップパーティション/dev/sda4
: ルートファイルシステムを含む暗号化された zpool (プロンプトパスワード)
システムは起動して機能しますが、一部の機能が正常に動作しません。起動時にsystemdはロードサイクルエラーを報告しますが、実際の問題はパスワードを2回入力する必要があることです/dev/sda2
(1回はGRUB用、もう1回はLinux用)。私はこのガイドロックを解除するためのキーファイルを設定しようとしまし/dev/sda2
たが、ダメで、依然としてパスワードを求められます。
これは私のフックの順序ですmkinitcpio.conf
:
base udev autodetect modcont block keyboard zfs encrypt filesystems
zfs
との順序を逆にしてみましたencrypt
が、別の問題が発生し、スワップ パーティションが設定されませんでした (GRUB も台無しになった可能性があります [/boot のマウントに失敗したと推測します]。修正するには、archiso を再起動する必要がありました)。いずれにしても問題は解決せず、/dev/sda2 のパスワードを 2 回入力する必要がありました。
私のcrypttab
:
cswap /dev/sda3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
私のカーネルパラメータ/etc/default/grub
:
GRUB_CMDLINE_LINUX="zfs=zroot/ROOT/default rw cryptdevice=/dev/sda2:cboot"
私のfstab
:
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/cboot
/dev/mapper/cboot /boot ext4 rw,relatime 0 2
# /dev/sda1
UUID=CE42-9249 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=re
mount-ro 0 2
# /dev/mapper/cswap
/dev/mapper/cswap none swap defaults 0 0
起動時に、システムは のパスワードを/dev/sda2
要求する前に のパスワードを要求します/dev/sda4
( のフック順序を入れ替えた場合でもmkinitcpio.conf
)。
調べてみたところ、問題は ZFS の systemd ターゲットが何かを実行する前に暗号化されたパーティションのロックを解除する必要があるということのようですが、修正方法がわかりません。