我已启用hibernate但它无法正常工作。 我能做什么?

我按照此问题中给出的步骤在12.04启用了Hibernate: 如何启用hibernate?

但是,即使在我启用它之后,hibernate也无法正常工作。 通过不工作,我的意思是计算机正在hibernate,但它没有恢复。 我总是给出登录屏幕和一个新的会话。

如何启用成功恢复的hibernate?

更新时间为16。04(2016年9月)

如果你有btrfs分区,即使它成功启用,Hibernate也可能无法工作。 正如这里的问题所揭示的那样

  • 我怎样才能在Ubuntu 16.04上hibernate?

据透露,启用UEFI也会导致hibernate问题。


启用Hibernate选项

为了启用Hibernate,我遵循了Dima的回答 。

启用hibernate后,您可以在顶部面板的指示器会话菜单中选择hibernate。 但是,尽管你可以hibernate,但你可能无法从hibernate状态恢复。 你将获得一个新的会议。 修复方法如下。

修复程序能够从hibernate状态恢复(12.04)

几位读者也证实了这一点在14.04也有效

有两种方法可以解决这个问题。

1.编辑/etc/initramfs-tools/conf.d/resume文件

  1. 首先获取交换分区的UUID。

      sudo blkid | grep swap 

    这将输出类似于这样的行:

     /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap" 

    实际的行与此不匹配。 在"..."双引号之间复制UUID的值。

  2. 打开简历文件

     gksudo gedit /etc/initramfs-tools/conf.d/resume 

    在该文件中,添加如下所示的行

     RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432 

    不要忘记替换从步骤1获得的实际UUID值。保存文件并退出gedit

  3. 然后在终端中执行此命令

     sudo update-initramfs -u 

您现在可以从hibernate状态恢复

2.编辑/etc/default/grub文件。

  1. 打开终端并执行以下命令将其打开

     gksudo gedit /etc/default/grub 
  2. 会有像GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 。 编辑行以在单词splash之后插入RESUME=UUID=

    例如,在我的情况下,编辑后该行看起来像这样

      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 

    确保您使用了从sudo blkid | grep swap获得的UUID值 sudo blkid | grep swap命令。

  3. 然后执行此命令

      sudo update-grub 

这也使您能够成功从hibernate恢复。


测试了两个Ubuntu安装,都工作