(manjaro)linux系统启动时提示 ERROR:resume:hibernation device‘UUID=3f48c68c-4717-438e-aff6-26ac8f‘ not found

情况说明

电脑上有两个manjaro系统,今天把另一个不用的删除后(删除的系统本来就是被引导的
),然后我使用下面两个命令重新生成了grub。

sudo update-grub
sudo grub-install /dev/sda2

但是剩下的manjaro启动时提示ERROR:resume:hibernation device’UUID=3f48××××××cde’ not found错误,每一次启动都会显示两次这个错误,第一次显示的时间很短,第二次要等很久(应该是1min30s),然后可以进入系统。

经过查询资料后解决。
参考下面两个:
https://blog.csdn.net/SunJavaApplet/article/details/105040210
https://forum.endeavouros.com/t/cannot-boot-into-custom-kernel-error-resume-hibernation-device-uuid-insert-uuid-not-found-error-device-uuid-insert-uuid-not-found/9062
https://wiki.archlinux.org/title/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

解决步骤

我没有采用第一个链接那样手动自己改。

修改/etc/fstab

查看/etc/fstab文件内容如下

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=A8FE-BA9F                            /boot/efi      vfat    defaults,noatime 0 2
UUID=59aa6960-3b34-4a57-9114-f031acc96c3c /              ext4    defaults,noatime,discard 0 1
UUID=0cf8dd0d-e56d-4218-8ae6-0136d20fcd59 /var           ext4    defaults,noatime,discard 0 2
UUID=1ba994f3-941c-4f65-a008-f23df0aa85b5 swap           swap    defaults,noatime,discard 0 2
UUID=99dbdcdc-07d9-469d-afb0-dfe02050dff3 /home          ext4    defaults,noatime,discard 0 2
UUID=3f48c68c-4717-438e-aff6-26ac8f75fcde swap           swap    defaults,noatime 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

可以看见有这有两个swap分区,其中第二个swap对应的3f48c68c-4717-438e-aff6-26ac8f75fcde就是导致提示错误的原因。关于swap分区引起这个错误的,上述第一个链接进行了说明。这应该是我删除掉那个系统的swap分区的UUID。
我的做法是直接删除了这行数据,然后重启发现只提示一个错误了,而且等待时间很短,所以是可以知道是/etc/fstab中的记录导致了第二次的错误提示,而且这个提示比较长。

上述[第三个链接]

查看/etc/default/grub文件内容
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR='Manjaro'
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=3f48c68c-4717-438e-aff6-26ac8f75fcde"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
剩下省略。。。。。。

可以看见这里也有3f48c68c-4717-438e-aff6-26ac8f75fcde字段,所以替换这个为/etc/fstab文件中本机的swap分区UUID,即1ba994f3-941c-4f65-a008-f23df0aa85b5

根据第一个链接的内容,我们知道还要对/boot/grub/grub.cfg文件进行修改。查看/boot/grub/grub.cfg的内容发现,果然里面存在大量的3f48c68c-4717-438e-aff6-26ac8f75fcde字段。我没有像该作者那样直接进行替换,而是参考了Archlinux官方的grub使用手册,也就是第三个链接。里面提到

# 请记住,每当修改 /etc/default/grub 或者 /etc/grub.d/ 中的文件之后,都需要再次#生成主配置文件。
# 安装后,需要生成主配置文件 /boot/grub/grub.cfg。配置文件的生成过程受到 /etc/default/grub 中的选项和 /etc/grub.d/ 下脚本的影响。
# 使用 grub-mkconfig 工具来生成 /boot/grub/grub.cfg:
sudo grub-mkconfig -o /boot/grub/grub.cfg

因为我已经修改了/etc/default/grub文件,所以我就执行了下面命令

sudo grub-mkconfig -o /boot/grub/grub.cfg

然后发现/boot/grub/grub.cfg确实变了,有一个部分3f48c68c-4717-438e-aff6-26ac8f75fcde变为了1ba994f3-941c-4f65-a008-f23df0aa85b5,但是还有一个部分没有变。
然后我又重新执行了一遍下面命令

sudo update-grub
sudo grub-install /dev/sda2
sudo grub-mkconfig -o /boot/grub/grub.cfg

之后就可以了,结束。

上一篇:Hello OS


下一篇:leetcode_question_62 Unique Paths