交换:从分区到文件,现在出现“没有可用的匹配交换设备”

交换:从分区到文件,现在出现“没有可用的匹配交换设备”

运行 Ubuntu 18.04,我从交换分区更改为交换文件。

swapon -s(摘要)和 free 显示具有新大小的交换文件。/etc/fstab 已更改,交换文件的权限已更改,交换分区已删除。当有更新(apt-get update 和 upgrade)时,我收到此错误:

Setting up amd64-microcode (3.20180524.1~ubuntu0.18.04.2) ...
update-initramfs: deferring update (trigger activated)
amd64-microcode: microcode will be updated at next boot
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for initramfs-tools (0.130ubuntu3.1) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-29-generic
W: initramfs-tools configuration sets RESUME=UUID=c5a2c6f4-b67c-4d95-bc23-8333ed6c0f11
W: but no matching swap device is available.

那里列出的 UUID 是旧交换分区的。我不认为交换文件有 UUID,但我对此不太确定。其他一切似乎都运行正常。我应该如何进行故障排除和修复?

答案1

步骤1:

$ sudo blkid

它将列出系统上每个设备或分区的 UUID。复制交换分区的 UUID。

第2步:

$ sudo vim /etc/initramfs-tools/conf.d/resume

用刚刚复制的 UUID 替换可用的 UUID,然后保存。

步骤3:

$ sudo update-initramfs -u

答案2

该行位于 /etc/initramfs-tools/conf.d/resume,因此请尝试删除它。


自 14.04 以来,有问题的文件 /etc/initramfs-tools/conf.d/resume 甚至在 Ubuntu LTS 版本中都不存在。在 18.04 系统上删除它包含的一行永远不会导致问题。这是一个很好的例子,说明了为什么重新安装比升级更好,有时旧的东西会留下来,这可能会导致问题。

对于那些认为 blkid 不会为交换文件产生任何结果的人,您错了,建议使用 blkid 的答案对所述问题没有反应。重新阅读问题,不再有交换分区。

正如一条评论所建议的,可以使用 swaplabel 生成交换文件的 UUID,但这留给读者练习,看看在不再是 Ubuntu 系统一部分的配置文件中使用该交换文件 UUID 是否能真正解决任何问题,或者只是导致另一个 UUID 查找失败。

答案3

使用 swap 的新 UUID 编辑 /etc/fstab 可以很好地将启动时间从 2 分钟减少到 10 秒

相关内容