Intel 存储控制器驱动版本引发的 Windows 蓝屏故障 0xC0000098

troubleshooting

Intel 存储控制器驱动版本引发的 Windows 蓝屏故障 0xC0000098

        最近在评估一款 PC 设备,由于通过 WDS 部署评估映像,并使用了 DDP(Dynamic Driver Provisioning)注入驱动,发现在部署操作系统后第一次启动时会发生 0xC0000098 故障,提示由 iaStorAC.sys 文件引起。

        iaStorAC.sys 文件很常见,是 Intel 存储控制器的驱动模块,经查隶属于 iaAHCIC.inf,随即排查 WDS 驱动库,发现包含两个版本的 iaAHCIC,分别是16.8.0.1000 和 15.2.0.1020。

DriverGroup1_iaAHCIC

其中 16.0.8.1000 包含的驱动模块为:iaStorAC.sys

DriverGroup1_iaAHCIC_W10

而 15.2.0.1020 包含的驱动模块为:iaStorA.sys 和 iaStorF.sys

DriverGroup1_iaAHCIC_W7

        猜测 DDP 注入了当前匹配硬件的驱动后,发现还有该硬件的新版本驱动,并包含旧版以外的文件,所以也一同安装了这个新版驱动。在实际排错过程中 gOxiA 也发现系统同时加载了 iaStorA、iaStorF 和 iaStorAC,可预料 iaStorAC 与当前系统不兼容,所以引发 0xC0000098 故障,之后尝试禁用 iaStorAC 发现会导致系统蓝屏,看来要彻底解决只能卸载该驱动。

        在脱机状态下,使用 DISM 维护映像,通过 get-drivers 参数获取该驱动分别对应 OEM2.inf 和 OEM16.inf,此时除了对比两个驱动的版本外,也可使用 get-driverinfo 来获取驱动程序的详细信息。当确认影响系统的驱动是 OEM16.inf 后,可通过 remove-driver 将该驱动从脱机系统中移除。

        现在重新启动,系统会先执行短暂的初始化,之后便能正常引导系统完成后续的安装。

        现在很多品牌机的驱动交付质量都已经大大不如从前,也可能驱动程序更加复杂,导致经常以标准化方式注入驱动后,发现系统出现故障,或驱动未能正常安装的情况,这对于桌面标准化交付来说确实是一个挑战,因为每一批设备可能都需要进行完整的评估和测试。

游客 | 登入