Ubuntu 14.04-sudo pm-hibernate无法正常工作


16

关于暂停恢复错误,这里有很多问题。

相同的问题出现在:暂停/恢复失败,但我不理解任何响应。我们使用的是不同的笔记本电脑(请注意Lenovo),因此可能会影响到不同类型的硬件。

我尝试阅读本教程。在我的情况sudo pm-hibernate不会在终端工作,配置步骤不解决这个问题。

我试图理解为什么Hibernate会出错,包括Ubuntu手册中有关电源管理/休眠的讨论。他们表示存在问题,swsusp但我不确定如何修改该部分。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/etc/default/grub文件中找到了。

有人得到这个工作吗?


实际上head /var/log/pm-suspend.log导致

Running hook /usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate:
/usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate: success.

Running hook /usr/lib/pm-utils/sleep.d/000record-status hibernate hibernate:
/usr/lib/pm-utils/sleep.d/000record-status hibernate hibernate: success.

Running hook /usr/lib/pm-utils/sleep.d/00logging hibernate hibernate:
Linux jdm-Lenovo-B570 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Answers:


15

我遇到了同样的问题。

sudo pm-hibernate

...没有。

>~$ dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
> method return sender=:1.44 -> dest=:1.303 reply_serial=2

...没有。

环顾四周,我发现了一个检查pm-hibernate日志的建议:

>~$ head /var/log/pm-suspend.log
> Initial commandline parameters: 
> Wed Apr 29 22:38:06 PDT 2015: Running hooks for hibernate.
> Running hook /usr/lib/pm-utils/sleep.d/000kernel-change hibernate
>  hibernate: kernel update inhibits hibernate (/var/run/do-not-
>  hibernate present)

啊! 因此,由于存在内核更新,因此需要重新引导系统。得到某种事实的通知,而不是什么都没有,那就太好了。

顺便说一句,告诉您是否需要重启:

>~$ ls -l /var/run/reboot-required
> -rw-r--r-- 1 root root 32 Apr 29 18:28 /var/run/reboot-required

基本上,如果该文件存在,则需要重新启动。我不能告诉您如果由于内核更新而需要重新引导系统,如果使系统进入休眠状态,将会发生什么情况,但是当我这样做时,我能够立即进入休眠状态:

>~$ sudo rm /var/run/do-not-hibernate

3
可能值得注意的是,删除/var/run/do-not-hibernate可能不受支持,并且从理论上讲是很危险的(我想不能保证内核版本之间的睡眠映像二进制兼容性)。
cubuspl42

1

您是否尝试按照PowerManagement / Hibernate的 swsusp故障排除中所述指定正确的交换分区?它为我修复了pm-休眠状态。另外,我使用关机模式。我有联想z50-70。

我的grub文件也具有“安静的飞溅”,但是我只是在其旁边附加了交换分区。


你是怎么做的?我有相同的系统,同样的问题。
Mookey '16

由于行为不稳定,因此有些棘手。我尝试了内核方法​​uwsusp的平台和关闭模式。平台模式未休眠。关闭模式对我有用,但无法恢复。因此,我尝试了故障排除技巧。它为我工作。但仍在旅途中打h。
sbharti '16

为nvidia和intel安装专有驱动程序解决了我的问题。你呢?它工作了吗?如果您需要,我可以提供一些建议。
sbharti

我希望事情就这么简单,我拥有板载Intel和AMDGPU的混合图形,即地狱。我根本无法让AMD工作。
Mookey '16

1
但是... Linux是真棒
neuronet

0

当你把链接在这里,swsusp故障排除部分为我工作。

第一种方法

首先,您需要检查交换分区是否配置正确。为此,请首先运行sudo blkid并复制具有交换类型(也许是/ dev / sda6)的分区的UUID。在继续之前,您应该从以下位置复制一份作为备份:SWAP-UUID/etc/fstab

sudo cp /etc/fstab /etc/fstab.back

现在,/etc/fstab使用以下文件编辑器打开文件nano(以root 身份运行)。然后,通过在行的开头添加a来注释您在其中看到交换短语的每一#行。在这里,将此行添加到文件末尾(用您最近复制的内容替换“ x”):

UUID=SWAP_UUID none swap sw 0 0

保存文件。也许交换分区的问题已解决。

注意:交换分区的大小应大于RAM的大小。除非您可能在休眠方面遇到问题。

第二种方法

在上面的链接中,引用了说明,并进行了一些更改(基于我所做的更改):

问题:计算机进入休眠状态,确定。但是上电后它正在加载,好像没有保存任何休眠状态。

对于grub2:

  1. 您应该备份。跑:

sudo cp /etc/default/grub /etc/default/grub.back

  1. 开放/etc/default/grub;

  2. 查找GRUB_CMDLINE_LINUX_DEFAULT=行。这些是添加到常规启动菜单选项中的选项。

  3. resume=UUID=SWAP_UUID选项添加到列表中,如下所示:

之前:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

之后(请注意引号):

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=SWAP-UUID"

注意:您可能不希望在添加简历之前更改任何选项(例如,将nosplash选项更改为splash)。但是,我建议您同时使用quietsplash选项。

  1. 保存文件。
  2. 在终端中,执行以下命令(以实际启用新的配置设置)

sudo update-grub2

现在,尝试使用sudo pm-hibernate命令使计算机休眠,然后再次尝试启动。您的问题可能已解决。

希望它能对某人有所帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.