我有两个加密驱动器(一个用于启动的 SSD 和一个用于存储的硬盘驱动器),我需要在所有运行级别程序/服务之前解锁并安装这两个驱动器。否则,当我的一些服务找不到我的存储驱动器时,他们会崩溃。
目前,当我从完全加密的驱动器启动时,我得到以下信息:
A password is required to access the root volume:
Enter passphrase for /dev/sda1
我想要发生的是:
A password is required to access the root volume:
Enter passphrase for /dev/sda1
Enter passphrase for /dev/sdb1
因此,我输入 /dev/sda1 的密钥,然后输入 /dev/sdb1 的密钥,然后安装 /dev/sdb1。此后系统继续启动。
答案1
jasonwryan 的解决方案适用于大多数用户,因此如果有人正在阅读本文并使用带有 systemd 的 Arch Linux(vanilla Arch Linux),那么就这样做。
然而,就我而言,我使用 OpenRC。我跟着这个 Gentoo 维基指南虽然我不太确定“target=”行的含义。
为了手动解锁我的设备,我运行“cryptsetup luksOpen /dev/sdb1 lvm”,因为它有一个 LVM 分区,并且根据 IRC,luksOpen 命令的格式是“cryptsetup luksOpen $source $target”。
所以我偷了Gentoo的dmcrypt OpenRC init脚本并将其粘贴到/etc/init.d/dmcrypt中。然后我窃取了默认配置文件并将其粘贴到/etc/conf.d/dmcrypt 中。然后我将以下内容添加到配置文件的底部:
target=lvm
source=UUID="insertUUIDhere"
然后我使用“rc-update add dmcrypt default”将 dmcrypt 添加到默认运行级别。
设备现在提示在启动时解密:)。