Ubuntu 14.04 - sudo pm-hibernate 不起作用

Ubuntu 14.04 - sudo pm-hibernate 不起作用

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

同样的问题出现在:暂停/恢复失败但我不明白任何回复。我们使用的是不同的笔记本电脑(联想),因此受影响的硬件类型可能不同。

我尝试阅读教程. 就我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

答案1

我遇到了同样的问题。

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

答案2

您是否尝试指定正确的交换分区,如 swsusp 故障排除中所述电源管理/休眠?它帮我修复了 pm-hibernate。另外,我使用关机模式。我有 lenovo z50-70。

我的 grub 文件也有“quiet splash”,但我只是在它旁边附加了我的交换分区。

答案3

正如你把链接放在这里,swsusp故障排除部分对我有用。

第一种方法

首先,您需要检查交换分区是否配置正确。为此,首先运行sudo blkid并复制唯一唯一标识符分区的类型为交换(可能是 /dev/sda6),<swap uuid>从现在起我将调用它。在继续之前,您应该从以下内容复制一份作为备份/etc/fstab

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

现在/etc/fstab使用以下文件编辑器打开文件nano(以 root 身份运行)。然后,注释掉你看到的每一行交换通过在行首添加一个来添加短语#。在这里,将此行添加到文件末尾,其中<swap uuid>是您在上面找到的值sudo blkid

UUID=<swap uuid> none swap sw 0 0

保存文件。交换分区的问题可能已经修复。

笔记:您的交换分区大小应该大于您的 RAM 大小;除非您在休眠时遇到问题。

第二种方法

从上面的链接,引用的描述,有一些变化(请参阅上文以sudo blkid了解如何找到下面要使用的值<swap uuid>):

问题:计算机进入休眠状态,正常。但开机后,计算机仍加载,好像没有保存休眠状态。

对于 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命令让计算机休眠,然后尝试再次启动。您的问题可能已解决。

希望它能帮助到别人!

相关内容