重装 Windows 系统后连接待机/现代待机设备无法进入 DRIPS 的处理(DisableInboxPepGeneratedConstraints)

目录

给新购买的 Yoga Duet 平板重装系统后, 发现平板睡眠时无法进入 DRIPS, 导致睡眠功耗异常高, 且睡眠唤醒过程时常蓝屏, 而 OEM 的系统就一切正常, 见鬼!

最终在 OEM 的系统中发现了一处特殊的设置, 才算成功解救一直炸裂的睡眠.

TL;DR /太长不看

如果你也遇到的类似的问题, 可以尝试导入下面的注册表后重启试试看睡眠功耗正常没有. 若无效, 建议打开注册表编辑器删除 DisableInboxPepGeneratedConstraints 或者设置值为 0 来还原.

OEM 系统中, 可能会在注册表中设置以下的值:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"DisableInboxPepGeneratedConstraints"=dword:00000001

点击此处下载 DisableInboxPepGeneratedConstraints.reg 注册表文件, 可直接导入测试.

我没有在微软官方网站找到文档解释此注册表设置的影响, 但 OEM 的系统设置了此键, 因此平板可以正常进入 DRIPS.

不正常的睡眠

设备是 S0ix 现代待机(即之前的连接待机), 嫌弃原装系统重装后噩梦开始, 平板一直不正常, 基本无法舒心使用, 遇到了这些情况:

  • 睡眠或者唤醒中容易蓝屏死机. (OEM 系统无此问题)
  • 睡眠功耗过高, 睡眠中电池消耗速度过快.
  • 经过简单分析, 发现设备无法进入 DRIPS, 睡眠过程中一直有活动.
  • powercfg /sleepstudy 报告显示存储设备在睡眠过程中一直唤醒.
  • 设置现代待机中网络断开无任何帮助.

微软官方文档介绍可以使用 Windows Performance Analyzer 工具诊断现代待机睡眠问题, 但我不会使用 Windows Performance Analyzer, 只能看出计算机没有进入 DRIPS 状态.

这是异常的 powercfg /sleepstudy 报告:

sleepstudy

可以看到, 睡眠功耗高达 1.2W, 不到 3 小时就可能因为电池消耗过快而自动转入休眠 (默认情况下, 睡眠耗电超过 5% 即转入休眠).

这是异常的 WPA 记录的日志, 我不会用 WPA, 但晃眼可以看出, 整个睡眠过程中, 平板一直保持活动 (不是维护/更新等后台导致的活动)

wpa

设置 DisableInboxPepGeneratedConstraints 后的变化

设置 DisableInboxPepGeneratedConstraints =1 重启后, sleepstudy 可以看出设备正常睡眠, 能进入 DRIPS.

sleepstudy

1.2W vs 0.2W 的睡眠功耗, 相差可以说很大了, 0.2W 是比较优秀的情况, 极端情况下, 也是 1.5W vs 0.5W (比较少见).

WPA 报告中, 也可见设备睡眠过程中, 几乎无活动了, 也能进入 DRIPS 了.

WPA

WPA

后续观察

微软原版 ISO 重装 + 设置 DisableInboxPepGeneratedConstraints =1 后, 我已经用了 2 个多月了, 平板没有出现过任何蓝屏问题, 现代待机睡眠也变得正常, 当然, 相对于 S3 待机, 耗电还是有点大, 但我已经完全能接受.

根据 powercfg /sleepstudy 报告分析, 大部分情况下, 待机 24 小时耗电不到 20%, 也就是说, 每小时耗电不到 1% (大部分情况下每小时 0.7% 左右), 偶尔偏高, 但不影响.