我在 Lenovo T450s 上全新安装了 16.04.1,在 Ubuntu 上挂起/休眠方面一直运行良好(我之前使用的版本是 14.04.5)。此安装中的交换空间远大于 RAM。
正如我现在习惯的那样,安装后我尝试使用常规黑客来激活休眠模式。然而,这次似乎有所不同,因为sudo pm-hibernate
似乎什么也没做。
据我了解,现在 ubuntu 已经切换到 systemd,正确的命令应该是systemctl hibernate
返回
Failed to hibernate system via logind: Sleep verb not supported
我尝试了提到的解决方案这里,但它们主要旨在重新启用pm-hibernate
并使其成为注销菜单中的条目。我还看到一个可能的解决方案是安装 Tuxonice 内核,但没有尝试,因为我不太热衷于篡改内核,尤其是使用 PPA 内核。
那么,有没有办法在最新的基于 systemd 的 Ubuntu 版本上重新激活休眠功能?最好使用 systemd,并避免可能破坏系统的黑客攻击。还是我只能等待并希望下一次更新?
答案1
我终于能够按照以下主题解决自己的问题Fedora(他们不久前就转换到了 systemd,因此那里有更多的资料)。
事实证明我已启用安全启动(我记得在安装 16.04 时被问到这个问题,并且我没有多想就一直启用它),这导致输出如下cat /sys/power/disk
:
[disabled]
确实不是个好兆头。所以我重新启动电脑,在 BIOS 设置中搜索,禁用了那里的安全启动。现在cat /sys/power/disk
我得到了:
[platform] shutdown reboot suspend
看起来好多了。而且调用确实systemctl hibernate
导致了成功的休眠/解冻序列。
此外,休眠选项现在显示在图形界面中,无需任何黑客攻击(至少在我的计算机上)。
答案2
当您的交换空间太小而无法容纳 RAM 内容时(例如,当您设置操作系统后向计算机添加更多 RAM 时),也会发生这种情况。
例如检查htop
,则Mem
数字应该<=Swp
数字。