cryptsetup:正在等待加密源设备 /swapfile

cryptsetup:正在等待加密源设备 /swapfile

我知道有人问过这个问题,但我还是问了这个问题,因为我找到的修复方法不起作用。我遇到了和这个人一样的问题:Ubuntu 19.04“等待加密源设备/swapfile”,然后在启动时提示 initramfs:linuxquestions

但我尝试了解决方法,即在 /etc/crypttab 中添加“size=256”。我这样做了,但它仍然警告我,我没有在 crypttab 中指定大小,并且仍然需要时间才能启动。(如果我在提示符下输入 exit,我的电脑仍然会启动到正常工作的 GUI)

以下是 /etc/fstab 的内容:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=694b4858-ead8-400d-9406-f9fc45dc71f1 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=CA5F-286C  /boot/efi       vfat    umask=0077      0       1
#/swapfile none            swap    sw              0       0
#/dev/mapper/cryptswap1 none swap sw 0 0
#/swapfile swap swap defaults 0 0
/dev/mapper/cryptswap1 none swap sw,pri=100 0 0

这是 /etc/crypttab:

# <target name> <source device>     <key file>  <options>
cryptswap1 /swapfile /dev/urandom swap,offset=1024,cipher=aes-xts-plain64,size=256

它以前一直有效但现在不行了,这有帮助吗?而且我在编辑 /etc/crypttab 之前必须使用 Ubuntu 恢复模式 DPKG?

任何帮助都将不胜感激。提前谢谢!

编辑:如果我可以保留交换空间就好了,因为我只有 5.7gb 内存(2.3gb 内存是系统保留的)

答案1

上述解决方法有效的根本原因和解释是,当您在 中有 cryptswap 时,initramfs cryptroot hook ( /usr/share/initramfs-tools/hooks/cryptroot) 正在尝试转换/swapfile为块设备/etc/crypttab。这显然会失败,因为/swapfile不是设备,并且在 initramfs 运行时不可用。

由于您没有使用加密的 rootfs(否则/swapfile将作为其中的一部分进行加密),最简单的方法是禁用此 cryptroot 钩子。不幸的是,没有好的方法可以做到这一点。我发现最好的方法是插入,exit 0因为/etc/cryptsetup-initramfs/conf-hook此脚本来自 cryptroot 钩子。

答案2

我找到了解决这个问题的方法。

  1. /etc/fstab在和中注释与 cryptswap 相关的行/etc/crypttab
  2. 执行sudo swapoff -a && sudo update-initramfs -u
  3. 如果你想交换回来,取消注释你刚刚注释的行
  4. 重启

但是,尽管这有效,但我认为每次内核更新都会破坏它。

相关内容