我有一个系统,其中除/boot之外的所有分区(/、/home和swap)都已加密。/boot驻留在外部设备中,该设备还包含一组用于自动解密所有分区的加密密钥文件。换句话说,我想要的最终结果是使用外部设备和密码进行 2 因素身份验证,其中密码将在启动期间输入一次,启动脚本将使用该密码解密所有分区。
我是 Ubuntu(以及一般的 Linux)的新手,但我使用update-initramfs修改了initrd.img 中的各种脚本。该cryptroot脚本似乎在做所有的工作挂载分区在第一,但一些尝试后,似乎它只是用于解密根文件系统负责。我修改了脚本中的一个字符串,将Enter the passphrase更改为简单的Password,这在解密根文件系统时似乎有效,但再次使用旧提示来解密下一个分区。换句话说,这就是我得到的:
我认为 Ubuntu 可能正在某处运行cryptroot脚本的另一个副本来解密 root 之后的所有其他分区,但我不知道还有什么要修改的。