我正在使用 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/sdb2
UUID 与您注释掉的4043f55a-d6e4-4557-b3b9-4322bcc0dfd8
任何行都不匹配,因此请尝试:/etc/fstab
grep -r "/dev/sdb2" /etc
grep -r 4043f55a-d6e4-4557-b3b9-4322bcc0dfd8 /etc
如果这些命令找到任何文件,请查看这些文件。