我有一个使用的完整磁盘加密ecryptfs
,升级到18.10启动时开始出现警告信息:
cryptsetup:警告:crypttab 中缺少用于普通 dm-crypt 映射根的选项“size”。请阅读 /usr/share/doc/cryptsetup/README.initramfs 并将正确的“size”选项添加到您的 crypttab(5)。
据我所见,/usr/share/doc/cryptsetup-initramfs/README.initramfs.gz
我应该编辑/etc/cryptsetup
并设置正确的尺寸,但这应该如何尺寸是否适合我的系统?
这是的内容/etc/crypttab
:
cryptswap1 UUID=1d1XXXXXXXXXXXX /dev/urandom swap,offset=1024,cipher=aes-xts-plain64
答案1
添加如下尺寸size=256
配置/etc/crypttab
:
cryptswap1 UUID=1d1XXXXXXXXXXXX /dev/urandom swap,offset=1024,cipher=aes-xts-plain64,size=256
答案2
对我来说,编辑“crypttab”文件是不够的(升级到 Ubuntu 20.04)。
编辑文件后,我不得不禁用(临时)交换文件并重新生成 initramfs 映像:
sudo swapoff -a
sudo update-initramfs -c -k all
sudo swapon -a
不幸的是,每次内核更新后都应重复该步骤。
答案3
(为了对这个问题做出完整的回答,我发布了这篇文章,作为对marcanuy 自己的回答。
注:上述警告源自Debian Cryptsetup Initramfs 集成。
找到相关加密密钥的大小。因此,让我们询问 cryptsetup 本身(对我来说,问题出现在 /dev/sda5 上的加密交换分区上):
$ sudo cryptsetup 状态 cryptswap1 /dev/mapper/cryptswap1 处于活动状态并正在使用中。 类型:普通 密码:aes-xts-plain64 密钥大小:256 位 密钥位置:dm-crypt 设备:/dev/sda5 [...]
读
keysize
和type
)。如果
type: PLAIN
,添加尺寸(取自上面)到 /etc/crypttab 中的相应条目(作为 sudo):cryptroot /dev/sda5 none 密码=aes-xts-plain64,大小=256,哈希=sha1
对于交换分区,条目可能看起来略有不同(例如,使用
/dev/urandom
(随机)密钥文件)重新生成 initramfs(不是您必须在内核更新时重新进行此操作):
$ sudo update-initramfs -u
这可能会引发警告,据我所知可以忽略。
size
但是,有关启动时缺少选项的警告应该已经消失。最后,重新启动以验证一切是否按预期工作并且警告已消失。
备注:对于type: LUKS
,/etc/crypttab 实际上应该如下所示,因为大多数信息都可以从强制性的 LUKS 标头中读取:
cryptroot /dev/sdaX 无luks,丢弃
答案4
如果您只有加密的交换分区,那么阻止 initramfs 使用它们进行恢复的正确方法是添加:
RESUME=none
进入
/etc/initramfs-tools/conf.d/resume
例如:
echo "RESUME=none" | sudo tee /etc/initramfs-tools/conf.d/resume