0xc0000001,0xc000021a ,windbg分析dmp有SmpInitialize、BAD DLL、difxapi.dll

2022-02-28 19:22:46 浏览数 (1)

【dmp位置】

目录:C:WindowsMinidump

文件:C:WindowsMEMORY.DMP

遇到一个特殊情况,2012R2系统安装22年1月份补丁后进不去系统,报[Windows未能启动。原因可能是最近更改了硬件或软件。状态0xc0000001 。] F8每一项都试了,都报0xc000021a ,产生一个dmp文件后又自动回到0xc0000001的界面。

排查步骤:

1、救援模式,多次chkdsk /f 系统盘盘符:是正常的,多次chkdsk /f 数据盘盘符:也是正常的

2、在救援模式里用360急救箱对系统盘全盘扫描未发现异常文件

3、在救援模式里发现2022-2-8安装了4个补丁

KB5008868 已安装

KB5008883 已挂起

KB5009624 已挂起

一开始看到3个补丁,其中2个是挂起状态,先在救援模式里离线卸载了这2个挂起的,开机时还是报0xc000021a

后来卸载了另1个(KB4535680),还是报0xc000021a

重新review发现还有第4个补丁KB4535680,

离线卸载后还是报0xc000021a

4、有注意到机器在2月8日安装补丁前,最近的补丁安装日期是2020年7月20日,2022-2-8安装的前3个补丁是微软2022年1月份补丁,其中有个补丁KB5009624在微软官网有标注,可能会影响机器重启异常,可详细阅读这篇文档了解 https://cloud.tencent.com/developer/article/1938504

5、关机冷迁移再开机还是报 0xc000021a

6、vnc录屏:

http://windowsbj-1251783334.cos.ap-beijing.myzijiebao.com/vnc录屏.mp4

卸载了最近安装的1月份补丁还是进不去系统,报[Windows未能启动。原因可能是最近更改了硬件或软件。状态0xc0000001 。] F8每一项都试了,都报0xc000021a ,产生一个dmp文件后又自动回到0xc0000001的界面。

7、分析系统winevtlogs目录的日志,日志截止于应用补丁准备重启后生效的那个时间点左右,日志上没有蛛丝马迹

8、分析dmp文件指向了一个BAD DLL,此case中是difxapi.dll

SmpInitialize、BAD DLL、difxapi.dll

Smp初始化失败,因为‪C:WindowsSystem32difxapi.dll坏了,解决办法就是在救援模式winpe找正常机器的对应文件替换(打补丁之前的那个正常的.dll文件)

这次损坏的是这个.dll文件,下次可能是其他的,反正dmp文件有这个特点基本就是在救援模式替换回原文件的思路了。

0 人点赞