Linux 休眠之后关机(长按电源键或断电),如何使下次启动时能恢复系统状态?

2019-06-02 10:05:13 +08:00
 0x3f3f

记得 Windows 10 是可以的。我用 Ubuntu 18.04 。

3993 次点击
所在节点    Linux
8 条回复
listenerri
2019-06-02 10:18:07 +08:00
我觉得你应该先了解下睡眠和休眠
0x3f3f
2019-06-02 10:29:01 +08:00
@listenerri #1 hibernate 保存系统状态到硬盘,应该是可以恢复,但不知道怎么设置。
ys0290
2019-06-02 10:37:55 +08:00
你要的是类似于虚拟机的挂起功能?
yexm0
2019-06-02 10:40:22 +08:00
要长按电源键或断电才能关机的那种不叫休眠叫睡眠。
休眠是保存内存数据进硬盘后电脑自己会关机的。
clino
2019-06-02 11:07:50 +08:00
sudo hibernate
我长期用这个休眠功能,现在用的是 18.04
偶尔出现恢复以后不认 usb 鼠标键盘只能重启
iwtbauh
2019-06-02 11:12:12 +08:00
常见的休眠有 3 种

挂起
蛰伏
混合挂起

挂起:将状态保存到 RAM,然后停止工作,这又产生了 3 种不同的挂起

挂起到 idle
通电挂起(浅度挂起)
挂起到 RAM (深度挂起)

并非所有平台都支持所有的模式。挂起到 idle 支持全部平台。

挂起到 idle:纯软件的挂起,仅冻结用户应用程序
通电挂起(浅度挂起):CPU 保持功率,冻结用户程序,然后挂起外设或将外设至于低功耗状态。
挂起到 RAM (深度挂起):冻结用户程序,冻结非启动 CPU,挂起外设或将外设至于低功耗状态,然后 BIOS (或系统固件)接管机器控制权。

蛰伏:蛰伏的前提是能“挂起到 RAM (深度挂起)”,然后将状态写入硬盘。下次从硬盘恢复。

混合挂起:同时“挂起到 RAM (深度挂起)”和写入硬盘,若机器没有断电,则从 RAM 恢复,否则从硬盘恢复。这能大大提高恢复速度。

你需要的是“蛰伏”。

要配置蛰伏,必须让内核知道从哪里恢复状态。配置引导程序并给内核传递 resume 选项。(类似于 root 选项的格式,可以用 /dev/xxx 或者 uuid )指定 swap 分区。

传递 shutdown 到 /sys/power/disk,然后传递 disk 到 /sys/power/state 开始蛰伏

更多信息阅读内核文档。

另外,“蛰伏”依赖硬件的支持,因此在某些硬件上会出现问题,若出现问题,你应该尝试配置 BIOS、升级 BIOS 版本等。若不能解决的话从网络上查找解决方案。

此外,强烈建议大于 RAM 的 swap 分区以避免蛰伏失败。
anzu
2019-06-02 11:54:50 +08:00
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate
你说的应该是 Suspend to disk,不用按电源键,建议 swap 分区用固态硬盘,否则保存和恢复很慢。
zeroDev
2019-06-02 12:02:19 +08:00
@iwtbauh swap 一半就够了。不够不会睡眠,晃晃鼠标屏幕又会亮

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/569928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX