休眠不适用于 Linux Mint 19

Bas*_*K Y 6 hibernate linux-mint

我目前使用的是 Linux Mint 19.1,它默认使用交换文件而不是交换分区。包括暂停在内的一切工作正常。但是休眠后恢复不起作用。我有以下配置/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=38c97b08-a1d5-44b5-9e96-afca13595fe2 resume_offset=27854848"
Run Code Online (Sandbox Code Playgroud)

其中UUID是交换文件所属的根分区,resume_offset 是交换文件的偏移量。系统成功休眠。但是在下一次启动时,它显示从 UUID 位置恢复,突然屏幕变黑(见这个)。之后系统没有任何反应。我经历了以下线程,但似乎没有任何效果。

可以在此处找到完整的系统详细信息

我禁用了安全启动,目前在内核 4.18 上。有没有人使用交换文件成功实现休眠,或者知道为什么休眠不起作用?

K7A*_*AAY 5

根据Mint 论坛中的指南文章,Linux Mint 19 不支持开箱即用的休眠功能。

如果您的交换文件不在 /swapfile 中或者您没有交换分区,标准休眠配置将会失败。RedHat文章提供了一些有关交换大小调整的附加指南。

如果交换文件或分区中没有足够的空间来容纳 RAM 的内容以及您可能已经换出的其他内容,则休眠将会失败,因为内核会写入大小高达 2/5 的休眠映像。你的内存。根据经验,只需将交换文件设置为至少为 RAM 大小,甚至在总 RAM 非常低的系统上将 RAM 设置为两倍(因为您更有可能进行交换)。

请在终端窗口中运行此命令:free -h然后swapon确认交换文件足够大。如果不够大,请扩展交换文件。如果是,请继续:

RESUME_PARAMS="resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk 'NR==4{gsub(/\./,"");print $4;}') "  

if grep resume /etc/default/grub>/dev/null; then echo -e "\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS";else sudo sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$RESUME_PARAMS/" /etc/default/grub;fi   
Run Code Online (Sandbox Code Playgroud)

除非有错误消息,否则执行sudo update-grub;如果出现错误消息,请在执行之前按照其说明进行操作sudo update-grub

最后,将 Hibernation 添加到 GRUB2 菜单

sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla <<'EOB' [Enable hibernate] Identity=unix-user:* Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions ResultActive=yes EOB


Bas*_*K Y 2

我遵循了很多教程,但似乎没有一个起作用。遗憾的是,这是由最近内核版本的回归引起的,并且启动板上已经有一个活跃的错误报告。

自 4.13.0-25.29 起休眠(恢复时冻结)

自从报告该错误以来已经一年多了,到目前为止还没有修复或解决方法。如果有人也遇到此错误,请报告上述启动板错误。