Windows 10 禁用现代待机 (Modern Standby),回到 S3

2021-07-10 22:10:35 +08:00
 dingwen07

在提升权限的终端中执行以下命令即可禁用现代待机 (Modern Standby)

reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0

Reference: https://docs.microsoft.com/en-us/windows/iot-core/learn-about-hardware/wakeontouch#disabling-modern-standby

禁用 Modern Standby 后能让系统在睡眠后进入 S3 睡眠状态。相比默认的 S0 (又称 Connected Standby 和 Modern Standby ),S3 睡眠因为只需要给主存供电,省电效果仅次于休眠(耗电等同于关机),此外,由于芯片组基本不工作,S3 可以避免由于程序异常唤醒系统导致睡眠时耗电和发热的问题。S3 相比于 S0 的缺点有无法在睡眠时进行接收邮件、播放音乐、保持闹铃等工作,同时从睡眠中唤醒会需要更长时间(在我的笔记本上大约需要多 0.5-1.0 秒左右),如果没有以上需求,建议禁用 Modern Standby,这样能让电脑“即开即用”,不必担心睡眠时电量被异常消耗。

还有一个推荐的设置,让电脑睡眠超过一定时间后进入休眠状态,我个人设置了 3 小时,可以在高级电源计划中更改。进入休眠状态后不会耗电且能够快速恢复(看硬盘速度)。

7736 次点击
所在节点    Windows
21 条回复
generic
2021-07-10 23:04:36 +08:00
这什么原理... 我在 Linux 下 ACPI 只报告 S0,根本不支持 S3 。Windows 有什么后门可以让 ACPI 报告 S3,还是说别管它报告什么强行进 S3 就行了...
Jat001
2021-07-10 23:08:38 +08:00
休眠是什么?显示器都不关的
shoaly
2021-07-11 00:18:23 +08:00
换过无数个笔记本, win 都经常莫名其妙的被唤醒... 从书包里面拿出来的时候, 电脑烫手不说, 电池已经没电了....
刚刚搜了一下 s3 知识, 猛然惊醒, 可能是我自己的锅, 因为盖上笔记本之后, 我会把鼠标一起丢书包里面 , 但是鼠标并没有关掉, 所以这么多年 win 都是被我自己带的鼠标唤醒的么???
fds
2021-07-11 01:08:24 +08:00
@shoaly 有些道理,不过 mac 似乎不这样。
billgong
2021-07-11 01:14:27 +08:00
@generic 那就没辙了,很多 PC 是系统支持 S0 的情况下强制使用 S0 的,但 ACPI 仍然报 S3 。你 BIOS 都不报 S3,这个除非像当初 XPS 15 那种用 rEFInd 加料,否则无解的。
billgong
2021-07-11 01:17:53 +08:00
@shoaly 如果你系统支持 S3,那么设备管理器的键盘鼠标类应该可以设置是否 USB 唤醒。不过 S0 就比较尴尬了,要么整机不支持 USB 唤醒,要么就关不掉。比如我的 XPS9300,如果留着 Modern Standby,USB 设备就永远可以唤醒(不过反正机器也不算真正待机,说它被唤醒好像牵强了点儿😓)
verrickt
2021-07-11 11:23:13 +08:00
这个对 20H2 不管用吧
shinko
2021-07-11 11:59:53 +08:00
Evo 认证的笔记本都不支持 s3 了
autoxbc
2021-07-11 12:09:01 +08:00
为了 PC 向平板过渡,Intel 搞了个 S0ix,微软搞了个 Metro Design,最终都成笑柄
cubecube
2021-07-12 09:31:26 +08:00
@fds MBP 偶尔也会。。原因不明。
时不时背包里面拿出来,温热的,电量也消耗了 20-30%
hfc
2021-07-12 10:57:55 +08:00
@shoaly 就是鼠标,这个我也遇过,然后就把“鼠标唤醒”的功能给关了
jim9606
2021-07-12 11:40:59 +08:00
楼主验证过这个选项是重新启用 S3 ( Suspend to RAM )吗?还是只是禁用 S0ix 让系统不睡眠而已?看一下 powercfg -a 提示支持啥状态。

通常 S0ix 改 S3 是要 BIOS 支持更改的,而且按微软文档得重装系统。

@shoaly 用 S3 的建议电源选项禁用唤醒定时器和在设备管理器禁用键鼠唤醒,另外就是先拔电源后合盖。像我设置了接电源不睡眠的不这样做就不会进 S3 。


@billgong 个人感觉如果用无线键鼠的放进包前把开关关掉就好了。我现在搞不懂的是微软是怎么处理 S0ix 状态的非 UWP 应用的,是个别应用滥用了阻止待机的功能,还是 S0ix 就是强行压低功耗频率而已?
dingwen07
2021-07-12 12:00:58 +08:00
@jim9606 #12 我不清楚 S0ix 是什么状态,但是原来显示支持 S0 、因为 S0 而禁用 S3 的系统,设置了这个之后目前是 S3
ysc3839
2021-07-12 13:36:30 +08:00
@jim9606 印象中非 UWP 应用会暂停运行。可以打开任务管理器后睡眠,等一段时间唤醒,看看任务管理器性能图如何变化。
generic
2021-07-12 14:41:31 +08:00
@billgong 嗯我修改了 ACPI SSDT 强制让它报告支持 S3 (看起来是需要打开 NVRAM 里的某个开关,但 BIOS 设置里没有对应选项。我把判断开关的 if 语句删除了)。不过进了 S3 之后无法唤醒。可能 BIOS 的 S3 支持确实是有 bug 所以不给选项。
JustinL
2021-07-12 15:31:12 +08:00
@shoaly @hfc 我的笔记本没有鼠标也出现这种情况。
jim9606
2021-07-12 15:54:02 +08:00
@dingwen07 S0ix 在 powercfg -a 中显示为”待机(S0 低电量待机)“也就是你说的现代待机。这篇专栏详细介绍了这些电源状态( https://zhuanlan.zhihu.com/p/114448236 )你那个看上去应该是真改了 S3 的。


@generic 待机和唤醒需要笔记本的 EC 配合控制,可能不是改个 ACPI 表那么简单。

另外微软将现代待机列为启用设备加密的必要条件,是因为 S3 有什么安全问题吗?
generic
2021-07-12 17:05:54 +08:00
@jim9606 之前有些型号,包括小米的,确实是强制打开 S3 就可以。但是显然这个因机而异,这次运气没这么好。而且以后新机器对 S3 的支持怕是越来越不能指望。

S3 确实有一些安全漏洞,主要是 BIOS 在启动时做的一些检查,在唤醒时没做,使得有可能在挂起时物理替换掉 BIOS 固件,而不经过 BIOS 的签名验证。https://trmm.net/Sleep_attack/
dingwen07
2021-07-12 22:58:35 +08:00
@generic #18 我的 yoga14s 锐龙版,似乎是直接不支持 S0,联想挺给力的

我看了下你说的这个 S3 漏洞,如果我把电脑设置为睡眠一段时间后休眠,这样子和电脑离开我超过这段时间应该就能避免这个漏洞被利用。
shoaly
2021-07-14 01:51:13 +08:00
@jim9606 所以很傻屌的设计, 笔记本盖子都合上了, 鼠标还能唤醒...... 这在我这个外行看来 就是一行 if 的事情...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX