将ubuntu 16.04更新到18.04后,我无法进入休眠状态。
我尝试了一切:
sudo -s
echo平台> / sys / power / disk
回声磁盘> / sys / power / state
和
sudo -s
回声关闭> / sys / power / disk
回声磁盘> / sys / power / state
和
sudo apt-get install uswsusp
sudo s2disk
和
已安装休眠2.0 + 15 + g88d54a8-1.deb
sudo休眠
在每种情况下,计算机都挂在黑屏上,并且永远不会关机。 另一方面,暂停有效。但是我需要保存到磁盘上才能拔出电脑的电源。
有人遇到这个问题并解决了吗?
答案 0 :(得分:2)
以下是Ubuntu 18.04的所有“可能”步骤,请确保所有步骤均已通过。由于您正在升级,因此有些棘手。
1-确保已安装休眠模式
sudo apt install pm-utils hibernate pm-hibernate
然后尝试:
sudo pm-hibernate
(对您而言,此步骤无效)
2-确保您有足够的交换空间,并且您指向正确的交换空间
运行此命令检查您的交换:
grep swap /etc/fstab
您应该得到类似的东西:
swap was on /dev/nvme0n1p5 during installation
UUID=xyz-bb32-4ad2-aaeb-xyz none swap sw
如果没有,那么您需要创建一个(我想这会为您工作)。
3-将交换的UUID复制到grub
将上一步中的UUID复制到grup文件中(我很确定这是您的问题。
sudo gedit /etc/default/grub
然后将简历更改为piont而不是dev名称:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=xyz-bb32-4ad2-aaeb-xyz"
4-启用休眠(如果尚未启用)
sudo gedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
然后过去该文件:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
5-盖子关闭后进入休眠状态
sudo gedit /etc/systemd/logind.conf
包括
#HandleLidSwitch=suspend
HandleLidSwitch=hibernate
答案 1 :(得分:0)
如果您使用的是交换文件,建议您先按照本教程进行操作,以确保配置正确:
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-18-04
答案 2 :(得分:0)
我在高低处搜索了此问题的解决方案。无论我尝试了多少种不同的方法,我的Dell E7450都根本无法休眠。许多不同的文章都引用了fstab中包含UUID的条目,但是我的fstab交换文件条目已安装在/ swapfile中,因此许多文章都不适用。
有一天,我偶然发现了这篇实际上有效的文章!这是一个很长的步骤,因此请注意,它是唯一可行的方法,因此请按照以下步骤操作,您将使您的冬眠变得无比高兴! (我对此一无所获!):
答案 3 :(得分:0)
您正在使用uswsusp-该漏洞有一个关于休眠期间冻结的开放错误,尤其是当有太多数据需要写入以交换时,因为缓冲IO在Hibernate中被挂起: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819915
该错误似乎仍然处于打开状态,但是该线程底部的一个人发布了一种变通方法,该方法对我在Ubuntu 18.04上有效:
我能够通过编写Hibernate脚本来解决此问题, 为它分配键盘快捷键:
#!/bin/sh
echo Unlimiting IO cache...
sudo sysctl -w vm.dirty_ratio=100
sudo sysctl -w vm.dirty_background_ratio=100
sleep 5
sudo s2disk
echo Re-limiting IO cache...
sudo sysctl -w vm.dirty_background_ratio=10
sudo sysctl -w vm.dirty_ratio=20
这将禁用休眠的缓存磁盘IO,并在恢复后将其还原。
使用这种方法将近一年没有冬眠问题。一个缺点是,如果电池电量严重不足,脚本将不会触发(尽管可能有办法)。