在提升权限的终端中执行以下命令即可禁用现代待机 (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-07-10 23:04:36 +08:00 这什么原理... 我在 Linux 下 ACPI 只报告 S0,根本不支持 S3 。Windows 有什么后门可以让 ACPI 报告 S3,还是说别管它报告什么强行进 S3 就行了... |
![]() | 2 Jat001 2021-07-10 23:08:38 +08:00 休眠是什么?显示器都不关的 |
![]() | 3 shoaly 2021-07-11 00:18:23 +08:00 换过无数个笔记本, win 都经常莫名其妙的被唤醒... 从书包里面拿出来的时候, 电脑烫手不说, 电池已经没电了.... 刚刚搜了一下 s3 知识, 猛然惊醒, 可能是我自己的锅, 因为盖上笔记本之后, 我会把鼠标一起丢书包里面 , 但是鼠标并没有关掉, 所以这么多年 win 都是被我自己带的鼠标唤醒的么??? |
5 billgong 2021-07-11 01:14:27 +08:00 @generic 那就没辙了,很多 PC 是系统支持 S0 的情况下强制使用 S0 的,但 ACPI 仍然报 S3 。你 BIOS 都不报 S3,这个除非像当初 XPS 15 那种用 rEFInd 加料,否则无解的。 |
6 billgong 2021-07-11 01:17:53 +08:00 @shoaly 如果你系统支持 S3,那么设备管理器的键盘鼠标类应该可以设置是否 USB 唤醒。不过 S0 就比较尴尬了,要么整机不支持 USB 唤醒,要么就关不掉。比如我的 XPS9300,如果留着 Modern Standby,USB 设备就永远可以唤醒(不反正机器也不算真正待机,说它被唤醒好像牵强了点儿) |
![]() | 7 verrickt 2021-07-11 11:23:13 +08:00 via Android 这个对 20H2 不管用吧 |
![]() | 8 shinko 2021-07-11 11:59:53 +08:00 via iPhone Evo 认证的笔记本都不支持 s3 了 |
![]() | 9 autoxbc 2021-07-11 12:09:01 +08:00 为了 PC 向平板过渡,Intel 搞了个 S0ix,微软搞了个 Metro Design,最终都成笑柄 |
![]() | 12 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 就是强行压低功耗频率而已? |
![]() | 13 dingwen07 OP @jim9606 #12 我不清楚 S0ix 是什么状态,但是原来显示支持 S0 、因为 S0 而禁用 S3 的系统,设置了这个之后目前是 S3 |
![]() | 14 ysc3839 2021-07-12 13:36:30 +08:00 via Android @jim9606 印象中非 UWP 应用会暂停运行。可以打开任务管理器后睡眠,等一段时间唤醒,看看任务管理器性能图如何变化。 |
15 generic 2021-07-12 14:41:31 +08:00 @billgong 嗯我修改了 ACPI SSDT 强制让它报告支持 S3 (看起来是需要打开 NVRAM 里的某个开关,但 BIOS 设置里没有对应选项。我把判断开关的 if 语句删除了)。不过进了 S3 之后无法唤醒。可能 BIOS 的 S3 支持确实是有 bug 所以不给选项。 |
![]() | 17 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 有什么安全问题吗? |
18 generic 2021-07-12 17:05:54 +08:00 @jim9606 之前有些型号,包括小米的,确实是强制打开 S3 就可以。但是显然这个因机而异,这次运气没这么好。而且以后新机器对 S3 的支持怕是越来越不能指望。 S3 确实有一些安全漏洞,主要是 BIOS 在启动时做的一些检查,在唤醒时没做,使得有可能在挂起时物理替换掉 BIOS 固件,而不经过 BIOS 的签名验证。https://trmm.net/Sleep_attack/ |
![]() | 19 dingwen07 OP @generic #18 我的 yoga14s 锐龙版,似乎是直接不支持 S0,联想挺给力的 我看了下你说的这个 S3 漏洞,如果我把电脑设置为睡眠一段时间后休眠,这样子和电脑离开我超过这段时间应该就能避免这个漏洞被利用。 |
![]() | 20 shoaly 2021-07-14 01:51:13 +08:00 @jim9606 所以很傻的设计, 笔记本盖子都合上了, 鼠标还能唤醒...... 这在我这个外行看来 就是一行 if 的事情... |
21 kenvix 2022-07-15 22:53:03 +08:00 妈的,BIOS 没做 S3 睡眠的支持,强行进 S3 再唤醒直接死机了 |