0aa8fe6
这次没有正文改动。
这是 windows/蓝屏(BSOD)排查.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
be5956e
@@ -0,0 +1,64 @@ +--- +tags: [蓝屏, 故障排查, Windows Server] +order: 80 +--- + +# 蓝屏(BSOD)排查 + +## 场景 + +服务器自己重启了,事件日志里有 `Kernel-Power` 41,或者面板上留下 `MEMORY.DMP`。 + +## 前置条件 + +- 确认是蓝屏而不是断电(看事件日志和 dump 文件) +- 打开了转储:系统属性 → 高级 → 启动和故障恢复 +- 有 WinDbg 或者能拿到 dump 文件 + +## 配置 + +先确认转储配置: + +```powershell +Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl" | + Select-Object CrashDumpEnabled, DumpFile, MinidumpDir +``` + +`CrashDumpEnabled`:0 无、1 小内存、2 内核、3 完全、7 自动。 + +收集信息: + +```powershell +# 最近的异常关机 +Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,1001,6008} -MaxEvents 10 | + Format-Table TimeCreated, Id, ProviderName -AutoSize + +# 小内存转储 +Get-ChildItem C:\Windows\Minidump\ | Sort-Object LastWriteTime -Descending +``` + +分析(WinDbg Preview 打开 dump): + +```text +!analyze -v +lmvm <驱动名> +!sysinfo machineid +``` + +## 验证 + +看 `BugCheck` 代码和 `Probably caused by : xxx.sys`,再对照驱动版本和厂商。 + +## 回滚 + +- 如果是刚更新的驱动/补丁引起的,卸载更新或回滚驱动 +- 硬件问题(内存、硬盘)只能换件 + +## 坑 + +- **dump 文件默认不生成**,要在崩溃前就配好,事后补不了。 +- `Kernel-Power 41` 只能说明「异常关机」,不一定是蓝屏,也可能是断电或硬件掉电。 +- 服务器上蓝屏多是驱动、内存、RAID 卡固件,桌面机才是各种软件。 +- 小内存转储(minidump)信息有限,定位驱动够用,定位逻辑错误不够。 +- 反复蓝屏先跑内存诊断(`mdsched.exe`)和硬盘 SMART。 +- 别在生产机上随便打开「完全内存转储」,C 盘会被占满。