天天看点

windows更新常用排查方案

作者:棋玉

注:修改操作前,请先执行快照作为备份!!!

1.使用自动修复工具先修复看一下:

https://support.microsoft.com/zh-cn/help/4027322/windows-update-troubleshooter

2.运行如下命令行,手动重置windows update:

net stop cryptsvc
net stop BITS
net stop WUAUSERV
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
net start cryptsvc
net start BITS
net start WUAUSERV           

3.

2008/2008R2

机器,参考如下步骤:

(1). 运行System File Checker utility (SFC.exe)

右击cmd, 选择以管理员身份运行,运行以下命令行

sfc /scannow

(2). 运行checksur

a.点击以下链接:

https://support.microsoft.com/zh-cn/kb/947821

b.根据系统版本(是X86 还是X64 )选择下载对应的程序包。

windows更新常用排查方案

c.下载后,安装补丁(注:这个补丁和常规意义的补丁并不一样,这个补丁是用来检测更新的库是否正常并尝试修复的一个工具)。

(3)安装3177467(仅适用2008R2 系统)

https://support.microsoft.com/zh-cn/help/3177467/servicing-stack-update-for-windows-7-sp1-and-windows-server-2008-r2-sp
windows更新常用排查方案

2012/2016

sfc /scannow

(2). 完成后在执行以下命令:

DISM.exe /Online /Cleanup-image /Scanhealth
DISM.exe /Online /Cleanup-image /Restorehealth           

4.卸载三方安全类软件比如360,安全狗(注:将进程停止是不行的,因为驱动和组件已经加载在内核里,需要卸载并重启服务器)

5.还是有问题的话,需要查看日志

"C:\Windows\Logs\CBS\CBS.log"
"C:\Windows\WindowsUpdate.log"           

建议查看日志的技巧:

1.根本kb号或者错误代码搜索,找到这一行(这一行就是补丁安装的结束位置):

WER: Generating failure report for package: Package_for_KB.....

windows更新常用排查方案

2.查看靠近这行之前的报错(这些报错才是补丁失败的真正原因)尤其是第一个报错,以下示例,补丁安装的直接原因是Failed call to CryptCATAdminAddCatalog. [HRESULT = 0x8000ffff - Unknown Error]

windows更新常用排查方案

3.这个报错是跟Cryptographic Services 和 catroot2 有关,查看

C:\Windows\System32\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}

缺失catdb 文件,可以从相同版本正常机器尝试拷贝文件测试。

windows更新常用排查方案

对于在重启过程发生补丁回滚的,分析日志要以rollback 为关键字(如下示例,这行表示补丁配置失败了,开始rollback 即回滚)

windows更新常用排查方案

之后查看最靠近这行的报错,是在执行

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe

的时候报错了。

windows更新常用排查方案

这个案例中,查看

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

缺失了ngen.exe,同时该目录下还缺失了很多其他文件,建议相同版本正常机器尝试拷贝文件测试或者重置系统。

windows更新常用排查方案

注:如果是多个补丁安装失败的情况,建议只选择一个补丁进行安装,针对这个补丁先看一下具体的报错

继续阅读