# WHEA 与蓝屏：搭一条硬件证据链

> 哪些事件 ID 与蓝屏码指向硬件、怎么合起来读，以及返修前该收集什么。

**测试环境**

- 版本号: 26300.9457 / 26100.33650
- 版本: Pro (26H2) / Server
- 架构: x64
- 证据: E1
- 核验日期: 2026-10-29

## 一句话结论

硬件问题会留下三处证据，三处都要：

1. **WHEA-Logger** 事件——固件/CPU 上报的硬件错误。
2. **蓝屏码**——Windows 怎么死的，以及第一个参数。
3. **转储文件**——唯一能看出"哪个部件"的地方。

单独的蓝屏只是症状，单独的 WHEA 可能只是一次可纠正错误。合起来才是案子。

## 收集证据

```powershell
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'} -MaxEvents 50 |
  Select-Object TimeCreated,Id,LevelDisplayName,Message | Format-List

Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001,41,6008} -MaxEvents 50 |
  Select-Object TimeCreated,Id,ProviderName,Message

Get-CimInstance Win32_OSRecoveryConfiguration |
  Select-Object DebugInfoType,AutoReboot,DebugFilePath,MiniDumpDirectory
```

`DebugInfoType` 告诉你到底有没有在写转储——设成"不转储"的机器会把你要的证据毁掉。

## 值得记住的 WHEA 事件 ID

| ID | 含义 | 动作 |
|---|---|---|
| 17 | 可纠正硬件错误 | 跟踪频率；增加=部件在退化 |
| 18 | 可纠正错误，但重复出现 | 调查 |
| 19 | 可纠正错误（机器检查） | 先查固件/微码 |
| 20 | 不可纠正错误 | 数据可能已损坏 |
| 46/47 | 可纠正/不可纠正的 PCIe 或内存错误 | 隔离设备/插槽 |
| 1 | 通用 WHEA 错误记录 | 读消息体 |

具体载荷因平台而异；**消息**字段会点名部件（缓存、内存、PCIe、TLB）。要读它，不要只数 ID。

## 通常意味着硬件的蓝屏码

| 代码 | 名称 | 典型原因 |
|---|---|---|
| `0x124` | WHEA_UNCORRECTABLE_ERROR | CPU/内存/PCIe 硬件、过热、超频 |
| `0x9C` | MACHINE_CHECK_EXCEPTION | CPU 级故障 |
| `0x101` | CLOCK_WATCHDOG_TIMEOUT | CPU 卡死、供电、微码 |
| `0x1A` | MEMORY_MANAGEMENT | 内存（或破坏内存的驱动） |
| `0x50` | PAGE_FAULT_IN_NONPAGED_AREA | 内存或驱动 |
| `0x7A`/`0x7E` | 磁盘/异常 | 存储或内存 |
| `0xEF` | CRITICAL_PROCESS_DIED | 常见于存储或内存损坏 |

没有超频、系统干净仍出 `0x124`，那是硬件话题，不是软件话题。

## 读转储，不只读代码

```text
!analyze -v
!errrec <WHEA_ERROR_RECORD 地址>
```

`!analyze -v` 会指出出错模块；对 WHEA 记录，`!errrec` 会解码硬件错误记录：bank、类型（缓存/内存/PCIe）、以及是否被纠正。

装不了 WinDbg，至少保留 `.dmp` 文件。那是唯一能让别人帮上忙的东西。

> **警告: 不要用重装系统「修」0x124**
>
> 全新安装后仍然 `0x124`，就证明系统不是原因。先重装会毁掉转储证据，还搭进去一天。先收转储、查温度与内存，再考虑重装。

## 调查顺序

1. **固件/微码**——更新 BIOS/UEFI，确认 CPU 受支持。
2. **温度与供电**——负载下是降频还是供电不足？
3. **内存**——单条、默认频率逐条测试。
4. **存储**——SMART 与文件系统错误会伪装成内存故障。
5. **驱动**——驱动可以通过错误 DMA 触发 WHEA；查最近新装的。
6. **超频**——先关 XMP/EXPO。

## 交给支持的东西

- WHEA 事件（时间、ID、消息）。
- 蓝屏码与日期。
- `.dmp` 文件或 `!analyze -v` 输出。
- 配置：CPU、内存套件、BIOS 版本、超频状态。
- 你已经改过什么、结果如何。

## 相关

- [意味着硬件的蓝屏](https://winbook.fyi/zh/hardware/diag/bsod-hardware/)
- [内存故障排查](https://winbook.fyi/zh/hardware/ram/diagnostics/)
- [CPU 支持与微码](https://winbook.fyi/zh/hardware/cpu/support-microcode/)

## 实验室边界

E1。事件 ID 与蓝屏含义有微软文档依据。实验室无法给虚拟机注入 WHEA 错误，因此没有为本文生成转储。

## 来源

- [Microsoft Learn — WHEA 参考](https://learn.microsoft.com/zh-cn/windows-hardware/drivers/whea/)
- [Microsoft Learn — 蓝屏码参考](https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/bug-check-code-reference2)
- [Microsoft Learn — Windows 调试工具](https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/)

---

来源页面: https://winbook.fyi/zh/hardware/diag/whea-bugcheck/
