Windows-Server-2012-R2

Windows 更新 800F0922

  • September 6, 2019

我有一個執行 Windows Server 2012 R2 的 Windows Azure VM,它自 2016 年 4 月以來一直無法安裝更新。控制面板中的“查看更新歷史記錄”螢幕列出了數百次連續嘗試在每台機器上安裝更新的失敗重新開始。

每個更新的詳細資訊視窗類似於:

Windows Server 2012 R2 更新 (KB3133690)

  • 安裝日期:‎2016-‎04-‎25 10:34
  • 安裝狀態:失敗
  • 錯誤詳細資訊:程式碼 800F0922 獲取有關此錯誤的幫助
  • 更新類型:推薦

安裝此更新以解決 Windows 中的問題。有關此更新中包含的問題的完整列表,請參閱相關的 Microsoft 知識庫文章以獲取更多資訊。安裝此項目後,您可能需要重新啟動電腦。

更多資訊: http: //support.microsoft.com/kb/3133690

幫助和支持: http: //support.microsoft.com

(像往常一樣,“獲取有關此錯誤的幫助”連結是無用的,它會打開一個 Windows 幫助和支持視窗,其中僅顯示“正在獲取搜尋結果…我們找不到任何結果。這裡有一些可以嘗試的方法:”。啊,

Windows 事件日誌中也充斥著如下事件:

  • 日誌名稱:系統
  • 來源:WindowsUpdateClient
  • 事件編號:20
  • 級別:錯誤
  • 使用者:系統
  • 操作碼:安裝安裝失敗:Windows 無法安裝以下更新,錯誤為 0x800F0922:Windows Server 2012 R2 安全更新 (KB3159398)。

應用程序事件日誌包含更多有用的資訊:

  • 日誌名稱:應用程序
  • 來源:Windows 錯誤報告
  • 事件編號:1001
  • 級別:資訊
  • 使用者:N/A 故障桶,類型 0 事件名稱:WindowsUpdateFailure3 響應:不可用 Cab Id:0

簽名問題:P1:7.9.9600.18235 P2:800f0922 P3:BA0F75FF-19C3-4CBD-A3F3-EF5B5C0F88BF P4:安裝 P5:202 P6:0 P7:0 P8:AutomaticUpdatesWuApp P9:{7971F918} A947-4918} P10:0

附件:C:\Windows\WindowsUpdate.log C:\Windows\SoftwareDistribution\ReportingEvents.log C:\Windows\Logs\CBS\CBS.log

這些文件可能在此處可用:C:\ProgramData\Microsoft\Windows\WER\ReportQueue\NonCritical_7.9.9600.18235_(已編輯)

分析符號:重新檢查解決方案:0 報告 ID:(已編輯)報告狀態:4 散列桶:

伺服器將重新啟動以安裝更新,然後立即停止並執行回滾,使正常重新啟動持續 15 分鐘以上。

日誌文件C:\Windows\WindowsUpdate.log沒有產生任何線索——它沒有報告任何明顯的錯誤或警告——除了關於它無法使用計量連接 API 的過多消息:“警告:無法從 NLM 獲取網路成本資訊,假設網路不是計量,錯誤 = 0x80240037"。

C:\Windows\SoftwareDistribution\ReportingEvents.log文件僅包含與 Windows 更新控制面板相同的文本:“內容安裝安裝失敗:Windows 無法安裝以下更新,錯誤為 0x800f0922:Windows Server 2012 R2 安全更新 (KB3162343)。”

最後,C:\Windows\Logs\CBS\CBS.log是一個 180MB+ 大小的文本文件,我瀏覽了一下,但找不到任何明顯的東西。

TL;博士:

清除您的C:\Windows\Temp目錄和其他臨時目錄以獲得良好的措施 - 然後它應該可以正常安裝更新。

解釋:

由於這是一個 Azure VM,因此可以使用 Microsoft 的“基本”支持層 - 需要 3 天才能安排電話,但支持人員今天才找到解決方法。

CBS.log文件中,他發現了這一行(由我修剪和整理):

2016-08-16 20:26:50,錯誤 CSI 00000006@2016/8/16:20:26:50.808 (F) CMIADAPTER:來自 AI HRESULT 的內部錯誤消息 = 8004402f [錯誤,設施=FACILITY_ITF,程式碼=16431( 0x402f)]
[
[210]"解析 MOF 文件:C:\Windows\system32\wbem\NetTCPIP.mof
函式 CMofLexer::CMofLexer 第 614 行中的錯誤 80
C:\Windows\system32\wbem\NetTCPIP.mof (1): 錯誤語法 0X8004402f: 創建臨時文件時出錯”
]
[gle=0x80004005]

重要的是這個錯誤:

創建臨時文件時出錯

他指示我更改預設環境變數:TEMPTMP在 System 和 User 定義中更改為C:\TEMP並確保Everyonehas Full Accessto C:\TEMP

重新啟動後安裝的阻塞更新沒有任何進一步的問題。

安裝好這些更新後,我刪除了原始 C:\Windows\Temp 目錄中的所有文件(這花了 5 多分鐘,有很多深度嵌套的文件)。然後我將 TMP 和 TEMP 環境變數重置為C:\Windows\Temp並重新啟動。

然後準備好安裝兩個新更新,並且安裝完成,沒有任何問題。

所以我認為問題是臨時目錄中的錯誤數據阻止了更新做任何事情。

2017 年年中更新:我最近在 Windows 10 筆記型電腦上遇到了類似的事件,錯誤程式碼相同。我立即前往該C:\Windows\Temp目錄,發現裡面有很多文件(大約 16,000 個文件和文件夾),其中也包括深度嵌套的文件夾。在我刪除目錄中的所有內容並重新啟動後,我能夠再次安裝更新。

引用自:https://serverfault.com/questions/797269