在提升权限的终端中执行以下命令即可禁用现代待机 (Modern Standby)
reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0
禁用 Modern Standby 后能让系统在睡眠后进入 S3 睡眠状态。相比默认的 S0 (又称 Connected Standby 和 Modern Standby ),S3 睡眠因为只需要给主存供电,省电效果仅次于休眠(耗电等同于关机),此外,由于芯片组基本不工作,S3 可以避免由于程序异常唤醒系统导致睡眠时耗电和发热的问题。S3 相比于 S0 的缺点有无法在睡眠时进行接收邮件、播放音乐、保持闹铃等工作,同时从睡眠中唤醒会需要更长时间(在我的笔记本上大约需要多 0.5-1.0 秒左右),如果没有以上需求,建议禁用 Modern Standby,这样能让电脑“即开即用”,不必担心睡眠时电量被异常消耗。
还有一个推荐的设置,让电脑睡眠超过一定时间后进入休眠状态,我个人设置了 3 小时,可以在高级电源计划中更改。进入休眠状态后不会耗电且能够快速恢复(看硬盘速度)。
1
generic 2021 年 7 月 10 日
这什么原理... 我在 Linux 下 ACPI 只报告 S0,根本不支持 S3 。Windows 有什么后门可以让 ACPI 报告 S3,还是说别管它报告什么强行进 S3 就行了...
|
2
Jat001 2021 年 7 月 10 日
休眠是什么?显示器都不关的
|
3
shoaly 2021 年 7 月 11 日
换过无数个笔记本, win 都经常莫名其妙的被唤醒... 从书包里面拿出来的时候, 电脑烫手不说, 电池已经没电了....
刚刚搜了一下 s3 知识, 猛然惊醒, 可能是我自己的锅, 因为盖上笔记本之后, 我会把鼠标一起丢书包里面 , 但是鼠标并没有关掉, 所以这么多年 win 都是被我自己带的鼠标唤醒的么??? |
5
billgong 2021 年 7 月 11 日
@generic 那就没辙了,很多 PC 是系统支持 S0 的情况下强制使用 S0 的,但 ACPI 仍然报 S3 。你 BIOS 都不报 S3,这个除非像当初 XPS 15 那种用 rEFInd 加料,否则无解的。
|
6
billgong 2021 年 7 月 11 日
@shoaly 如果你系统支持 S3,那么设备管理器的键盘鼠标类应该可以设置是否 USB 唤醒。不过 S0 就比较尴尬了,要么整机不支持 USB 唤醒,要么就关不掉。比如我的 XPS9300,如果留着 Modern Standby,USB 设备就永远可以唤醒(不过反正机器也不算真正待机,说它被唤醒好像牵强了点儿😓)
|
7
verrickt 2021 年 7 月 11 日 via Android
这个对 20H2 不管用吧
|
8
shinko 2021 年 7 月 11 日 via iPhone
Evo 认证的笔记本都不支持 s3 了
|
9
autoxbc 2021 年 7 月 11 日
为了 PC 向平板过渡,Intel 搞了个 S0ix,微软搞了个 Metro Design,最终都成笑柄
|
12
jim9606 2021 年 7 月 12 日
楼主验证过这个选项是重新启用 S3 ( Suspend to RAM )吗?还是只是禁用 S0ix 让系统不睡眠而已?看一下 powercfg -a 提示支持啥状态。
通常 S0ix 改 S3 是要 BIOS 支持更改的,而且按微软文档得重装系统。 @shoaly 用 S3 的建议电源选项禁用唤醒定时器和在设备管理器禁用键鼠唤醒,另外就是先拔电源后合盖。像我设置了接电源不睡眠的不这样做就不会进 S3 。 @billgong 个人感觉如果用无线键鼠的放进包前把开关关掉就好了。我现在搞不懂的是微软是怎么处理 S0ix 状态的非 UWP 应用的,是个别应用滥用了阻止待机的功能,还是 S0ix 就是强行压低功耗频率而已? |
13
dingwen07 OP @jim9606 #12 我不清楚 S0ix 是什么状态,但是原来显示支持 S0 、因为 S0 而禁用 S3 的系统,设置了这个之后目前是 S3
|
14
ysc3839 2021 年 7 月 12 日 via Android
@jim9606 印象中非 UWP 应用会暂停运行。可以打开任务管理器后睡眠,等一段时间唤醒,看看任务管理器性能图如何变化。
|
15
generic 2021 年 7 月 12 日
@billgong 嗯我修改了 ACPI SSDT 强制让它报告支持 S3 (看起来是需要打开 NVRAM 里的某个开关,但 BIOS 设置里没有对应选项。我把判断开关的 if 语句删除了)。不过进了 S3 之后无法唤醒。可能 BIOS 的 S3 支持确实是有 bug 所以不给选项。
|
17
jim9606 2021 年 7 月 12 日
@dingwen07 S0ix 在 powercfg -a 中显示为”待机(S0 低电量待机)“也就是你说的现代待机。这篇专栏详细介绍了这些电源状态( https://zhuanlan.zhihu.com/p/114448236 )你那个看上去应该是真改了 S3 的。
@generic 待机和唤醒需要笔记本的 EC 配合控制,可能不是改个 ACPI 表那么简单。 另外微软将现代待机列为启用设备加密的必要条件,是因为 S3 有什么安全问题吗? |
18
generic 2021 年 7 月 12 日
@jim9606 之前有些型号,包括小米的,确实是强制打开 S3 就可以。但是显然这个因机而异,这次运气没这么好。而且以后新机器对 S3 的支持怕是越来越不能指望。
S3 确实有一些安全漏洞,主要是 BIOS 在启动时做的一些检查,在唤醒时没做,使得有可能在挂起时物理替换掉 BIOS 固件,而不经过 BIOS 的签名验证。https://trmm.net/Sleep_attack/ |
19
dingwen07 OP @generic #18 我的 yoga14s 锐龙版,似乎是直接不支持 S0,联想挺给力的
我看了下你说的这个 S3 漏洞,如果我把电脑设置为睡眠一段时间后休眠,这样子和电脑离开我超过这段时间应该就能避免这个漏洞被利用。 |
21
kenvix 2022 年 7 月 15 日
妈的,BIOS 没做 S3 睡眠的支持,强行进 S3 再唤醒直接死机了
|