Ubuntu 22.04 休眠功能完整解决流程(多系统+华硕主板)
Ubuntu 22.04 休眠功能完整解决流程(多系统+华硕主板)
我的电脑装了三个系统win10、ubuntu22.04、ubuntu24.04,当前的grub是24.04在管理,但是我主用的是22.04,现在想让22.04能够支持休眠功能,否则每次开机都不知道上次工作在干什么。
说明:适用于 Ubuntu 22.04 + 多系统(含24.04、Windows)+ swapfile在/data下 + 华硕主板,解决“无休眠菜单、休眠后无法恢复、GRUB默认启动错误”问题
核心目标:显示休眠菜单 + 休眠后能正常恢复桌面 + 22.04为GRUB默认启动项
一、BIOS关闭Secure Boot(华硕主板)
-
开机反复按F2/Del进入BIOS
-
按F7进入Advanced Mode(高级模式)
-
找到OS Type(操作系统类型),设置为「Other OS」(其他操作系统)
-
Secure Boot Mode(安全启动模式)设置为「Standard」(标准)
-
按F10保存并重启
二、创建并启用32G swapfile(我的是/data/swapfile,根据实际情况来)
依次执行以下命令,每一条执行完再执行下一条:
sudo fallocate -l 32G /data/swapfile
sudo chmod 600 /data/swapfile
sudo mkswap /data/swapfile
sudo swapon /data/swapfile
echo "/data/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
三、获取休眠恢复关键参数(UUID + 偏移量)
- 获取/data分区UUID(执行后记录结果,示例:cf301861-e3b0-4ad7-bdd1-2034fd5f8ef4)
findmnt -no UUID /data
- 获取swapfile偏移量(执行后记录结果,示例:7573504)
sudo filefrag -v /data/swapfile | awk '{if($1=="0:"){print $4}}'
四、配置GRUB(内核启动参数 + 默认启动项)
- 打开GRUB配置文件
sudo nano /etc/default/grub
- 找到并修改以下两行(替换成自己的UUID和偏移量):
GRUB_CMDLINE_LINUX="resume=UUID=cf301861-e3b0-4ad7-bdd1-2034fd5f8ef4 resume_offset=7573504"
GRUB_DEFAULT=0 # 0代表GRUB菜单第1项(22.04),确保是自己要休眠的系统
-
保存退出:按Ctrl+O → 回车 → Ctrl+X
-
更新GRUB
sudo update-grub
五、配置initramfs(休眠恢复核心)
- 创建resume配置文件
sudo nano /etc/initramfs-tools/conf.d/resume
- 粘贴以下内容(替换成自己的UUID和偏移量):
resume=UUID=cf301861-e3b0-4ad7-bdd1-2034fd5f8ef4 resume_offset=7573504
-
保存退出:Ctrl+O → 回车 → Ctrl+X
-
重建initramfs(所有内核生效)
sudo update-initramfs -u -k all
六、启用电源菜单的休眠选项(polkit权限配置)
- 创建polkit规则文件
sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
- 粘贴以下内容(完整复制,不要修改):
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=yes
ResultInactive=yes
ResultActive=yes
-
保存退出:Ctrl+O → 回车 → Ctrl+X
-
重启polkit服务
sudo systemctl restart polkit
- 注销当前用户,重新登录(休眠菜单即可出现)
七、让22.04接管GRUB(多系统关键,解决恢复失效)
- 执行以下命令(确保在22.04系统中操作)
sudo grub-install /dev/nvme0n1
sudo update-grub
- 重启电脑
sudo reboot
八、正常休眠流程(验证是否成功)
-
在22.04中打开几个窗口/文件(做标记)
-
点击电源菜单 → 选择Hibernate(休眠)
-
电脑完全关机后,按开机键
-
GRUB自动进入第0项(22.04),自动恢复休眠前的桌面和程序
九、注意事项
-
休眠只能在22.04中使用,休眠后不要进入其他Linux系统(会破坏休眠镜像)
-
若休眠菜单仍不显示,注销重登即可,无需额外操作
-
双系统(24.04/Windows)正常使用,不影响休眠功能
-
无需操作dconf-editor,polkit配置已足够启用休眠菜单
(注:文档部分内容可能由 AI 生成)

浙公网安备 33010602011771号