为什么不在 fstab 中的交换尝试在启动时挂载

为什么不在 fstab 中的交换尝试在启动时挂载

我正在使用 Pop!_OS(基于 Ubuntu/Elementary OS)。

我有在启动时安装的交换,但 fstab 中不存在。因为我已经删除了这些分区,所以整个引导过程必须等待不必要的一分半钟才能找到具有这些 UUID 的交换。有什么技巧可以去除它吗?

编辑:根据评论请求,这是/etc/fstab文件

PARTUUID=fa857f57-b4d8-4bf5-b659-de05f87e8288  /boot/efi  vfat  umask=0077  0  0
UUID=1e23af14-f8ec-485f-8b23-1c63099206f2  /  ext4  noatime,errors=remount-ro  0  0
UUID=568bc5f2-8a35-4f51-ba0f-d07f53e09091  /home  ext4  noatime,errors=remount-ro  0  0
#UUID=0c8e22a9-7fd2-420d-8b20-7bb1ed099ab5 swap swap  0 0
#UUID=27fe5717-921b-48f1-9840-2273a3074d9e swap swap 0 0
UUID=3419B3F505351D84 /SSD ntfs uid=1000,gid=1000,rw,user,exec,umask=000,x-gvfs-show 0 0

boot.log下面列出了相关部分。当我将它设置为向我显示启动过程(所有飞过的消息等)时,我注意到它有一个计时器,等待 1:30 等待不存在的交换

swapon: /dev/sdb2: swapon failed: Invalid argument
Sep 13 10:18:23 vegpop systemd[1]: dev-disk-by\x2duuid-4043f55a\x2dd6e4\x2d4557\x2db3b9\x2d4322bcc0dfd8.swap: Swap process exited, code=exited, status=255/EXCEPTION
Sep 13 10:18:23 vegpop systemd[1]: dev-disk-by\x2duuid-4043f55a\x2dd6e4\x2d4557\x2db3b9\x2d4322bcc0dfd8.swap: Failed with result 'exit-code'.
Sep 13 10:18:23 vegpop systemd[1]: Failed to activate swap /dev/disk/by-uuid/4043f55a-d6e4-4557-b3b9-4322bcc0dfd8.

答案1

交换激活通常发生在引导过程的早期,此时系统仍在 initramfs 上运行。

如果您在从 中删除交换分区后尚未更新 initramfs ,则 initramfs 中/etc/fstab可能仍存在嵌入的旧分区的副本,这可能会触发不必要的等待。fstab

此外,可能会有对交换分区的引用作为潜在的休眠/恢复位置/etc/initramfs-tools/conf.d/resume,它也嵌入在 initramfs 中。

因此,首先检查/etc/initramfs-tools/conf.d/resume并注释掉对已删除交换的任何引用,然后运行sudo update-initramfs -u以更新 initramfs 以匹配/etc目录树的当前状态。

错误消息提到/dev/sdb2UUID 与您注释掉的4043f55a-d6e4-4557-b3b9-4322bcc0dfd8任何行都不匹配,因此请尝试:/etc/fstab

grep -r "/dev/sdb2" /etc
grep -r 4043f55a-d6e4-4557-b3b9-4322bcc0dfd8 /etc

如果这些命令找到任何文件,请查看这些文件。

相关内容