一旦遇到蓝屏,大多数人都会认为Windows出问题了,所以就会瘫痪。罪魁祸首就是Windows,或者说Windows不够强大或者不够稳定。要知道,每当内核模式设备驱动程序或子系统触发非法异常时,Windows就会面临这种艰难的选择。虽然Windows最终选择崩溃,但这并不意味着它不能忽略异常。让设备驱动程序或子系统继续执行。

电脑蓝屏是人为的吗(电脑蓝屏了为什么)

Windows之所以选择“kill me”,是因为它不知道是否可以隔离该错误,以免损害系统上的其他程序和数据,或者该组件将来是否可以恢复正常,而Windows知道表明这种异常现象更为严重。可能来

电脑蓝屏是人为的吗(电脑蓝屏了为什么)

它源于更深层次的问题,例如由于内存的普遍损坏(General Corruption),或者由于硬件设备无法正常工作。允许系统继续运行可能会导致进一步的异常,并且存储在磁盘或其他外围设备上的数据可能会被损坏。 Windows 意识到这样做的风险太大。为了您的程序和数据的安全和完整性,为了第一时间将您的损失降到最低,Windows无奈地做出了自我牺牲。

电脑蓝屏是人为的吗(电脑蓝屏了为什么)

当系统检测到导致崩溃的致命错误时,Windows本身会执行崩溃函数“KeBugCheckEx”。该函数接受一个停止码(STOP Code,也称为错误检查码“Bug Check Code”),

以及根据停止代码解释的四个参数(下面的图例)。调用KeBugCheckEx后,首先系统所有处理器上的所有中断都会被屏蔽,然后系统将显示切换到低分辨率VGA图形模式(因为这是所有Windows平台显卡都支持的通用模式),并绘制一个蓝色背景,然后显示此停止代码,后面是一些有助于用户诊断错误的关键信息。

电脑蓝屏是人为的吗(电脑蓝屏了为什么)

最后,KeBugCheckEx 调用所有已注册的设备驱动程序错误检查回调(此类回调是通过调用KeRegisterBugCheckCallback 函数注册的),导致这些驱动程序停止运行它们所控制的设备(系统数据结构已被破坏得太严重),严重时可能会蓝屏不显示)。