ZFS、加密檔案系統和 Systemd 的安裝順序不正確

ZFS、加密檔案系統和 Systemd 的安裝順序不正確

我有一個「防彈」的 Arch Linux 安裝,其結構如下:

  1. /dev/sda1:FAT32 EFI分割區:掛載為/boot/efi
  2. /dev/sda2:LUKS加密的ext4分割區:掛載為/boot(提示密碼)
  3. /dev/sda3:加密交換分割區
  4. /dev/sda4:包含根檔案系統的加密zpool(提示密碼)

系統啟動並運行,但某些功能無法正常運作。啟動時 systemd 抱怨載入週期錯誤,但真正的問題是我必須輸入密碼/dev/sda2兩次密碼(一次用於 GRUB,一次用於 Linux)。我用了本指南設定一個密鑰檔案來解鎖/dev/sda2,但沒有骰子,它仍然要求輸入密碼。

這是我的鉤子順序mkinitcpio.conf

base udev autodetect modcont block keyboard zfs encrypt filesystems

zfs我嘗試顛倒和的順序encrypt,但這產生了一個不同的問題,它不會設定我的交換分區(它也可能弄亂了 GRUB [我假設它無法掛載 /boot?],我不得不重新啟動到archiso 來修復它)。無論如何它並沒有解決我的問題,我仍然必須輸入 /dev/sda2 的密碼兩次。

我的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's 之前先要求我輸入密碼(即使我交換了 中的鉤子順序mkinitcpio.conf)。

經過一些研究後,問題似乎是 ZFS 的 systemd 目標要求在執行任何操作之前解鎖加密分區,但我不知道如何修復它。

相關內容