11月2日消息,微软资深工程师Raymond Chen在最新博客中,详细解释了长按电源键强制关机时Windows PC到底发生了什么。
在Windows中有一项安全功能,即长按电源键12秒会触发硬件级关机,操作系统直接断电,确保即使关机命令失灵,用户仍然能把电脑关掉。
但在12秒到达之前,Windows内核并非什么都没做。大约按住8秒后,Windows内核会意识到用户在强制关机,并在接下来的4秒内尝试导出内核转储,下次开机时上传给Windows错误报告服务。
有时候4秒不够,转储不完整,Chen表示Windows Insider预览版现在会提示用户松开电源键,让内核有更多时间完成转储,然后再关机。
这些紧急内核转储内部归类为长按电源键(LPBH)故障,转储还会记录屏幕是否全黑,全黑的会被标记为"黑屏LPBH",交给一个专门的虚拟团队分析。Chen本人就是这个黑屏LPBH团队的成员。
黑屏的原因五花八门,团队会进一步细分,有时是显卡驱动坏了,有时显卡驱动没问题,但桌面合成器只往驱动塞黑像素;有时桌面合成器也没问题,但根本没人在画画面,再往下分,要么是负责画画面的进程不在,要么是那个进程卡死了。
Chen还分享了一个Windows 3.1时代的客服案例,放到今天就是典型的黑屏Bug,一位用户报告电脑开机后Windows启动正常,但Logo消失后只剩黑屏。
排查了一番后,客服工程师拼出了事情的全貌,原来是这位用户特别喜欢黑色,给自己搭了一套哥特风主题。壁纸设成黑色,标题栏设成黑色,按钮设成黑色,窗口背景设成黑色,窗口文字也设成黑色,反正就是控制面板里能选的颜色全设成了黑色。
一旦搞成这样,想退出来就难了,因为什么都看不见,Chen直言不知道客服工程师最终怎么修好的,但猜测是启动到MS-DOS,运行EDIT.COM,删掉win.ini文件里的[colors]段,把所有系统颜色恢复默认。