天天看點

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更新常用排查方案

注:如果是多個更新檔安裝失敗的情況,建議隻選擇一個更新檔進行安裝,針對這個更新檔先看一下具體的報錯

繼續閱讀