对于 Windows,VeraCrypt 实现了一项称为“系统收藏夹卷”的功能。它允许使用启动时输入的密码安装其他光盘以解锁系统分区。
规格:我正在运行 Pop 操作系统! 22.04,这个问题应该相当于 Ubuntu 22.04。我的系统分区是用 LUKS 加密的。我想安装三个卷:一个使用 VeraCrypt 加密,两个使用原始 TrueCrypt 加密。
我找到了几篇文章来解决这个问题;然而,它们都不起作用:
我完全迷失了,甚至无法测试我的试验。
答案1
至少在 Debian 和 Ubuntu 上,您也可以使用系统启动 (luks) 密码解锁 truecrypt 卷和 veracrypt。具有 PIM 的 Veracrypt 卷需要至少 v254 的 systemd 才能使用veracrypt-pim=<number>
cryptab 中的选项。看这里https://www.freedesktop.org/software/systemd/man/latest/crypttab.html
对于 Debian 12 systemd 是 v252,因此从向后移植安装 v254 systemd 以veracrypt-pim=<number>
在 cryptab 中使用。然后,除了让所有卷使用相同的密码外,还要initramfs,keyscript=decrypt_keyctl
在行末尾添加选项。它将initramfs
卷的解密拉到系统驱动器启动的开始并keyscript=deycrypt_keyctl
缓存密码,因此您只需输入一次。
对于 crypttab 以及您的系统驱动器解锁行,类似这样。请注意,initramfs
解锁系统卷的行不需要:
# System volume
sda3_crypt UUID=6b3229c1-6f6a-480f-8524-212f6bd2e4dc none luks,discard,keyscript=decrypt_keyctl
# Truecrypt volume
sdb_true /dev/disk/by-partuuid/7d185b93-01 none tcrypt,discard,initramfs,keyscript=decrypt_keyctl
# Veracrypt volume.
sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,discard,initramfs,keyscript=decrypt_keyctl
需要 PIM 的 Veracrypt 卷需要 systemd v254 或更高版本:
sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,veracrypt-pim=20,discard,initramfs,keyscript=decrypt_keyctl
创建 crypttab(以及用于安装驱动器的 fstab)条目并彻底检查后!运行# update-initramfs -u -v
更新 grub。
答案2
长话短说:
- 编辑
/etc/crypttab
以展示设备;喜欢# existing lines from the system setup cryptdata UUID=ca....5c none luks cryptswap UUID=9a...91 /dev/urandom swap,plain,offset=1024,cipher=aes-xts-plain64,size=512 # added lines givenname1 /dev/sdb2 none tcrypt,tcrypt-veracrypt #add the tcrypt-veracrypt option for a device encryted with veracrypt givenname2 /dev/sdc2 none tcrypt givenname3 /dev/sdd1 none tcrypt
- 将以下行添加到
/etc/fstab
类似的 内容中/dev/mapper/givenname1 /mnt/mymountpoint1 auto nosuid,nodev,nofail 0 0 /dev/mapper/givenname2 /mnt/mymountpoint2 auto nosuid,nodev,nofail 0 0 /dev/mapper/givenname3 /mnt/mymountpoint3 auto nosuid,nodev,nofail 0 0
如何测试
编辑crypttab
文件后,您可以使用cryptdisks_start
例如调用
sudo cryptdisks_start givenname1
。如果这有效,它可能在启动时仍然无法工作,但你的方法是正确的。
要测试它是否在启动时工作,请执行以下步骤
这将重新读取 crypttab 文件
sudo systemctl daemon-reload
这将启动服务,如果您之前已成功调用 cryptdisks_start,则可能会产生误报结果
sudo systemctl start [email protected]
以排除误报结果重新启动服务
sudo systemctl stop [email protected] sudo systemctl start [email protected]
检查链接是否出现在
/dev/mappers
$ ls /dev/mapper/ control cryptdata cryptswap data-root givenname1
Ubuntu 用户请注意
Ubuntu 实现 cryptsetup 脚本的方式与大多数其他发行版不同。因此,ubuntu 和类似发行版缺少 crypttab 中的某些选项。
比较手册页以了解确切的更改。
- https://manpages.ubuntu.com/manpages/lunar/en/man5/crypttab.5.html
- https://man7.org/linux/man-pages/man5/crypttab.5.html
对我来说,这意味着我无法将密钥文件与密码结合使用,因为tcrypt-keyfile
缺少选项。
要测试您可以使用哪些选项,请致电man crypttab
评论
这个解决方案对我来说非常有效。安装光盘也比使用 veracrypt GUI 快得多。
对于典型的双引导方案,安装的驱动器可能具有 NTFS 文件系统。这里的安装选项应该不同。
我已经在以下位置尝试了这些附加参数/etc/fstab
:
uid=1000,gid=1000,dmask=027,fmask=137