修改Windows笔记本电脑的睡眠模式
作者:诡锋
B站:https://space.bilibili.com/3342738
GitHub: https://github.com/Vincent-the-gamer
前言
现在大多数笔记本电脑默认采用了S0睡眠模式,而且直接在BIOS里面取消了Advanced里面的ACPI Settings选项,不让你改睡眠模式了。这篇文档旨在如何关闭S0,重新使用S3睡眠模式。S0有啥不好?
电源选项中S1,S2,S3,S4,S5的含义
参考文献: https://blog.csdn.net/xubbb/article/details/124646254
状态含义S0现代待机,CPU最低功耗,屏幕关闭,网络连接,任务的键盘鼠标动作都会唤醒。唤醒速度快,可以低功耗运行软件,并再必要时短时唤醒(但屏幕关闭),比如微信接收信息等。任何鼠标移动或键盘输入都马上唤醒。还有一个工作状态S0,与待机S0有区别。S1CPU待机不工作,屏幕硬盘关闭S2CPU关闭,屏幕硬盘关闭S3只保持RAM供电混合保持RAM供电,并将其写入到硬盘(或一定S3时间后写入硬盘),如果断电,则从硬盘恢复。需要S3支持
所以这里知道为啥要改S3了吧
修改方法
在BIOS里改
这一条对于部分电脑或者老电脑或许有效,因为现在很多电脑的BIOS里面没有这个选项了
如果你的电脑的Advanced里面没有ACPI的相关选项,那就直接退出BIOS吧,这里改不了(反正我的戴尔不行)。
使用cmd改
首先查看当前电脑支持的睡眠模式
在您关闭S0前,无法使用混合睡眠模式
使用cmd,输入以下命令
powercfg -a
查看当前睡眠状态支持情况,如果您的电脑不支持S3的话,那还是放弃吧

S0切换至S3
如果支持,那么打开注册表编辑器(regedit.msc)
修改几个值:(没有就新建一个DWORD 32位值)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power 创建AwayModeEnabled 把值设置为 十六进制的 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power 找到
PlatformAoAcOverride 把值设置为 十六进制的 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power 找到
CsEnabled 把值设置为 十六进制的 0
# 以下重点
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\ModernSleep 找到
EnabledActions 把值设置为 十六进制的 0 # 关闭S0模式(现代睡眠模式)
重启电脑即可。
S3切换回S0
如果您想从S3切换回S0,则逆向操作
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power 找到
AwayModeEnabled 把值设置为 十六进制的 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power 找到
PlatformAoAcOverride 把值设置为 十六进制的 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power 找到
CsEnabled 把值设置为 十六进制的 1
# 如果上面三个是手动创建的,可以直接干掉,不用修改,如果是原本有的,就改吧。
# 以下重点
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\ModernSleep 找到
EnabledActions 把值设置为 十六进制的 7 # 关闭S0模式(现代睡眠模式)
成功演示
如果成功,可以看到已经变成S3了,这时会显示S0不支持,其实并不是不支持,是因为您的注册表,还原回去就好了。

如果都不管用,那说明您的电脑可能不支持