我有 Debian 6,我也在 Ubuntu 下看到过这个(不记得我是如何修复它的)。
我可以休眠,但是当我打开系统冷启动时(它不会恢复以前的会话)。
注意暂停工作正常。
已查看“/var/log/pm-suspend.log
显示每个suspend suspend
块一个resume suspend
块,但hibernate hibernate' is not followed by
恢复休眠”(我认为这是预期的。
安装了 hibernate 包,因为我认为可能需要它,但没有什么区别。
我刚刚开始寻找,找不到/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
或者/usr/lib/hal
我搜索了电源文件(都在那里吗?:
find /usr/lib -iname "*power*"
/usr/lib/libupower-glib.so.1
/usr/lib/klibc/bin/poweroff
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.pyc
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.py
/usr/lib/upower
/usr/lib/upower/upowerd
/usr/lib/libupower-glib.so.1.0.1
/usr/lib/gnome-power-manager
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/core/xml-service-descriptions/SwitchPower1.xml
/usr/lib/pm-utils/power.d
/usr/lib/pm-utils/power.d/sched-powersave
/usr/lib/pm-utils/sleep.d/00powersave
/usr/lib/rhythmbox/plugins/power-manager
/usr/lib/rhythmbox/plugins/power-manager/libpower-manager.so
/usr/lib/rhythmbox/plugins/power-manager/power-manager.rb-plugin
答案1
我必须在运行 Debian 测试 (Jessie/Sid) 的笔记本电脑上处理这个问题。
可能相关:LVM 卷(未加密)上的交换分区/dev/vg1/swap
。
为了使系统在休眠后恢复,我必须编辑/etc/default/grub
和更改
GRUB_CMDLINE_LINUX=""
到
GRUB_CMDLINE_LINUX="resume=/dev/mapper/vg1-swap"
然后运行update-grub
。
如果您希望内核在从 GRUB 菜单中选择恢复选项时不检查恢复映像,那么您需要修改GRUB_CMDLINE_LINUX_DEFAULT
而不是GRUB_CMDLINE_LINUX
.
我本来希望自己update-grub
写入任何必要的resume=
参数/boot/grub/grub.cfg
,而不需要如此明确。
resume=
然而,脚本片段内部唯一提到的/etc/grub.d
是与 OSX 支持有关的片段。不知道那里发生了什么。
答案2
这是 Ubuntu / Debian 中休眠和挂起的常见问题。
安装uswsusp
sudo apt-get install uswsusp
然后分别尝试以下暂停和休眠,
sudo s2ram
sudo s2disk
如果它有效,那么您可以将其永久化,备份以下内容,
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak
并编辑以下内容,
/usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
#!/bin/sh
/sbin/s2ram –force
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
#!/bin/sh
/sbin/s2disk
答案3
如果您更改了硬盘或分区表,那么您的计算机将保存一个会话,但无法在开机时恢复它,就像重新启动而不是休眠一样。
在这种情况下,您必须告知 initramfs-tools 正确的分区 uuid。首先,记下交换分区的 ID
$ ls /dev/disk/by-uuid -la
然后,相应地编辑文件 /etc/initramfs-tools/conf.d/resume 。
最后更新 initramfs 为
# update-initramfs -u
如果还是不行,尝试将恢复分区也指定给Grub。然而,这应该不是必要的。
编辑文件 /etc/default/grub 指定交换分区的 UUID:
GRUB_CMDLINE_LINUX="resume=UUID=6098d082-4654-4840-8937-7337d14b2c5d other-option=value"
或者只是使用该设备
GRUB_CMDLINE_LINUX="resume=/dev/sda1 other-option=value"
不要忘记更新 Grub。
# update-grub
重新启动,并尝试休眠:
# pm-hibernate
答案4
对于suse,解决方案可以在这里找到: