如何擺脫 Windows 更新錯誤 0x800f0900 (CBS_E_XML_PARSER_FAILURE)

已發表: 2020-05-19

作為 Windows 10 用戶,您對 Microsoft 發布的每月累積更新並不陌生。 大多數情況下,這些更新是在您不知情的情況下在後台下載的。 下載完成後,Windows Update 實用程序將發送通知,要求您重新啟動系統以安裝更新。

也就是說,在某些情況下,該工具會遇到障礙並產生不同的錯誤代碼,其中之一是錯誤 0x800f0900。 此特定錯誤轉換為 CBS_E_XML_PARSER_FAILURE(意外的內部 XML 解析器錯誤),這意味著與更新過程相關的某些系統實體已損壞。

如果您是遇到此問題的用戶之一,那麼您來對地方了。 本文包含有關如何對 Windows 10 上的更新錯誤 0x800f0900 進行故障排除和修復的方法。我們將向您展示錯誤消息的可能原因以及您應該採取的擺脫它的步驟。

為什麼在 Windows 10 上出現 Windows 更新錯誤 0x800f0900?

該問題在嘗試下載並安裝 Windows 10 2018 年 4 月更新的新補丁的用戶中最為常見。但是,它確實出現在其他情況下。

問題的主要原因之一是損壞的系統文件。 也就是說,還有其他根本原因,例如與 Windows 更新相關的禁用服務、非必要或損壞的緩存、互聯網連接故障、防病毒或防火牆干擾以及設備驅動程序故障等。

如何修復 Windows 10 上的 Windows 更新錯誤 0x800f0900?

擺脫錯誤涉及解決其根本原因。 下面,您將找到有關如何解決不同問題的不同指南,從錯誤的系統文件到設備驅動程序問題。 如果您想快速解決問題,重要的是要一個接一個地進行修復。

運行 Windows 更新疑難解答

微軟為不同的實用程序提供了故障排除工具,你會找到一個用於 Windows 更新的工具。 該工具將用於解決衝突並激活某些被禁用的服務。 運行它非常簡單明了; 請按照以下步驟操作:

  1. 轉到“開始”菜單(點擊 Windows 徽標鍵或單擊“開始”按鈕),然後單擊電源圖標上方的齒輪圖標以打開“設置”。 如果您想更快地打開“設置”應用程序,請轉到鍵盤並同時點擊 Windows 和 I 鍵。
  2. 設置應用程序的主屏幕顯示後,轉到頁面底部,然後單擊更新和安全。
  3. 看到更新和安全界面後,切換到左窗格並單擊疑難解答。
  4. 現在,轉到窗口的右側,然後單擊“啟動並運行”部分下的 Windows 更新。
  5. 單擊出現在 Windows 更新下的“運行疑難解答”按鈕。
  6. 疑難解答程序現在將運行並嘗試解決困擾 Windows 更新實用程序的問題。
  7. 該工具完成工作後,您可以重新啟動系統並嘗試下載更新。

擺脫臨時文件

Windows 應用程序和其他第三方程序通常將臨時文件存儲在您的磁盤上,這些文件僅在短時間內有用。 這些文件很容易損壞或妨礙更新過程。 嘗試擺脫它們並檢查是否可以解決問題。 您可以使用磁盤清理工具或通過設置應用程序清除臨時文件。

我們將在下面向您展示該怎麼做。

使用磁盤清理工具:

  1. 通過單擊任務欄中的文件夾圖標或右鍵單擊開始按鈕並選擇文件資源管理器來啟動文件資源管理器。 您也可以按住 Windows 徽標鍵並按下 E 鍵來召喚程序。
  2. 文件資源管理器打開後,轉到左窗格並單擊此 PC。
  3. 接下來,轉到右側窗格中的“設備和驅動器”部分,右鍵單擊主卷,在正常情況下應該是 C 盤,然後單擊上下文菜單中的“屬性”。
  4. 顯示磁盤的“屬性”對話框窗口後,單擊“常規”選項卡下的“磁盤清理”按鈕。
  5. 出現“磁盤清理”窗口後,選中要刪除的臨時文件旁邊的框,然後單擊“確定”按鈕。
  6. 清理過程完成後,重新啟動計算機並檢查更新錯誤。

通過設置應用程序:

  1. 右鍵單擊“開始”按鈕並選擇“設置”或同時點擊 Windows 徽標和 I 鍵以打開“設置”應用程序。
  2. 設置應用程序顯示後,單擊系統圖標。
  3. 看到系統界面後,轉到左窗格並單擊存儲。
  4. 轉到屏幕右側,然後單擊“臨時文件”。
  5. 允許 Windows 掃描您的臨時文件。
  6. 掃描完成後,選擇要刪除的臨時文件類別,然後單擊“刪除文件”按鈕。

確保 Windows 更新服務正在運行

由於某些服務被禁用,可能會出現錯誤消息。 這些服務包括後台智能傳輸服務 (BITS)、Update Orchestrator 服務和 Windows Update 服務。 您必須知道,如果這些服務中的任何一個不起作用,您將無法更新您的系統。

為了確保它們正在運行,您必須通過服務應用程序。 以下步驟將向您展示如何操作:

  1. 打開運行對話框。 您可以通過右鍵單擊“開始”按鈕並選擇“運行”或同時按下 Windows 徽標和 R 鍵來執行此操作。
  2. 出現“運行”對話框後,在文本框中鍵入“services.msc”(不帶引號)並按 Enter 鍵。

請注意,您還可以通過在“開始”菜單中搜索“服務”來啟動“服務”應用程序。

  1. 服務應用程序打開後,搜索以下服務的條目:

後台智能傳輸服務(BITS),

更新 Orchestrator 服務,

Windows 更新服務

  1. 轉到每個服務,右鍵單擊它,然後單擊屬性。
  2. 屬性窗口打開後,停留在常規選項卡中,然後在“啟動類型”下拉菜單中選擇自動。
  3. 單擊確定按鈕,然後運行 Windows 更新實用程序以檢查問題。

掃描您的 PC 以查找惡意軟件

惡意軟件攻擊可能會導致問題。 某些惡意程序可能已篡改了您的某些系統文件或與 Windows 更新相關的程序。 一些用戶報告說他們在運行完整的系統掃描後擺脫了更新錯誤 0x800f0900。

如果您使用第三方防病毒程序,請轉到其圖形用戶界面並運行完整的系統掃描。 如果您不知道如何操作,可以查看程序開發人員的網站以獲取指南。

如果您的主要防病毒程序是 Windows 安全性,請按照以下步驟操作:

  1. 導航到任務欄,右鍵單擊“開始”按鈕,然後單擊“快速訪問”菜單中的“設置”。 您還可以單擊“開始”按鈕中的齒輪圖標或使用 Windows + I 鍵盤快捷鍵來調用“設置”應用程序。
  2. 顯示 Windows 設置的主屏幕後,單擊頁面底部的更新和安全圖標。
  3. 看到更新和安全界面後,轉到左側窗格並單擊 Windows 安全性。
  4. 現在,導航到右側的 Windows 安全選項卡,然後單擊保護區域下的病毒和威脅保護。
  5. Windows 安全的病毒和威脅防護工具打開後,單擊當前威脅下的掃描選項。
  6. 在“掃描選項”屏幕上,選擇“全面掃描”單選按鈕,然後單擊“立即掃描”按鈕。
  7. 該工具現在將檢查硬盤上的所有程序和文件是否存在惡意軟件。
  8. 允許該過程運行一段時間,因為這可能會持續一段時間。

掃描並刪除損壞的系統文件

丟失或損壞的系統文件是問題的另一個主要原因。 這些文件可能已被惡意軟件破壞,並且您也可能在不知不覺中篡改了它們。 還有其他元素可能會損壞或刪除您的系統文件,例如某些具有提升權限的第三方程序。

無論如何,您都必須掃描您的系統並檢查是否存在損壞或丟失的 Windows 資源保護 (WRP) 文件。 使用內置的命令行實用程序 System File Checker 檢查損壞的系統文件並自動替換它們。

不過,您應該注意,在 Windows 10 上,您必須在運行系統文件檢查器之前運行 DISM(收件箱部署映像服務和管理)工具。 DISM 的工作是提供修復過程所需的文件。 如果您不知道如何運行該實用程序,請按照以下步驟操作:

  1. 轉到任務欄並單擊放大鏡圖標以打開“開始”旁邊的搜索框。 您也可以通過同時按下 Windows 和 S 鍵來打開搜索功能。
  2. 搜索實用程序打開後,在文本框中鍵入“命令提示符”(不帶引號)。
  3. 一旦命令提示符出現在搜索結果中,右鍵單擊它,然後單擊上下文菜單中的以管理員身份運行。
  4. 彈出用戶帳戶控制對話框窗口後,單擊是按鈕。
  5. 出現命令提示符後,轉到黑屏,鍵入以下行,然後按 Enter 鍵:

DISM.exe /Online /Cleanup-image /Restorehealth

DISM 現在將獲取 SFC 將用於運行修復的系統文件。 通常,該工具使用 Windows 更新實用程序來獲取這些文件; 但是,由於您在使用該實用程序時遇到問題,您必須使用 Windows 10 安裝 DVD 或其他可啟動媒體作為修復源。

插入可啟動媒體後,輸入以下行:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source: C:\RepairSource\Windows /LimitAccess

請注意, C:\RepairSource\Windows參數表示可啟動媒體中 Windows 文件夾的路徑。 如果您有 Windows 的 ISO 文件,則可以將其解壓縮並使用該文件夾。

命令執行後,進入下一步。

  1. 現在,輸入“sfc /scannow”(不帶引號),然後按 Enter 鍵。
  2. 如果您看到一條完成消息,顯示“Windows 資源保護髮現損壞的文件並成功修復它們”,請重新啟動您的系統,該錯誤不應再次出現。
  3. 但是,如果您看到不同的完成消息,例如“Windows 資源保護無法執行請求的操作”,則必須以安全模式啟動系統並運行 SFC 工具。 以下步驟將向您展示如何操作:
  • 通過右鍵單擊“開始”按鈕並選擇“設置”或使用 Windows + I 鍵盤組合打開“設置”應用程序。
  • 設置應用程序打開後,單擊主屏幕底部的更新和安全。
  • 出現更新和安全界面後,轉到左側窗格並單擊恢復
  • 轉到右窗格,向下滾動,然後單擊高級啟動下的立即重新啟動。
  • 一旦您的 PC 重新啟動到高級啟動環境,單擊疑難解答磁貼
  • 在疑難解答屏幕上,單擊高級選項。
  • 現在,看到“高級選項”界面後,單擊“啟動設置”。
  • 單擊啟動設置下的重新啟動按鈕。
  • 計算機重新啟動到啟動選項環境後,點擊鍵盤上的 F4 以安全模式啟動 Windows,或點擊 F5 以進入帶網絡的安全模式。
  • 一旦您的 PC 啟動到安全模式,轉到 %WinDir%\WinSxS\Temp 文件夾(您可以在運行中輸入它)並確保 PendingDeletes 和 PendingRename 文件夾位於那裡。
  • 現在,運行 SFC 工具,如上所述。

重置 Winsock 組件

Windows 套接字是負責將數據從基於 Web 的應用程序(如 Windows 更新)傳輸到系統網絡基礎結構的組件。 它是駐留在硬盤上的 DLL 文件。 Winsock 組件與任何 DLL 文件一樣,可能會損壞或包含錯誤的配置。 這很可能是 0x800f0900 錯誤的原因。

您可以輕鬆地重置 Winsock 組件以擺脫損壞或任何錯誤的數據配置。 以下步驟將引導您完成整個過程:

  1. 轉到任務欄,然後單擊“開始”按鈕旁邊的放大鏡以召喚搜索欄。 您還可以同時點擊 Windows 徽標和 S 鍵來啟動搜索實用程序。
  2. 看到搜索欄後,在文本字段中輸入“command”(不帶引號)。
  3. 在搜索結果中看到命令提示符後,右鍵單擊它並從上下文菜單中選擇以管理員身份運行。
  4. 用戶帳戶控制確認對話框打開後,單擊是按鈕。
  5. 現在,在命令提示符窗口中鍵入下面的行並按下 Enter 鍵:

netsh winsock 重置

  1. 命令執行後重新啟動系統,然後檢查錯誤。

重置 Windows 更新組件

此過程涉及重置 SoftwareDistribution 和 Catroot2 文件夾。 這些文件夾包含以前下載的尚未安裝的更新。 該錯誤可能會出現,因為這些文件夾中的文件已損壞,因此您必須清除它們才能重新開始更新過程。 我們將向您展示如何執行此操作以及如何重置後臺情報傳輸服務的安全描述。

請按照以下步驟操作:

第一步:停止後台智能傳輸、Windows 更新應用程序標識和加密服務等 Windows 服務,以獲取對 SoftwareDistribution 和 Catroot2 文件夾的訪問權限:

  1. 右鍵單擊“開始”按鈕,然後單擊“快速訪問”菜單中的“運行”或使用 Windows + R 熱鍵打開對話窗口。
  2. 運行打開後,在文本字段中輸入“CMD”(不帶引號),然後按 Enter。
  3. 當您看到“用戶帳戶控制”對話框時,單擊“是”。
  4. 出現提升的命令提示符窗口後,在黑屏中鍵入以下行並在每行之後按 Enter:

淨停止位

淨停止 wuauserv

淨停止 appidsvc

淨停止 cryptsvc

第二步:通過輸入或複制下面的命令行並將其粘貼到管理員命令提示符中,刪除名為qmgr*.dat的文件:

德爾“%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat”

第三步:重命名SoftwareDistributionCatroot2文件夾。 為此,請鍵入或複制以下行並將其粘貼到黑屏中,並記住在鍵入每一行後必須按 Enter 鍵:

任 %systemroot%\SoftwareDistribution SoftwareDistribution.bak

任 %systemroot%\system32\catroot2 catroot2.bak

第四步:將 Windows 更新服務和後台智能傳輸服務的安全描述符重置為默認值。 將下面的行複制並粘貼到提升的命令提示符中,然後在每行之後按 Enter:

sc.exe sdset 位 D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

第五步:輸入以下命令切換到System32文件夾:

cd /d %windir%\system32

第六步:現在,您必須重新註冊與 Windows 更新相關的 DLL 文件。 為此,請輸入下面的命令行,並確保在鍵入每一行後按 Enter 鍵:

regsvr32.exe atl.dll

regsvr32.exe urlmon.dll

regsvr32.exe mshtml.dll

regsvr32.exe shdocvw.dll

regsvr32.exe browseui.dll

regsvr32.exe jscript.dll

regsvr32.exe vbscript.dll

regsvr32.exe scrrun.dll

regsvr32.exe msxml.dll

regsvr32.exe msxml3.dll

regsvr32.exe msxml6.dll

regsvr32.exe actxprxy.dll

regsvr32.exe softpub.dll

regsvr32.exe wintrust.dll

regsvr32.exe dssenh.dll

regsvr32.exe rsaenh.dll

regsvr32.exe gpkcsp.dll

regsvr32.exe sccbase.dll

regsvr32.exe slbcsp.dll

regsvr32.exe cryptdlg.dll

regsvr32.exe oleaut32.dll

regsvr32.exe ole32.dll

regsvr32.exe shell32.dll

regsvr32.exe initpki.dll

regsvr32.exe wuapi.dll

regsvr32.exe wuaueng.dll

regsvr32.exe wuaueng1.dll

regsvr32.exe wucltui.dll

regsvr32.exe wups.dll

regsvr32.exe wups2.dll

regsvr32.exe wuweb.dll

regsvr32.exe qmgr.dll

regsvr32.exe qmgrprxy.dll

regsvr32.exe wucltux.dll

regsvr32.exe muweb.dll

regsvr32.exe wuwebv.dll

第七步:之後,進入註冊表編輯器並刪除一些錯誤的註冊表項:

注意:在繼續編輯註冊表項之前,請務必仔細閱讀說明。 註冊表是一個敏感的數據庫,如果您犯了最小的標點錯誤,您最終可能會處理系統不穩定問題。 因此,如果您對自己的技術技能沒有信心,最好跳過這一步並繼續下一個解決方案。

  1. 打開“運行”對話框,鍵入“regedit”(不帶引號),然後單擊“確定”。 在“用戶帳戶控制”對話框提示中確認您的決定。
  2. 註冊表編輯器打開後,導航到左窗格並展開 HKEY_LOCAL_MACHINE。
  3. 轉到組件並展開它。
  4. 現在,如果您在 COMPONENTS 下找到以下鍵,請刪除它們:

