V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dingwen07
V2EX  ›  Windows

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

  •  
  •   dingwen07 · 2021-07-10 22:10:35 +08:00 · 7664 次点击
    这是一个创建于 1230 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在提升权限的终端中执行以下命令即可禁用现代待机 (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 小时,可以在高级电源计划中更改。进入休眠状态后不会耗电且能够快速恢复(看硬盘速度)。

    21 条回复    2022-07-15 22:53:03 +08:00
    generic
        1
    generic  
       2021-07-10 23:04:36 +08:00
    这什么原理... 我在 Linux 下 ACPI 只报告 S0,根本不支持 S3 。Windows 有什么后门可以让 ACPI 报告 S3,还是说别管它报告什么强行进 S3 就行了...
    Jat001
        2
    Jat001  
       2021-07-10 23:08:38 +08:00
    休眠是什么?显示器都不关的
    shoaly
        3
    shoaly  
       2021-07-11 00:18:23 +08:00
    换过无数个笔记本, win 都经常莫名其妙的被唤醒... 从书包里面拿出来的时候, 电脑烫手不说, 电池已经没电了....
    刚刚搜了一下 s3 知识, 猛然惊醒, 可能是我自己的锅, 因为盖上笔记本之后, 我会把鼠标一起丢书包里面 , 但是鼠标并没有关掉, 所以这么多年 win 都是被我自己带的鼠标唤醒的么???
    fds
        4
    fds  
       2021-07-11 01:08:24 +08:00
    @shoaly 有些道理,不过 mac 似乎不这样。
    billgong
        5
    billgong  
       2021-07-11 01:14:27 +08:00
    @generic 那就没辙了,很多 PC 是系统支持 S0 的情况下强制使用 S0 的,但 ACPI 仍然报 S3 。你 BIOS 都不报 S3,这个除非像当初 XPS 15 那种用 rEFInd 加料,否则无解的。
    billgong
        6
    billgong  
       2021-07-11 01:17:53 +08:00
    @shoaly 如果你系统支持 S3,那么设备管理器的键盘鼠标类应该可以设置是否 USB 唤醒。不过 S0 就比较尴尬了,要么整机不支持 USB 唤醒,要么就关不掉。比如我的 XPS9300,如果留着 Modern Standby,USB 设备就永远可以唤醒(不过反正机器也不算真正待机,说它被唤醒好像牵强了点儿😓)
    verrickt
        7
    verrickt  
       2021-07-11 11:23:13 +08:00 via Android
    这个对 20H2 不管用吧
    shinko
        8
    shinko  
       2021-07-11 11:59:53 +08:00 via iPhone
    Evo 认证的笔记本都不支持 s3 了
    autoxbc
        9
    autoxbc  
       2021-07-11 12:09:01 +08:00
    为了 PC 向平板过渡,Intel 搞了个 S0ix,微软搞了个 Metro Design,最终都成笑柄
    cubecube
        10
    cubecube  
       2021-07-12 09:31:26 +08:00
    @fds MBP 偶尔也会。。原因不明。
    时不时背包里面拿出来,温热的,电量也消耗了 20-30%
    hfc
        11
    hfc  
       2021-07-12 10:57:55 +08:00
    @shoaly 就是鼠标,这个我也遇过,然后就把“鼠标唤醒”的功能给关了
    jim9606
        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 就是强行压低功耗频率而已?
    dingwen07
        13
    dingwen07  
    OP
       2021-07-12 12:00:58 +08:00
    @jim9606 #12 我不清楚 S0ix 是什么状态,但是原来显示支持 S0 、因为 S0 而禁用 S3 的系统,设置了这个之后目前是 S3
    ysc3839
        14
    ysc3839  
       2021-07-12 13:36:30 +08:00 via Android
    @jim9606 印象中非 UWP 应用会暂停运行。可以打开任务管理器后睡眠,等一段时间唤醒,看看任务管理器性能图如何变化。
    generic
        15
    generic  
       2021-07-12 14:41:31 +08:00
    @billgong 嗯我修改了 ACPI SSDT 强制让它报告支持 S3 (看起来是需要打开 NVRAM 里的某个开关,但 BIOS 设置里没有对应选项。我把判断开关的 if 语句删除了)。不过进了 S3 之后无法唤醒。可能 BIOS 的 S3 支持确实是有 bug 所以不给选项。
    JustinL
        16
    JustinL  
       2021-07-12 15:31:12 +08:00 via Android
    @shoaly @hfc 我的笔记本没有鼠标也出现这种情况。
    jim9606
        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 有什么安全问题吗?
    generic
        18
    generic  
       2021-07-12 17:05:54 +08:00
    @jim9606 之前有些型号,包括小米的,确实是强制打开 S3 就可以。但是显然这个因机而异,这次运气没这么好。而且以后新机器对 S3 的支持怕是越来越不能指望。

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

    我看了下你说的这个 S3 漏洞,如果我把电脑设置为睡眠一段时间后休眠,这样子和电脑离开我超过这段时间应该就能避免这个漏洞被利用。
    shoaly
        20
    shoaly  
       2021-07-14 01:51:13 +08:00
    @jim9606 所以很傻屌的设计, 笔记本盖子都合上了, 鼠标还能唤醒...... 这在我这个外行看来 就是一行 if 的事情...
    kenvix
        21
    kenvix  
       2022-07-15 22:53:03 +08:00
    妈的,BIOS 没做 S3 睡眠的支持,强行进 S3 再唤醒直接死机了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:47 · PVG 06:47 · LAX 14:47 · JFK 17:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.