在 Windows 11 电脑上按住电源按钮会让操作系统创建崩溃转储 如果你的 Windows 11 电脑卡死了,你没有惊慌失措,而是按住电源按钮强制关机,那么操作系统会利用最后几秒时间保存故障现场快照。按住按钮 8 秒后,内核会捕获一份紧急转储;如果诊断数据设置允许,Windows 就能在下次启动时将其上传至微软的 Windows 错误报告服务。
微软内部将这类故障称为“长按电源按钮”(LPBH)故障,而在整个屏幕完全黑屏时捕获的转储会交由一个专门团队分析。微软资深员工 Raymond Chen 也是该团队的一员,正如你可能猜到的,他最近解释了电源按钮的这一工作机制。
在 Windows 11 电脑上按住电源按钮并持续 12 秒后,电脑会在硬件层面关机,不会通知 Windows。但 Chen 表示,早在 4 秒前,“Windows 内核就会意识到用户正试图强制关闭系统”,并迅速生成一份内核转储。有时 4 秒并不足够,转储最终会不完整。
此外,12 秒并非适用于所有设备。微软的调试器文档称,固件通常会在“大约 10 秒后”强制关机;一些 ARM64 笔记本电脑所需时间甚至更短。微软的事件 ID 41 指南则提到,按住按钮至少 4 秒后会强制关机。不过,如果你的笔记本电脑在 5 秒时就切断电源,那就无从生成转储了。
Windows 还会检查屏幕上的每个像素是否都是黑色。这类转储会被标记为“黑屏 LPBH”,并由 Chen 所在的虚拟团队进行分析。问题可能出在损坏的视频驱动程序、桌面合成器向正常工作的驱动程序输出黑色像素,或屏幕上没有任何内容绘制——有时是因为负责绘制的进程卡死了。
说来也巧,大多数人遇到黑屏时都会去按电源按钮!
这取决于你的诊断数据设置。根据微软的隐私文档,必需诊断数据会告知微软创建了崩溃转储文件,但“除非获得额外授权,例如选择发送可选诊断数据,否则不会收集崩溃转储文件本身。”
不过,长按电源按钮这一行为仍会被报告。微软列出的必需诊断事件中包含 LongPowerButtonPressDetected 字段,用于“标识用户是否按住了电源按钮。”
Windows 可选诊断数据的相关说明让人难免感到不安。微软表示,崩溃时捕获的内存状态“可能会无意中包含问题发生时你正在使用的文件中的部分内容。”微软尚未说明 LPBH 转储包含哪些内容。
若要查看相关设置,请打开设置 > 隐私和安全性 > 诊断和反馈,然后展开“诊断数据”。关闭“发送可选诊断数据”后,微软所提到的用于收集崩溃转储的主要授权便会撤销。虽然没有专门控制电源按钮转储的开关,但这个选项也能限制 Windows 11 的 GDID 跟踪器所捕获的内容。
Windows 设置中已关闭“发送可选诊断数据”选项。图片来源:Windows Latest请注意,该页面上的“删除诊断数据”按钮不会阻止数据发送,也不会清除与你的 Microsoft 帐户关联的数据;若要删除这些数据,你需要前往 Microsoft 隐私仪表板操作。
我个人希望能有一个专门控制崩溃转储的开关,尤其是对于一家最近还不得不否认 Windows 11 会监视台式电脑的公司来说。
Chen 认为,Windows Insider 预览版会提示用户松开电源按钮,让内核完成转储。由于我们是在虚拟机中运行 Insider 预览版,因此无法验证这一点。
有趣的是,微软多年来一直有相关屏幕的文档说明。设置 PowerButtonBugcheck 注册表值后,按住按钮 7 秒并在 10 秒前松开,就会触发 Bug Check 0x1C8。届时不会显示常见的崩溃屏幕(Windows 11 已将其改为黑色),而是会显示“请松开电源按钮。我们还需要几秒钟来关机。”以及一个百分比计数器。
这个选项最早出现在 Windows 10 版本 1809 中,并且需要基于 GPIO 的电源按钮。我猜 Insider 预览版中的提示借鉴了这一功能,但微软尚未确认。
要查看电脑是否记录了强制关机,请在事件查看器 > Windows 日志 > 系统下查找 Kernel-Power 事件 ID 41。微软表示,按住电源按钮会记录一个非零的 PowerButtonTimestamp;Windows 11 还会在“详细信息”选项卡中列出 LongPowerButtonPressDetected。不过,事件 ID 41 只能确认发生了非正常关机,并不能证明 Windows 保存了转储。
话虽如此,黑屏并不总是 Windows 的问题。Chen 回忆起一次 Windows 3.1 支持电话:一位用户在看到徽标后就什么也看不见了,原因是他在“颜色”控制面板中把所有颜色都设成了黑色,连窗口文字也不例外。这显然不属于黑屏 LPBH 团队要处理的问题。