为“cryptsetup:警告:crypttab 中缺少用于纯 dm-crypt 映射根的选项‘size’”消息设置正确的大小

为“cryptsetup:警告:crypttab 中缺少用于纯 dm-crypt 映射根的选项‘size’”消息设置正确的大小

我有一个使用的完整磁盘加密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 集成

  1. 找到相关加密密钥的大小。因此,让我们询问 cryptsetup 本身(对我来说,问题出现在 /dev/sda5 上的加密交换分区上):

    $ sudo cryptsetup 状态 cryptswap1  
    /dev/mapper/cryptswap1 处于活动状态并正在使用中。  
    类型:普通  
    密码:aes-xts-plain64  
    密钥大小:256 位
    密钥位置:dm-crypt
    设备:/dev/sda5  
    [...]  
    
  2. keysizetype)。

  3. 如果type: PLAIN,添加尺寸(取自上面)到 /etc/crypttab 中的相应条目(作为 sudo):

    cryptroot /dev/sda5 none 密码=aes-xts-plain64,大小=256,哈希=sha1
    

    对于交换分区,条目可能看起来略有不同(例如,使用/dev/urandom(随机)密钥文件)

  4. 重新生成 initramfs(不是您必须在内核更新时重新进行此操作):

    $ sudo update-initramfs -u
    

    这可能会引发警告,据我所知可以忽略。size但是,有关启动时缺少选项的警告应该已经消失。

  5. 最后,重新启动以验证一切是否按预期工作并且警告已消失。

备注:对于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

相关内容