运行 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 秒