当 Windows 11 电脑发生死机,用户若选择长按电源键强制关机,操作系统并非立即停止工作,而是在最后几秒内尝试保存一份故障快照。在内核捕获紧急转储文件(dump)后,若用户的诊断数据设置允许,Windows 可在下次启动时将其上传至微软的“Windows 错误报告”服务。

长按电源键触发内核转储机制

微软内部将此类因“长按电源键”导致的故障称为 LPBH 故障。针对完全黑屏状态下的此类故障,微软设有专门团队进行分析。据微软工程师介绍,当用户长按电源键时,Windows 内核会在硬件断电前感知到这一操作并迅速生成转储文件。

通常情况下,长按电源键持续 12 秒会触发硬件层面的直接断电,此时系统无法通知 Windows。但在断电前的数秒内(通常为 4 秒左右),内核已意识到用户正在尝试强制关机,并开始生成内核转储。由于时间窗口有限,生成的转储文件有时可能不完整。

值得注意的是,12 秒并非绝对标准。微软调试器文档显示,固件硬关机的时间通常约为 10 秒,部分 ARM64 笔记本甚至更短。若设备在 5 秒内就切断电源,则无法产生有效的转储文件。此外,Windows 还会检测屏幕像素是否全黑,这类被标记为“黑屏 LPBH”的转储文件,常用于排查损坏的视频驱动程序、桌面合成器错误或进程挂起等问题。

数据上传取决于隐私设置

崩溃转储是否会自动发送给微软,取决于用户的诊断数据设置。根据微软隐私文档,“必需诊断数据”仅告知公司何时创建了崩溃转储文件,除非用户选择发送“可选诊断数据”,否则完整的崩溃转储本身不会被收集。

不过,长按电源键的行为本身会被上报。在必需诊断数据中,包含“LongPowerButtonPressDetected”字段,用于标识用户是否按住了电源键。由于崩溃期间捕获的内存状态可能无意中包含用户正在使用的文件片段,微软建议关注隐私的用户可在“设置 > 隐私和安全性 > 诊断与反馈”中关闭“发送可选诊断数据”。需注意,“删除诊断数据”按钮仅清除本地缓存,不会清除与 Microsoft 账户关联的数据。

隐藏提示与事件日志

在 Windows Insider 预览版中,系统可能会要求用户松开电源键以便内核完成转储。这一逻辑可能借鉴了 Windows 10 版本 1809 引入的一项隐藏功能:当注册表值 PowerButtonBugcheck 被设置后,按住电源键 7 秒并在 10 秒前释放,会触发特定的 Bug Check 并显示“请释放电源键”的提示界面及进度计数器。

若要确认电脑是否记录了强制关机,用户可在“事件查看器”中检查 Kernel-Power 事件 ID 41。Windows 11 会在详细信息中列出 LongPowerButtonPressDetected,但该事件仅证实了非正常关机,并不能直接证明系统成功保存了转储文件。