一次员工电脑批量蓝屏的排查实录

问题背景

某周二上午,IT 服务台在 2 小时内接到 18 个蓝屏相关工单,用户反映电脑突然蓝屏重启,屏幕显示蓝色错误界面后自动重启。部分用户反映重启后又蓝屏,进入死循环,需要 IT 上门处理。

分析工单发现,出现问题的机器主要集中在某一批次(戴尔 OptiPlex 7090),其他机型也有零星案例。所有出现问题的机器有一个共同点:昨天(周一)都收到了一个通过 SCCM(System Center Configuration Manager)推送的驱动更新包。


故障现象

  • 多台机器出现不同的 BSOD 错误码:
    • DRIVER_IRQL_NOT_LESS_OR_EQUAL
    • SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
    • PAGE_FAULT_IN_NONPAGED_AREA
  • 部分机器重启后再次蓝屏,无法正常进入 Windows
  • 出问题的机器集中在昨天收到驱动更新的设备
  • 问题机器操作系统:Windows 10 22H2

排查过程

第一步:收集崩溃转储文件

蓝屏后,Windows 会生成内存转储文件(Minidump)。收集几台典型故障机的转储文件:

1
路径:C:\Windows\Minidump\*.dmp

使用 WinDbg(Windows 调试工具)分析:

1
2
# 在 WinDbg 中打开 dmp 文件后执行:
!analyze -v

对 3 台不同机器的 dmp 文件分析结果,都指向同一个模块:

1
Probably caused by : e1d65x64.sys ( e1d65x64+XXXXX )

e1d65x64.sysIntel 网卡驱动(具体型号为 Intel Ethernet Connection I219-LM)。

第二步:确认驱动版本

在一台还能启动的问题机器上查看网卡驱动版本:

1
设备管理器 → 网络适配器 → Intel(R) Ethernet Connection I219-LM → 属性 → 驱动程序

显示:

  • 驱动版本:12.19.2.45(更新后的版本)
  • 驱动日期:2025-05-19(昨天)

在一台没有收到更新、运行正常的同款机器上查看:

  • 驱动版本:12.18.9.23(旧版本)

第三步:查看 SCCM 更新推送记录

登录 SCCM 控制台,查看昨天(2025-05-19)推送的软件包:

发现昨天推送了一个”Intel 网卡驱动更新包 v12.19.2.45”,部署范围为”所有工作站(Windows 10)”,推送时间为 18:00,因此很多员工是今天上班开机后才开始安装,安装完成重启后触发蓝屏。

受影响范围评估:

  • 昨天收到该更新包的设备:约 240 台
  • 已出现蓝屏的:18 台(均为戴尔 OptiPlex 7090,搭载 Intel I219-LM 网卡)
  • 其他品牌机型:有同款网卡的也出现了少量案例

第四步:查阅驱动版本相关信息

查阅 Intel 官网和微软 WHQL 驱动数据库,以及该版本驱动的发布说明:

在 Intel 社区论坛找到了相关讨论,有其他用户反映 12.19.2.45 版本的驱动在 Windows 10 特定版本上存在兼容性问题,官方正在排查,建议暂时回滚到上一个稳定版本(12.18.9.23)。

第五步:制定处理方案

对于还能启动的问题机器:通过脚本回滚驱动。

对于无法启动的问题机器(重复蓝屏):需要进入安全模式或 WinPE 回滚驱动。


解决方案

方案一:能正常启动的机器(远程或用户自行操作)

通过 PowerShell 批量回滚网卡驱动:

1
2
3
4
5
# 查看当前网卡驱动版本
Get-WmiObject Win32_PnPSignedDriver | Where-Object {$_.DeviceName -like "*Intel*Ethernet*"} | Select-Object DeviceName, DriverVersion, DriverDate

# 回滚驱动(设备管理器操作)
# 或通过命令行卸载当前版本并安装旧版本

手动操作步骤:

  1. 设备管理器 → 网络适配器 → Intel Ethernet Connection I219-LM
  2. 右键 → 属性 → 驱动程序 → 回退驱动程序
  3. 如果”回退驱动程序”按钮灰色不可用(没有备份),则使用旧版驱动安装包手动安装

准备了旧版驱动安装包(12.18.9.23),部署到 SCCM 软件分发,用户可以直接运行安装。

方案二:无法启动的机器(反复蓝屏)

方法一:进入安全模式

  1. 强制重启 3 次,Windows 自动进入”高级启动选项”
  2. 疑难解答 → 高级选项 → 启动设置 → 重新启动
  3. 进入安全模式后,设备管理器回滚网卡驱动,或直接卸载驱动(安全模式下无线网络功能不加载有问题的驱动)

方法二:WinPE 启动盘
对于安全模式也进不去的机器,使用 IT 部门预先制作的 WinPE 启动 U 盘:

1
2
# 在 WinPE 中挂载 Windows 系统分区后,删除问题驱动
dism /image:C:\ /remove-driver /driver:oem12.inf

其中 oem12.inf 对应 Intel 网卡驱动的 INF 文件编号(需在正常机器上预先确认)。

效果: 所有 18 台问题机器在当天下午 3 点前全部恢复正常。

立即在 SCCM 中暂停并撤回该驱动更新

对已推送但还未安装的机器,在 SCCM 中将该部署的状态设置为”不可用”,防止继续安装。


根因分析

根本原因是 SCCM 驱动更新推送前缺乏充分的测试验证,将一个存在兼容性 bug 的驱动版本(Intel 12.19.2.45)直接大批量推送到生产环境,导致大量安装了该驱动的设备出现蓝屏。

次要原因是推送范围过广,没有采用灰度(分阶段)部署策略,第一批应该只推送少量测试机器,验证稳定后再扩大范围。


预防措施

1. 驱动更新分阶段推送

在 SCCM 中创建测试集合(如 20 台代表性机器),先推送测试集合,观察 24-48 小时无问题后,再推送全量。

2. 推送时间选择

避免在下班后推送涉及重启的更新,否则出现问题无人第一时间响应。改为在周三/周四工作时间推送,方便快速响应。

3. 崩溃转储监控

接入 Microsoft Intune 或 SCCM 的设备健康报告,监控 BSOD 发生率。若在 24 小时内某款驱动关联的 BSOD 数量超过阈值,自动暂停相关更新并告警。

4. 维护一个”已验证驱动版本”白名单

对常用驱动(网卡、显卡、声卡等),维护一个经过验证的稳定版本列表,未经测试的新版本不进入大规模推送流程。


总结

批量蓝屏事件对 IT 运维团队来说是高压力事件,尤其是当用户的工作电脑无法正常使用时,会产生大量抱怨和催促。这次事件暴露了我们在软件/驱动更新管理上的薄弱环节。

最重要的教训: 生产环境的变更永远要”小步走”,灰度测试不是可选项,而是必选项。一个小时的测试,可能避免数百台机器同时出问题。