我的 Linux (Debian GNU/Linux) 系统出了问题。问题是我目前有一个 HORN(仅休眠,从不恢复)配置:我只能休眠但不能恢复。更糟糕的是,如果我尝试恢复,我的系统只会执行常规启动,我的休眠数据会丢失。
为了防止这种情况,我添加了继续等待/boot/grub/grub.cfg 中的内核命令行选项:
linux /vmlinuz-5.10.0-28-amd64 root=UUID=********-****-****-****-************ ro quiet splash resumewait
这也是我的系统启动时的命令行,如下所示:
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-5.10.0-28-amd64 root=UUID=********-****-****-****-************ ro quiet splash resumewait
仍然无法从休眠状态恢复。休眠映像中的所有数据都丢失了。相反,/var/log/messages 中出现了以下内容:
Apr 10 17:23:13 * kernel: [20005.276752] PM: hibernation: hibernation entry
Apr 10 20:56:03 * kernel: [ 0.000000] microcode: microcode updated early to revision 0x28, date = 2019-11-12
因此,我的系统首先进入休眠状态,然后执行常规启动。禁用交换区。
我的交换分区位于单独的硬盘上,我知道这个单独的硬盘有点旧,在启动系统时可能会有点慢。但是我的内核参数中有 resumewait,如果我的交换分区不可用,它应该会阻止正常启动。那么为什么会发生这种情况?我应该怎么做才能使 resumewait 在我的系统上真正发挥作用?