运行 Ubuntu 18.04,我从交换分区更改为交换文件。
swapon -s(summary) 和 free 显示具有新大小的交换文件。/etc/fstab 已更改,交换文件的权限已更改,并且交换分区已删除。当有更新(apt-get 更新和升级)时,我收到此错误:
Run Code Online (Sandbox Code Playgroud)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,但我不确定。其他一切似乎工作正常。我应该如何进行故障排除和修复?
小智 31
第1步:
$ sudo blkid
Run Code Online (Sandbox Code Playgroud)
它将列出获取系统上每个设备或分区的 UUID。复制交换分区的 UUID。
第2步:
$ sudo vim /etc/initramfs-tools/conf.d/resume
Run Code Online (Sandbox Code Playgroud)
将可用的 UUID 替换为粘贴您刚刚复制并保存的 UUID。
第 3 步:
$ sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
ubf*_*an1 29
该行在 /etc/initramfs-tools/conf.d/resume 中,因此请尝试删除它。
有问题的文件 /etc/initramfs-tools/conf.d/resume 自 14.04 以来甚至不存在于 Ubuntu LTS 版本中。删除它包含在 18.04 系统上的一行永远不会导致问题。这是一个很好的例子,说明为什么重新安装比升级更可取,有时会留下旧的东西,以后可能会导致问题。
至于那些认为 blkid 会为交换文件生成任何东西的人,你错了,建议使用 blkid 的答案对所述问题没有响应。重读问题,不再有交换分区。
正如评论所建议的,交换文件的 UUID 可以使用交换标签生成,但留给读者作为练习,看看在不再是 Ubuntu 系统一部分的配置文件中使用该交换文件 UUID 是否会真正修复任何问题,或者只是导致另一个 UUID 查找失败。