使用 DISM 或系統更新準備工具修正 Windows Update 錯誤

本文提供進階的手動方法,以修正 Windows Update 無法使用系統更新整備工具或部署映像服務與管理 (DISM) 工具成功安裝的問題。

注意事項

本文主要提供給支援專員與 IT 專業人員使用。 如果您是家用版使用者,並在尋找修正 Windows Update 錯誤的詳細資訊,請參閱修正 Windows Update 錯誤

原始 KB 編號:947821

常見的損毀錯誤

如果發生損毀錯誤,Windows 更新可能會無法安裝。 下表列出 Windows Update 可能出現的錯誤碼,以供您參考:

代碼 錯誤 描述
0x80070002 ERROR_FILE_NOT_FOUND 系統找不到指定的檔案。
0x8007000D ERROR_INVALID_DATA 資料無效。
0x800F081F CBS_E_SOURCE_MISSING 找不到套件或檔案的來源。
0x80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT 元件存放區處於不一致的狀態。
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH 元件的檔案與元件資訊清單中呈現的驗證資訊不符。
0x800705B9 ERROR_XML_PARSE_ERROR 無法剖析請求的 XML 資料。
0x80070246 ERROR_ILLEGAL_CHARACTER 發生不正確字元。
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR 識別字串格式不正確。
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME 識別中的屬性名稱不在有效範圍內。
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE 識別的屬性值不在有效範圍內。
0x80070057 ERROR_INVALID_PARAMETER 參數不正確。
0x800B0100 TRUST_E_NOSIGNATURE 主旨中不存在任何簽名。
0x80092003 CRYPT_E_FILE_ERROR Windows 更新讀取或寫入檔時發生錯誤。
0x800B0101 CERT_E_EXPIRED 對目前系統時鐘或已簽署檔案中的時間戳記進行驗證時,所需的憑證不在其有效期間內。
0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE 交易的一或多個必要成員不存在。
0x80070490 ERROR_NOT_FOUND Windows 無法搜尋新的更新。
0x800f0984 PSFX_E_MATCHING_BINARY_MISSING 符合的元件目錄存在,但是二進位遺失
0x800f0986 PSFX_E_APPLY_FORWARD_DELTA_FAILED 套用正向 delta 失敗
0x800f0982 PSFX_E_MATCHING_COMPONENT_NOT_FOUND 無法識別序列化的相符元件

例如,如果系統檔案有所損毀,可能無法安裝更新。 DISM 或系統更新整備工具可協助您修正部分 Windows 損毀錯誤。

請查看此頁面,以了解 Windows Update 疑難排解案例 (部分機器翻譯)。

解決方案 1:使用 DISM

注意事項

本節所述的解決方案適用於最新 Windows 版本,例如 Windows 11、Windows 10、Windows Server 2016 或更新版本。 對於 Windows 7 和 Windows Server 2008 R2,請查看解決方案 2:使用系統更新整備工具

若要解決此問題,請使用 DISM 工具。 然後,再次安裝 Windows 更新或 Service Pack。

  1. 開啟提高權限的命令提示字元。 若要執行此動作,請開啟 [開始] 功能表或 [開始] 畫面,輸入命令提示字元,以滑鼠右鍵按一下 [命令提示字元],然後選取 [以系統管理員身分執行]。 若提示您輸入系統管理員密碼或進行確認,請輸入密碼或選取 [允許]

  2. 輸入下列命令,然後按下 Enter。 這可能要花費幾分鐘的時間才能完成命令操作。

    DISM.exe /Online /Cleanup-image /Restorehealth
    

    重要事項

    當您執行這個命令時,DISM 會使用 Windows Update 提供修正損毀所需的檔案。 然而,如果您的 Windows Update 用戶端已經損壞,請使用執行中的 Windows 安裝做為修復來源,或者使用網路共用或抽取式媒體 (例如 Windows DVD) 中的 Windows 並存資料夾做為檔案的來源。 若要執行這項操作,請改為執行下列命令:

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

    注意事項

    C:\RepairSource\Windows 預留位置取代為修復來源的位置。 如需有關如何使用 DISM 工具修復 Windows 的詳細資訊,請參閱修復 Windows 映像

  3. 輸入 sfc /scannow 命令,然後按下 Enter。 這可能要花費幾分鐘的時間才能完成命令操作。

  4. 關閉命令提示字元,然後再次執行 Windows Update

DISM 會建立記錄檔 (%windir%/Logs/CBS/CBS.log),用來擷取工具發現或修正的任何問題。               %windir% 是指 Windows 安裝所在的資料夾。 例如,%windir% 資料夾是 C:\Windows

解決方案 2:使用系統更新整備工具

注意事項

本節所述的解決方案適用於 Windows 7 和 Windows Server 2008 R2。 對於 Windows 11、Windows 10、Windows Server 2016 或更新版本等最新 Windows 版本,請參閱解決方案 1:使用 DISM

