Window蓝屏及信息结构
2021-07-01
460
0
Windows蓝屏,又叫蓝屏死机(Blue Screen of Death,简称BSOD),是微软的 Windows 系列操作系统在无法从一个系统错误中恢复过来时,为保护电脑数据文件不被破坏而强制显示的屏幕图像。
X86 处理器将代码的运行分为4个级别,分别为R0,R1,R2,R3,Windows操作系统只使用了其中的R0和R3.其中:
- R0:运行着Windows内核代码和Windows设备驱动代码。
- R3:运行着应用软件的应用层代码。
当应用层即R3层的代码错误时,通常的表现就是应用程序退出或者由操作系统弹出错误地话框。
而当内核层即R0层的代码错误时,直接表现就是蓝屏。
所以引起蓝屏的原因就是因为Window内核层的代码异常导致的,引起这些异常的原因可能有:
- Windows内核本身。
- 设备驱动。如键盘鼠标,显卡驱动等。
- 其它与内核运行相关的代码。
而使用Windbg命令!analyze -show
分析dump文件时,也会首先出现停止码:
DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000004, The power transition timed out waiting to synchronize with the Pnp
subsystem.
Arg2: 000000000000012c, Timeout in seconds.
Arg3: ffffd2841d49f040, The thread currently holding on to the Pnp lock.
Arg4: fffff803423b3800, nt!TRIAGE_9F_PNP on Win7 and higher
Windows蓝屏信息结构
Windows蓝屏信息结构由2部分组成:
- 第一部分为:停止码,代表引起错误的原因.如DRIVER_POWER_STATE_FAILURE (9f)。
- 第二部分为:四个参数(Arg1 - Arg4),根据停止码的不同,解释不同。