PendingXml 標識符

下一個隊列條目索引

AdvancedInstallersNeedResolving

在下一次修復之前,保存此網頁或將其添加為書籤,然後重新啟動系統。

八步:重新啟動您在第一步中禁用的服務。 鍵入下面的行並在鍵入每行後按 Enter:

網絡起始位

淨啟動 wuauserv

網絡啟動 appidsvc

網絡啟動 cryptsvc

第九步:重新啟動系統,並檢查問題是否已解決。

執行乾淨啟動

Windows 啟動時啟動的後台應用程序可能會干擾更新過程並觸發錯誤。 您可以通過執行乾淨啟動來確定這些應用程序中的哪一個負責。

執行乾淨啟動意味著您必須防止每個啟動應用程序在系統啟動後自動加載。 完成後,您可以檢查更新錯誤是否再次出現。 如果沒有,那麼這就是您確認啟動程序是問題的原因。

以下步驟將向您展示如何執行乾淨啟動並隔離有問題的啟動服務或程序:

  1. 右鍵單擊“開始”按鈕,然後在出現“快速訪問”菜單後單擊“運行”。 您也可以按住 Windows 徽標鍵,然後點擊 R 鍵啟動運行。
  2. 運行打開後,鍵入“msconfig”(無引號),然後單擊“確定”按鈕。
  3. 出現“系統配置”對話框後,切換到“服務”選項卡。
  4. 在“服務”選項卡下,找到“隱藏所有 Microsoft 服務”複選框並標記它。
  5. 單擊“全部禁用”按鈕可停止選項卡下列出的服務在下次 Windows 啟動時啟動。
  6. 接下來,導航到“啟動”選項卡,然後單擊“打開任務管理器”。
  7. 您現在將被重定向到任務管理器的啟動選項卡。
  8. 通過右鍵單擊每個程序並單擊禁用來禁用您在“啟動”選項卡下看到的每個程序。
  9. 退出任務管理器並單擊系統配置中的確定按鈕。
  10. 重新啟動您的電腦。

您的系統現在將在乾淨啟動環境中啟動。 您現在可以運行更新並檢查錯誤是否出現。 如果錯誤沒有出現,那麼您禁用的啟動項之一是您所面臨的挑戰的原因。

您現在必須確定哪個啟動項與 Windows 更新發生衝突。 為此,請啟用一個啟動項,重新啟動計算機,然後檢查錯誤。 如果沒有出現錯誤,請轉到下一個啟動項,啟用它,然後重新啟動。 重複這些步驟,直到一個啟動程序或服務觸發錯誤。

一個一個地瀏覽所有啟動項可能是一個漫長的過程。 使用下面的指南,您可以為自己節省大量不必要的壓力:

  1. 一旦您的系統在乾淨啟動環境中啟動,打開系統配置對話框,轉到服務選項卡,並啟用選項卡下的一半服務,最好是前半部分。
  2. 重新啟動您的系統,如果發生 Windows 更新錯誤,則由列表前半部分中的服務之一負責。 您現在可以忽略所有其他服務,並一個接一個地檢查上半部分的服務。
  3. 但是,如果問題沒有發生,請啟用服務的後半部分並檢查問題。

如果“服務”選項卡下沒有任何項目觸發錯誤,請對“啟動”選項卡下的程序執行步驟 1 至 3 的相同操作。

結論

如果您解決了問題,請隨時使用下面的評論部分讓我們知道哪種解決方案適合您。

受到推崇的

使用 Auslogics BoostSpeed 解決 PC 問題

除了清潔和優化您的 PC 之外,BoostSpeed 還可以保護隱私、診斷硬件問題、提供提高速度的技巧並提供 20 多種工具來滿足大多數 PC 維護和服務需求。

Auslogics BoostSpeed 是 Auslogics 的產品,獲得了 Microsoft 銀級應用程序開發人員認證
免費下載

為了讓您的系統運行順暢並避免日後的潛在風險,我們建議您下載並安裝 Ausologics BoostSpeed。 該程序會定期執行檢查以刪除可能會降低系統速度並導致其他問題的垃圾文件和損壞的註冊表項。 它與 Windows 10 兼容,不會造成任何形式的干擾。