将 Windows Modern Standby 切回 S3 待机模式
M$ 在 Windows 10 引入了新的 Modern Standby 待机模式,以替代传统的 S3 待机。但是这个功能也造成了一些问题,我发现我的笔记本即便在"睡眠"状态下仍然在发热、耗电,怀疑是 Modern Standby 的即时唤醒和后台连接功能导致了电量耗尽,考虑切换到S3待机模式解决待机耗电的问题。
本文将详细介绍 Windows 10 的各种待机模式,并提供在 Modern Standby 和传统 S3 待机之间切换的方法,以便于在待机和电量消耗之间取得平衡。
Windows 待机模式详解
ACPI 电源状态说明
ACPI (Advanced Configuration and Power Interface) 定义了以下几种系统电源状态:
状态 | 名称 | 描述 | 唤醒时间 | 功耗 |
---|---|---|---|---|
S0 | 正常工作 | 系统完全运行 | - | 最高 |
S1 | 轻度睡眠 | CPU 停止工作,RAM 保持供电 | 0秒 | 高 |
S2 | 深度睡眠 | CPU 关闭,RAM 保持供电 | 0.1秒 | 中等 |
S3 | 待机/睡眠 | 除内存外所有部件停止工作 | 0.5秒 | 低 |
S4 | 休眠 | 内存内容写入硬盘,所有部件停止 | 30秒 | 极低 |
S5 | 关机 | 系统完全关闭 | 完整启动时间 | 最低 |
Modern Standby (S0ix) 模式
Windows 10 引入的 Modern Standby 基于 S0 状态,支持两种工作模式:
Connected Standby(连接待机)
- 特点:待机后 WiFi、网络连接保持活跃
- 优势:可接收通知、邮件、更新等
- 功耗:相对较高
Disconnected Standby(断开待机)
- 特点:待机后断开网络,网络设备进入 D3cold 状态
- 优势:更省电
- 功耗:相对较低
Modern Standby vs 传统 S3 待机
特性 | Modern Standby (S0ix) | 传统 S3 待机 |
---|---|---|
唤醒速度 | 即时唤醒 (Instant On) | 0.5秒左右 |
网络连接 | 可保持连接 | 完全断开 |
后台活动 | 支持有限的后台任务 | 完全暂停 |
兼容性 | 需要硬件和驱动支持 | 广泛兼容 |
功耗 | 相对较高 | 更低 |
参考文档:Modern Standby 详细介绍
系统待机状态诊断
生成睡眠研究报告
# 在当前目录生成详细的睡眠报告(HTML 格式)
powercfg.exe /SleepStudy
查看系统支持的待机状态
powercfg.exe /a
Modern Standby 系统的典型输出:
The following sleep states are available on this system:
Standby (S0 Low Power Idle) Network Connected
The following sleep states are not available on this system:
Standby (S1)
The system firmware does not support this standby state.
This standby state is disabled when S0 low power idle is supported.
Standby (S2)
The system firmware does not support this standby state.
This standby state is disabled when S0 low power idle is supported.
Standby (S3)
This standby state is disabled when S0 low power idle is supported.
Hibernate
Hibernation has not been enabled.
Hybrid Sleep
Standby (S3) is not available.
Hibernation is not available.
The hypervisor does not support this standby state.
Fast Startup
Hibernation is not available.
禁用 Modern Standby,启用传统 S3 待机
方法一:注册表修改
Windows 10 2004 之前版本
# 禁用 Connected Standby
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v CsEnabled /t REG_DWORD /d 0 /f
# 禁用 Away Mode
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v AwayModeEnabled /t REG_DWORD /d 0 /f
Windows 10 20H1 及更新版本
注意:从 Windows 10 20H1 开始,微软移除了
CsEnabled
选项,需要使用新的注册表项。
# 覆盖平台 AoAc (Always on, Always connected) 设置
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v PlatformAoAcOverride /t REG_DWORD /d 0 /f
手动添加注册表项:
- 路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\
- 名称:
PlatformAoAcOverride
- 类型:
DWORD (32-bit)
- 数值:
0
验证修改结果
修改注册表后重启系统,再次检查待机状态:
powercfg.exe /a
成功切换到 S3 待机的输出:
The following sleep states are available on this system:
Standby (S3)
The following sleep states are not available on this system:
Standby (S1)
The system firmware does not support this standby state.
Standby (S2)
The system firmware does not support this standby state.
Hibernate
Hibernation has not been enabled.
Standby (S0 Low Power Idle)
The system firmware does not support this standby state.
Hybrid Sleep
Hibernation is not available.
The hypervisor does not support this standby state.
故障排除:如果输出显示 "The system firmware does not support this standby state.",说明需要在 BIOS 中启用 S3 支持。
方法二:BIOS 设置修改
通用 BIOS 设置
在 BIOS 中查找以下选项并进行相应设置:
- S3 Sleep Support:
Enabled
- Modern Standby:
Disabled
- Connected Standby:
Disabled
联想小新 Air14 BIOS 设置
步骤 1:关闭热键设置
- 开机时按住
F2
进入 BIOS - 修改以下设置:
OneKeyBattery
→Disabled
HotKey Mode
→Disabled
步骤 2:进Advanced BIOS修改ACPI
- 按F2常规方式进入BIOS;
- 长按电源键关机(黑屏为止);
- 依次按下 “F1-1-Q-A-Z, F2-2-W-S-X, ... , F6-6-Y-H-N” 一共6排30个按键
- 重新开机进入BIOS
- 找到
S3/Modern Standby Support
,选择S3 Enable
- 在
Advanced-ACPI Settings
中设置为S3
- 保存并重启
第三方工具解决方案
如果你的电脑厂商没有提供官方的S3支持或者BIOS下的S3设置项,可以尝试以下工具:
Modern-Standby-Byby - This EFI application lets you to disable Windows Modern Standby / Connected Standby / S0 Sleep on ANY platform.
Github: https://github.com/ElectronicElephant/Modern-Standby-Byby
设备唤醒管理
查看唤醒设备状态
查看哪些硬件设备能唤醒OS
powercfg /devicequery wake_armed
示例输出:
Synaptics FS7604 Touch Fingerprint Sensor with PurePrint(TM)
HID-compliant mouse (003)
列出所有支持唤醒功能的设备
powercfg /devicequery wake_programmable
示例输出:
HID-compliant vendor-defined device (002)
Synaptics FS7604 Touch Fingerprint Sensor with PurePrint(TM)
HID-compliant mouse (003)
Intel(R) Ethernet Connection
Realtek PCIe GbE Family Controller
管理设备唤醒权限
禁用特定设备的唤醒功能
# 禁用鼠标唤醒
powercfg /devicedisablewake "HID-compliant mouse (003)"
# 禁用网卡唤醒(Wake-on-LAN)
powercfg /devicedisablewake "Intel(R) Ethernet Connection"
启用特定设备的唤醒功能
# 启用鼠标唤醒
powercfg /deviceenablewake "HID-compliant mouse (003)"
# 启用键盘唤醒
powercfg /deviceenablewake "HID Keyboard Device"
常见问题
Q: 如何判断我的系统是否支持 S3 待机?
A: 运行 powercfg /a
命令,如果输出中包含 "Standby (S3)" 且状态为可用,则支持 S3 待机。
Q: 修改注册表后系统无法正常启动怎么办?
A: 可以通过以下方式恢复:
- 进入安全模式
- 删除添加的注册表项
- 或者使用系统还原点恢复
Q: Modern Standby 和 S3 待机哪个更好?
A: 这取决于您的使用场景:
- 选择 Modern Standby:需要即时唤醒、接收通知、硬件兼容性好
- 选择 S3 待机:更省电、兼容性更广、双系统环境
Q: 为什么我的笔记本电脑在待机时仍然发热?
A: 这通常是 Modern Standby 导致的,系统在待机时仍在运行某些后台任务。切换到 S3 待机可以解决这个问题。
相关命令速查
# 查看系统支持的待机状态
powercfg /a
# 生成睡眠研究报告
powercfg /sleepstudy
# 查看可唤醒设备
powercfg /devicequery wake_armed
# 查看所有支持唤醒的设备
powercfg /devicequery wake_programmable
# 禁用设备唤醒
powercfg /devicedisablewake "设备名称"
# 启用设备唤醒
powercfg /deviceenablewake "设备名称"
# 启用休眠
powercfg /hibernate on
# 禁用休眠
powercfg /hibernate off
# 设置休眠文件大小
powercfg /hibernate /type reduced # 减少大小
powercfg /hibernate /type full # 完整大小