为什么 Ubuntu 16.04 中的 Hibernate 不工作以及如何修复它?

Enk*_*ami 8 hibernate power-management kubuntu 16.04

我的 HP Pavilion 17-f000 笔记本电脑上安装了 Kubuntu 16.04 64 位。我已经尝试了ubuntu 16.04 wiki 中的步骤,但sudo pm-hibernate终端命令什么也没做,/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla用这些内容创建文件也没有效果:

[Re-enable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes
[Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions ResultActive=yes
Run Code Online (Sandbox Code Playgroud)

我有 5.8GiB ram,7.5GiB 交换分区,并且挂起到 ram 工作正常。

Enk*_*ami 5

这可能是由于 4.4.0 内核中引入的更改和回归,例如Ubuntu 16.04,但我确实有 4.4.0 的解决方法:

我首先将我的交换分区添加到 grub,重新启动,并且没有任何变化。接下来我安装了带有 TuxOnIce stable 的 Ubuntu 内核包,并且出现了休眠选项,但是失败了。后来我安装了用于挂起到磁盘和内存的软件包hibernateuswsusp并且工作正常。以下是实现这一目标的确切步骤:

  1. 仔细检查您的交换分区/文件是否在/etc/default/grub; 您可以使用cat /proc/swaps或来检查位置swapon -s

    更好的是,找出交换分区/文件的 UUID 或标签并使用它:

    tail -n -9 /proc/swaps | cut -d ' ' -f 1 | xargs sudo blkid
    
    Run Code Online (Sandbox Code Playgroud)
  2. /etc/default/grub通过找到带有 的行进行编辑GRUB_CMDLINE_LINUX_DEFAULT=,添加您的交换设备,然后保存。要输入 UUID,请以UUID=或 为前缀/dev/by-uuid/

  3. 保存对 GRUB 的更改:

    sudo update-grub
    
    Run Code Online (Sandbox Code Playgroud)
  4. 添加TuxOnIce 稳定存储库

    sudo add-apt-repository ppa:tuxonice/ppa
    
    Run Code Online (Sandbox Code Playgroud)
  5. 安装 TuxOnIce 内核和 uswsup:

    sudo apt update
    sudo apt install uswsusp linux-generic-tuxonice tuxonice-userui
    
    Run Code Online (Sandbox Code Playgroud)
  6. 重新启动计算机 ( sudo reboot;)

  • 嘿,我可以使用“ sudo pm-hibernate ”使我的系统休眠,但没有休眠选项(单击右上角的设置图标)。 (3认同)
  • @NikhilVerma 试试这个答案:https://askubuntu.com/a/462480/51672 (2认同)
  • 因此,“添加您的交换设备”是指添加“resume=/dev/yourswap”? (2认同)
  • “添加您的交换设备并保存。”究竟是什么意思? (2认同)
  • @Alex 根据此(https://askubuntu.com/a/196365/187411),这意味着将字符串 `resume=UUID=[your UUID]` 附加到已经存在的字符串中。例如`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=549ae7468"` (2认同)