若要解決此問題,請使用系統更新準備工具。 然後,再次安裝 Windows 更新或 Service Pack。

  1. 下載系統更新準備工具。

    前往 Microsoft Update Catalog,然後下載與電腦上所執行 Windows 版本對應的工具。 如需如何找到您所安裝 Windows 版本的詳細資訊,請參閱如何分辨電腦執行的是 32 位元或 64 位元版本的 Windows

    注意事項

    此工具會定期更新,因此建議您一定要下載最新版本。 並非每種支援的語言皆提供此工具。

  2. 安裝並執行工具。

    1. 選取 [下載中心] 網頁上的 [下載],然後執行下列其中一項:

      • 若要立即安裝工具,請選取 [開啟] 或 [執行],然後依照畫面上的指示進行。
      • 若要稍後才安裝工具,請選取 [儲存],然後將安裝檔案下載至您的電腦。 當您準備要安裝工具時,請按兩下檔案。
    2. 在 [Windows Update Standalone Installer] 對話方塊中,選取 [是]

      [Windows Update Standalone Installer] 對話方塊的螢幕擷取畫面。

  3. 工具已安裝時,隨即會自動執行。 雖然執行時間通常不會超過 15 分鐘,但在某些電腦上可能需要更長的時間。 即使進度列似乎停止不動,但掃描仍在執行中,因此請不要選取 [取消]

    顯示更新正在安裝中的 [下載並安裝更新] 視窗。

  4. 當您看到 [安裝完成] 時,請選取 [關閉]

    顯示安裝完成的 [下載並安裝更新] 視窗。

  5. 重新安裝先前嘗試安裝的更新或服務套件。

若要手動修正該工具偵測到但無法修復的損毀錯誤,請參閱如何修正 CheckSUR 記錄檔中找到的錯誤

解決方案 3:使用 Microsoft Update Catalog

您也可以嘗試從 Microsoft Update Catalog直接下載更新套件,然後手動安裝更新套件。

例如,當您嘗試從 Windows Update 安裝更新時,可能會發生問題。 在此情況下,您可以下載更新套件,並嘗試手動安裝更新。 如果要執行這項操作,請依照下列步驟執行:

  1. 開啟 KB3006137 的 Microsoft Update Catalog 頁面

  2. 在搜尋結果中尋找適用於您作業系統的更新,然後選取下載按鍵。

    更新 [下載] 按鈕的螢幕擷取畫面。

  3. 選取檔案的連結以下載更新。

    [Microsoft Update Catalog] 視窗顯示更新下載連結。

  4. 在下載程式完成後,請選取 [關閉]。 然後,您可以在指定的位置找到包含更新套件的資料夾。

  5. 開啟資料夾,然後按兩下更新套件以安裝更新。

系統更新整備工具做些什麼

驗證資源的完整性

系統更新整備工具會驗證下列資源的完整性:

  • 檔案位於下列路徑:
    • %SYSTEMROOT%\Servicing\Packages
    • %SYSTEMROOT%\WinSxS\Manifests
  • 位於下列登錄子機碼下的登錄資料:
    • HKEY_LOCAL_MACHINE\Components
    • HKEY_LOCAL_MACHINE\Schema
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

您可以隨時更新此清單。

當系統更新整備工具偵測到不正確的資訊清單、儲存櫃或登錄資料時,它可能會以修正的版本取代錯誤的資料。

記錄

系統更新整備工具會建立記錄檔,該檔案會擷取工具發現或修復的任何問題。 記錄檔位於下列位置:

  • %SYSTEMROOT%\Logs\CBS\CheckSUR.log
  • %SYSTEMROOT%\Logs\CBS\CheckSUR.persist.log

修正 CheckSUR 記錄檔中找到的錯誤

若要手動修正系統更新整備工具偵測到但無法修正的損毀錯誤,請遵循下列步驟:

  1. 開啟 %SYSTEMROOT%\Logs\CBS\CheckSUR.log

    注意事項

                  %SYSTEMROOT% 是儲存 Windows 安裝所在資料夾的環境變數。 例如,%SYSTEMROOT% 資料夾是 C:\Windows

  2. 識別工具無法修正的套件。 例如,您可以在記錄檔中找到下列資訊:

    Summary:
    
    Seconds executed: 264
    Found 3 errors
    CBS MUM Missing Total Count: 3
    Unavailable repair files:
    
    servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum
    ...
    

    在此情況下,損毀的套件是 KB958690。

  3. Microsoft 下載中心Microsoft Update 目錄下載套件。

  4. 將套件 (.msu) 複製到 %SYSTEMROOT%\CheckSUR\packages 目錄。 預設情況下,此目錄不存在,您必須予以建立。

  5. 重新執行系統更新整備工具。

如果您是技術專業人員,請參閱如何修正 CheckSUR.log 中找到的錯誤,以了解其他可修正 CheckSUR.log 中錯誤的選項。

資料收集

若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。