温馨提示×

ubuntu swapper支持休眠吗

小樊
48
2026-09-06 18:36:05
栏目: 智能运维

Ubuntu 里,swapper(swap 分区 / swap 文件)是否支持休眠(hibernate / suspend-to-disk),答案是:支持,但有条件


一、结论先说

Ubuntu 的 swapper 可以支持休眠
但不是默认就开启,也不是所有情况都可用

关键点是:

  • 必须存在 足够大的 swap
  • 内核参数要正确
  • 某些设备(如很多笔记本 + 新内核 + Secure Boot)默认被禁用

二、休眠对 swap 的要求

休眠(hibernate)会把 内存全部写入 swap,所以:

1️⃣ swap 大小

一般建议:

swap ≥ 内存大小

(或至少 内存 - 已用缓存,但实践上等于内存最稳妥)

✅ swap 分区
✅ swap 文件(Ubuntu 17.04+ 支持)


三、Ubuntu 默认情况

桌面版 Ubuntu

  • 默认只启用 suspend(睡眠)
  • hibernate 默认被禁用
  • 即使有 swap,也不会出现在菜单里

原因:

  • 休眠可靠性问题
  • 部分硬件/驱动不支持
  • Secure Boot + 内核限制

四、如何确认是否支持

1️⃣ 看有没有 hibernate 选项

ls /sys/power/
cat /sys/power/state

如果看到:

disk

✅ 内核支持休眠


2️⃣ 手动测试休眠

sudo systemctl hibernate

如果失败,常见原因:

  • swap 太小
  • 没配置 resume=
  • swap 是加密的但没配置对

五、启用 hibernate 的关键配置

如果使用 swap 分区

编辑:

sudo nano /etc/default/grub

添加:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/sdXn"

然后:

sudo update-grub

如果使用 swap 文件(常见)

swapon --show

假设是 /swapfile

获取 offset:

sudo filefrag -v /swapfile

GRUB 中:

resume=/dev/sda1 resume_offset=xxxxx

六、特别注意(很重要)

⚠️ Ubuntu + Secure Boot

  • 某些机型 休眠直接被禁
  • 或休眠后无法唤醒

⚠️ 加密磁盘(LUKS)

  • 需要 resume 在解锁之后
  • 配置复杂,容易失败

七、总结一句话

Ubuntu 的 swapper 支持休眠,但默认不启用,需要足够大的 swap + 正确内核参数 + 硬件兼容

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • 是否用 swap 文件还是分区
  • 是否加密磁盘

我可以给你 一步步可执行的配置方案

0