我按照以下问题中给出的程序在 12.04 中启用了休眠:如何启用休眠?
但是,即使在我启用它之后,休眠也不起作用。不工作是指计算机正确休眠,但没有恢复。我总是给登录屏幕和一个新的会话。
如何启用成功恢复的休眠?
Anw*_*war 17
如果您有btrfs分区,即使成功启用 Hibernate 也可能无法工作。正如这里的一个问题所揭示的
据透露,启用 UEFI 也会导致休眠问题。
为了启用 Hibernate,我遵循了 Dima 的这个答案。
启用休眠后,您将可以在顶部面板的指示器会话菜单中选择休眠。但是,尽管您可以休眠,但您可能无法从休眠状态恢复。您将获得一个新的会话。修复方法如下。
一些读者也证实了这一点在 14.04 上也有效
有两种方法可以解决这个问题。
/etc/initramfs-tools/conf.d/resume文件首先获取交换分区的UUID。
sudo blkid | grep swap
Run Code Online (Sandbox Code Playgroud)
这将输出类似于此的行:
/dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
实际行将与此不匹配。在"..."双引号之间复制 UUID 的值。
打开简历文件
gksudo gedit /etc/initramfs-tools/conf.d/resume
Run Code Online (Sandbox Code Playgroud)
在那个文件中,添加这样一行
RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
Run Code Online (Sandbox Code Playgroud)
不要忘记替换从步骤 1 中获得的实际 UUID 值。保存文件并退出 gedit
然后在终端中,执行此命令
sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)您现在可以从休眠状态恢复
/etc/default/grub文件。打开终端并执行以下命令打开它
gksudo gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)会有一条像 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
. 编辑要RESUME=UUID=<your-uuid-value-here>在单词之后插入的行splash。
例如在我的情况下,编辑后的行看起来像这样
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432"
Run Code Online (Sandbox Code Playgroud)
确保您使用了从sudo blkid | grep swap命令中获得的 UUID 值。
然后执行这个命令
sudo update-grub
Run Code Online (Sandbox Code Playgroud)这也使您能够成功地从休眠状态恢复。
在两个 Ubuntu 安装上测试,都有效