有一天,我尝试在 virtualbox 内的测试系统 (ArchLinux) 上设置全盘加密。 (我想在我的主机上使用这种设置,所以我想先测试一下)
我创建了两个硬盘(sda、sdb2),sda 有一个 efi、boot、root 和 home 分区,其中 root 和 home 分区已加密。根分区通过 USB 驱动器上的密钥文件从 grub 中解密。主分区由密钥文件 (/root/keyfile) 解密。到目前为止一切都很完美
然后我在 sdb 上创建了两个分区,每个分区都使用与主分区相同的密钥进行了加密。当我尝试在启动时使用 crypttab 解密它们,其设置与主分区相同,当然更改 UUID 和名称时,我收到主分区和两个分区的错误“无法启动...的加密设置”在 sdb 上。但是,如果我从 crypttab 文件中删除两个 sdb 分区之一(无论是哪一个),一切都会再次正常工作。
似乎一台设备有多个分区确实会把事情搞砸
我的 crypttab 看起来像这样:
#home partition
crypthome UUID=xxxxxxxxx-xxx-xx /root/keyfile luks
#sdb partition1
cryptb1 UUID=yyyyyyyyy-yyy-yy /root/keyfile luks
#sdb partition2
cryptb2 UUID=zzzzzzzzz-zzz-zz /root/keyfile luks
如前所述,注释掉 sdb 条目之一可以让系统启动时不会出现任何错误
有人遇到过同样的问题或者知道该怎么办吗?
答案1
经过一番挖掘引导日志后,我发现了一个错误,指出 cryptprocess 内存不足。增加虚拟机的系统内存后,现在一切都按预期工作。
也许这可以帮助遇到类似问题的人,因为我没有阅读有关解密过程的最低内存要求的任何内容