运行 cat /sys/power/state 查看可用唤醒模式,常见输出为 mem disk freeze,其中 mem 对应 suspend(内存供电、快速唤醒),disk 对应 hibernate(数据写入磁盘、断电),freeze 为轻量挂起;若缺失 disk 说明 hibernate 未启用,缺失 mem 则可能因 bios 中 s3 状态未开启。

如何确认当前系统支持的唤醒模式
Ubuntu 的唤醒行为取决于内核支持的挂起/休眠后端,不是所有模式在所有硬件上都可用。先查清你机器实际能用什么:
- 运行
cat /sys/power/state查看可用状态,常见输出如mem disk freeze——其中mem对应 suspend(内存供电,快速唤醒),disk对应 hibernate(数据写入磁盘,断电),freeze是轻量级挂起,一般不用于用户唤醒场景 - 若输出不含
disk,说明 hibernate 未启用(通常因 swap 分区配置或内核参数缺失);不含mem则可能是 ACPI 或固件限制,需检查 BIOS 中 S3 状态是否启用 -
sudo systemctl status sleep.target可确认当前默认挂起目标,但不反映底层能力
如何设置默认唤醒策略为 suspend(mem)
这是最常用、兼容性最好的策略,适用于绝大多数笔记本和台式机。它依赖主板支持 S3 状态,唤醒后几乎瞬时恢复。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 无需额外配置,默认就是
mem:执行systemctl suspend即走此路径 - 若发现唤醒后黑屏或卡死,大概率是显卡驱动问题 —— NVIDIA 闭源驱动常导致 suspend 后无法恢复显示,可临时改用
sudo systemctl suspend --ignore-inhibitors测试是否被进程阻塞 - 想强制使用 mem 模式且禁用其他选项,编辑
/etc/systemd/sleep.conf,取消注释并设为:SuspendState=mem(注意不是mem sleep,后者无效)
如何启用并设置 hibernate(disk)为可选唤醒策略
hibernate 会把内存内容写入 swap,断电保存,适合长时间离线但仍需保留工作状态的场景。但它要求 swap 空间 ≥ RAM 容量,且需内核参数配合。
- 确认 swap 类型:运行
swapon --show=NAME,TYPE,SIZE,必须有 type 为partition或file的 swap;LVM 或 zram 不支持 hibernate - 获取 swap 设备 UUID:对 swap 分区运行
sudo blkid -s UUID -o value /dev/sdXn;对 swap 文件运行sudo findmnt -no SOURCE,UUID -t swap - 编辑
/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT行末尾添加:resume=UUID=xxx(替换为上一步得到的 UUID) - 更新 grub:
sudo update-grub,然后重启 - 启用 hibernate:
sudo systemctl hibernate;若报错 “Failed to hibernate system via logind”,说明 systemd-logind 阻止了该操作,可临时用sudo systemctl hibernate --ignore-inhibitors测试
rtcwake 定时唤醒时如何指定策略
定时唤醒必须明确指定挂起模式,否则 rtcwake 默认使用 mem,但某些主板在 mem 下无法按时唤醒(尤其搭配 USB 键鼠时)。
-
sudo rtcwake -m mem -s 300:挂起到内存,5 分钟后唤醒 —— 最快,但依赖 RAM 供电持续 -
sudo rtcwake -m disk -s 300:挂起到磁盘,5 分钟后唤醒 —— 更可靠,但唤醒慢,且需 hibernate 已配置成功 -
sudo rtcwake -m no -t $(date +%s -d 'tomorrow 07:00'):仅设置 RTC 唤醒时间,不立即挂起 —— 常用于配合 cron 脚本,在休眠前预设唤醒点 - 关键陷阱:
-m mem在部分 Dell/HP 笔记本上会因 USB 自动挂起失效而无法唤醒,此时换用-m freeze或-m disk反而更稳
mem 模式;真正需要 disk 的场景极少,且配置稍复杂。RTC 唤醒的可靠性比模式选择本身更依赖 BIOS 设置(比如关闭 ErP 和 Fast Boot)和网卡电源管理(ethtool -s eth0 wol g 会影响唤醒信号接收)。










