使用电源按钮强制系统崩溃

bug 检查0x1C8:当在显示的注册表项中设置以下注册表值时,可以通过长按电源按钮来强制MANUALLY_INITIATED_POWER_BUTTON_HOLD手动系统崩溃:

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

若要启用手动系统崩溃电源按钮保持功能,请从提升的命令提示符运行以下命令:

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonBugCheck /t REG_DWORD /d 0x1 /f

如果此注册表 值不存在, 则必须重新启动系统才能使此更改生效。

如果此注册表值 确实 存在并且值已更改,则 无需 重新启动系统即可使更改生效。

当电源按钮按住 7 秒,但在 UEFI 重置发生 10 秒之前释放时,会出现 bug 检查。

触发该功能时,不会显示常规 bug 检查蓝屏或绿屏。 相反,你将看到一个显示 “请释放电源”按钮的黑屏。我们只需要几秒钟的时间关闭 和完成百分比指标。

看到此屏幕后,释放电源按钮非常重要。 如果继续按住电源按钮较长时间,可能会触发固件硬关闭超时,通常为 10 秒左右。 如果发生这种情况,则转储可能无法完成,并且可能已损坏。

在某些系统(如 ARM64 笔记本电脑)上,固件计时器较短,因此必须在 7 秒后立即释放电源按钮,以防止硬断电中断转储的完成。

此功能在 Windows 10 1809 /Windows Server 2019 及更新版本中可用。

Bug 检查0x11C8:MANUALLY_INITIATED_POWER_BUTTON_HOLD_LIVE_DUMP

还可以使用长电源按钮保持 (LPBH) 创建实时转储,而不是重启电脑。 有关实时转储的一般信息,请参阅 内核实时转储代码参考

若要启用电源按钮保持实时转储功能,请设置以下注册表项下的 PowerButtonLiveDump 值:

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

若要启用电源按钮实时转储功能,请从提升的命令提示符运行以下命令:

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonLiveDump /t REG_DWORD /d 0x1 /f

如果此 注册表项不存在, 则必须重新启动系统才能使此更改生效。

如果此注册表项 确实 存在且值已更改,则 无需 重新启动系统即可使更改生效。

此功能在 Windows 10 版本 22000 及更新版本中可用。

PowerButtonLiveDump 自定义

可以按如下所示自定义 PowerButtonLiveDump 注册表值。

名称 长度(以位为单位) 从开始偏移 含义 默认值
已启用 1 0 设置后,将启用电源按钮实时转储。 不可用
UserPages 1 1 设置后, 将请求捕获实时转储中的用户模式内存。 0
HypervisorPages 1 2 设置后, 将请求捕获实时转储中的虚拟机监控程序页面。 0
保留 1 3 预留 N/A
TimeoutInSec 4 4 指定捕获实时转储文件的超时值(以秒为单位)。 只有 2 到 6 (包括 2 和 6) 的值才有效。 如果指定了任何其他值,将使用默认超时值 5 秒。 5
预留 24 8 预留 N/A

例如,从提升的命令提示符运行以下命令将启用包含 UserPages 和 TimeoutInSec 为 2 的 PowerButtonLiveDump 功能。 当电源按钮按住 2 秒时,内核将请求捕获完整实时转储文件。

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonLiveDump /t REG_DWORD /d 0x23 /f

PowerButtonBugcheck 和 PowerButtonLiveDump 优先级

如果在同一设备上同时配置并启用了 PowerButtonBugcheck 和 PowerButtonLiveDump,则调用时将发生 PowerButtonBugcheck,而 PowerButtonLiveDump 将不会发生。

长电源按钮保持 (LPBH) 的设备支持

若要支持长电源按钮保持,设备需要:

  • 基于 常规用途 I/O (GPIO) 电源按钮
  • 用于将电源事件路由到 Windows Power Manager 的固件
  • 在注册表中启用的 bug 检查功能

另请参阅

Bug 检查0x11C8:MANUALLY_INITIATED_POWER_BUTTON_HOLD_LIVE_DUMP

Show 内部 - bugcheck 0x1C8 MANUALLY_INITIATED_POWER_BUTTON_HOLD

ACPI 按钮设备