Windows Update の破損とインストールエラーを修正する

この記事では、展開イメージのサービスと管理 (DISM) ツールを使用して、Windows Update が正常にインストールされないようにする問題を解決するための高度な手動方法について説明します。

注

この記事は、サポート エージェントおよび IT プロフェッショナルが使用することを前提としています。 ホーム ユーザーであり、Windows Update のエラーの解決に関する詳細情報を探している場合は、「Windows Update のエラーを修正する」を参照してください。

元の KB 番号: 947821

一般的な破損エラー

破損エラーがあると、Windows の更新プログラムのインストールに失敗することがあります。 セットアップ イベント ログでエラーを確認できます。 次の表は、Windows Update で考えられるエラー コードの一覧です。

Code エラー 説明
0x80070002 ファイルが見つかりません 指定されたファイルが見つかりません。
0x800f0831 (CBSのストアが壊れています) CBS ストアが破損しています。
0x8007000D ERROR_INVALID_DATA (無効なデータエラー) データが無効です。
0x800F081F ソースが見つかりませんCBS_E_SOURCE_MISSING パッケージまたはファイルのソースが見つかりません。
0x80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT (コンポーネント ストアが破損しています) コンポーネント ストアは不整合な状態にあります。
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH (ファイルハッシュ不一致エラー) コンポーネントのファイルが、コンポーネント マニフェストに存在する検査情報に一致しません。
0x800705B9 XML解析エラー 要求された XML データを解析できません。
0x80070246 エラー_不正文字 無効な文字が検出されました。
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR ID 文字列の形式が正しくありません
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME(無効なID属性名) ID の属性の名前が有効な範囲外にあります。
0x8007370A エラー_SXS_無効なアイデンティティ属性値 ID の属性の値が有効な範囲外にあります。
0x80070057 無効なパラメーターエラー パラメーターが間違っています。
0x800B0100 信頼性_署名なし サブジェクトに署名がありませんでした。
0x80092003 CRYPT_E_FILE_ERROR(ファイルエラー) Windows Update でファイルの読み取り中または書き込み中にエラーが発生しました。
0x800B0101 証明書の期限切れ 現在のシステム時計または署名ファイルのタイムスタンプで確認すると、必要な証明書の有効期間が過ぎています。
0x8007371B エラー_SXS_トランザクション_クローズ_不完全 1 つ以上の要求されたトランザクションのメンバがありません。
0x80070490 エラー_見つかりません 新しい更新プログラムを検索できませんでした。
0x800f0984 PSFX_E_MATCHING_BINARY_MISSING 一致するコンポーネント ディレクトリは存在しますが、バイナリがありません
0x800f0986 PSFX_E_APPLY_FORWARD_DELTA_FAILED(フォワードデルタの適用に失敗しました) 転送デルタの適用に失敗しました
0x800f0982 対応するコンポーネントが見つかりません (PSFX_E_MATCHING_COMPONENT_NOT_FOUND) ハイドレーションの一致するコンポーネントを特定できません
0x8024002E WU_E_WU_DISABLED Windows Update クライアント サービスが無効になっている
0x800f0906 CBS_E_DOWNLOAD_FAILURE オンデマンド機能または受信トレイの破損修復におけるコンテンツのダウンロードに失敗しました。

たとえば、システム ファイルが破損している場合、更新プログラムをインストールできないことがあります。 DISM は、Windows の破損エラーの修正に役立つ場合があります。

Windows Update トラブルシューティング シナリオについては、このページを確認してください。

DISM を使用して Windows Update の破損を修復する

注

このセクションで説明する解決策は、Windows 11、Windows 10、Windows Server 2016 以降などのモダン Windows バージョンに適用されます。

Windows Update の破損を解決し、更新プログラムのインストールエラーに対処するには、DISM ツールを使用します。 次に、Windows Update をインストールします。

  1. 管理者特権でのコマンド プロンプトを開きます。 これを行うには、Start メニューを開き、「コマンド プロンプト入力し、コマンド プロンプトを右クリックして、管理者として実行を選択します。 管理者パスワードの入力または確認を求められたら、パスワードを入力するか、 Yes を選択します。

  2. 次のコマンドを入力し、Enter キーを押します。 コマンドの処理には数分間かかることがあります。

    DISM.exe /Online /Cleanup-image /Restorehealth
    

    重要

    DISM 修復は、Microsoft Update サーバーに接続して、不足しているファイルまたは破損したファイルをフェッチする場合に最適です。 続行コマンドを使用すると、DISM は Windows Update からの破損を修正するために必要なファイルを取得します。 ただし、コンピューターが Windows Update に接続できない場合は、修復ソースとして動作する Windows インストールを使用することも、ネットワーク上の Windows フォルダーまたは USB または DVD からファイルを使用することもできます。 代わりに、次のコマンドを使用します。

    DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:\\<servername>\c$\windows /LimitAccess
    

    注

    <servername>修復ソースとして使用しているコンピューターのコンピューター名に置き換えます。 修復ソース コンピューターで、同じオペレーティング システム バージョンが実行されている必要があります。 DISM ツールを使用して Windows を修復する方法については、「Windows イメージを修復する」を参照してください。 スキャン結果が "復元操作が正常に完了しました" の場合は、次の手順に進みます。 そうでない場合は、CBS.log ファイルを 分析して エラーを修正してみてください。

  3. sfc /scannow コマンドを入力して、Enter キーを押します。 コマンドの処理には数分間かかることがあります。

  4. コマンド プロンプトを選択し、Windows Update をもう一度実行します。

DISM は、ツールで検出または修正された問題をキャプチャするログ ファイル (%windir%\Logs\CBS\CBS.log) を作成します。 %windir% は、Windows がインストールされているフォルダーです。 たとえば、%windir% フォルダーは C:\Windows です。

DISM 修復のしくみ

DISM は、Windows 回復環境、Windows セットアップ、Windows PE (WinPE) などの Windows イメージのサービスと修復に使用されるコマンド ライン ツールです。 また、お使いのコンピューター上のローカル Windows イメージを修復するためにも使用できます。

理解を深めるために、DISM ツールが整合性をチェックするリソースの概要を次に示します。

  • 次のディレクトリにあるファイル:
    • %SYSTEMROOT%\Servicing\Packages
    • %SYSTEMROOT%\WinSxS\Manifests
  • 次のレジストリ サブキーの下にあるレジストリ データ。
    • HKEY_LOCAL_MACHINE\Components
    • HKEY_LOCAL_MACHINE\Schema
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

この一覧は、随時更新される可能性があります。 DISM は、不適切なマニフェスト、キャビネット、またはレジストリ データを検出すると、正しくないデータを修正されたバージョンに置き換える可能性があります。

ログ

DISM ツールは、ツールが検出または修正した問題をキャプチャするログ ファイルを作成します。 このログ ファイルは以下の場所に作成されます。

  • \Logs\CBS\CBS.log を%SYSTEMROOT%する
  • %SYSTEMROOT%\Logs\CBS\CBS.persist.log

DISM ユーティリティを使用して CBS の破損を手動で修正するための高度なガイド

ステップ1:CBS.logファイルを分析する

DISM コマンドを実行した後、 %WinDir%\Logs\CBS\CBS.log に移動して結果を表示します。 ログ ファイルには、スキャンの概要と、検出されたエラーの詳細が表示されます。

ログの概要の例を次に示します。

Checking System Update Readiness.
    (p)      CSI Payload Corrupt              (n)           amd64_microsoft-windows-a..modernappmanagement_31bf3856ad364e35_10.0.19045.3636_none_23b3b3ece690d77b\EnterpriseModernAppMgmtCSP.dll
       (p)    CBS MUM Missing                         (n)                 Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
       (p)    CSI Manifest Corrupt             (w)    (Fixed)       wow64_microsoft-windows-audio-mmecore-acm_31bf3856ad364e35_10.0.19045.1_none_a12b40f4b4c7b751
    (p)      CSI Manifest Corrupt          (n)                    wow64_microsoft-windows-audio-volumecontrol_31bf3856ad364e35_10.0.19045.3636_none_4514b27cf12f35d5


Summary:
Operation: Detect and Repair 
Operation result: 0x800f081f
Last Successful Step: Remove staged packages completes.
Total Detected Corruption: 2
    CBS Manifest Corruption: 2
    CBS Metadata Corruption: 0
    CSI Manifest Corruption: 0
    CSI Metadata Corruption: 0
    CSI Payload Corruption: 0
Total Repaired Corruption: 1
    CBS Manifest Repaired: 1
    CSI Manifest Repaired: 0
    CSI Payload Repaired: 0
    CSI Store Metadata refreshed: False
Staged Packages:
    CBS Staged packages: 0
    CBS Staged packages removed: 0

注

CSI ペイロードの破損: EnterpriseModernAppMgmtCSP.dll ペイロード ファイルが破損していることを示します。

CBS MUM が見つかりません: パッケージに必要な MUM ファイルがありません (Microsoft-Windows-Client-Features-Package)。

CSI マニフェストの破損: マニフェストの破損の 2 つのインスタンスがありました。 1 つは修正されました (wow64_microsoft-windows-audio-mmecore-acm)、もう一方 (wow64_microsoft-windows-audio-volumecontrol) は破損したままです。

手順 2: 不足しているファイルをダウンロードする

  1. 見つからないファイルまたは破損したファイルを特定します。

    CBS.log ファイルを確認して、見つからないファイルまたは破損したファイルを特定します。 例えば次が挙げられます。

    (p) CSI Payload Corrupt (n) amd64_microsoft-windows-a..modernappmanagement_31bf3856ad364e35_10.0.19045.3636_none_23b3b3ece690d77b\EnterpriseModernAppMgmtCSP.dll
    (p) CBS MUM Missing (n) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
    (p) CSI Manifest Corrupt (n) wow64_microsoft-windows-audio-volumecontrol_31bf3856ad364e35_10.0.19045.3636_none_4514b27cf12f35d5
    
  2. 不足しているファイルを含む更新プログラムを確認します。

    ログ エントリから、ファイル パス内の Update Build Revision (UBR) 番号を識別します。

    • EnterpriseModernAppMgmtCSP.dll ファイルでは、UBR 番号が10.0.19045.3636。
    • Microsoft-Windows-Client-Features-Package パッケージでは、UBR 番号が10.0.19045.4291。
  3. UBR 番号を KB 番号と一致させます。

    1. バージョン (Windows 10、バージョン 22H2 など) の Windows 更新履歴ページ に移動します。
    2. UBR 番号 (3636 または 4291) を一覧表示されている更新プログラムと一致して、KB 番号を検索します。

    例えば次が挙げられます。

    • UBR 3636 は、KB5031445に対応している場合があります。
    • UBR 4291 は、KB5036892に対応している場合があります。
  4. KB 番号で更新プログラムを検索してダウンロードします。

    1. 識別された KB 番号を使用して、 Microsoft Update Catalog の更新プログラムを検索します。
    2. 各 KB 番号に関連付けられている更新プログラムをダウンロードして、不足しているファイルまたは破損したファイルを復元します。

手順 3: .msu ファイルと .cab ファイルを抽出する

CBS.log ファイルで識別された破損したファイルに対処するには、不足しているファイルを特定のフォルダーに抽出します。 次の手順に従って、指定された .msuを使用して.cabファイルと ファイルを抽出し、必要なファイルを C:\temp\Source フォルダーにコピーします。

  1. 必要なフォルダーを作成します。

    次のコマンドを実行して、 C:\temp\Source フォルダーが存在しない場合は作成します。

    mkdir C:\temp\Source
    
  2. 「Scripts: .msu ファイルと .cab ファイルの抽出」の手順とスクリプトを使用して.msu ファイルの宛先パスを指定して.msu ファイルを抽出します。

手順 4: ソース ファイルを使用して破損したファイルを修復する

  1. 破損したファイルの正しいバージョンをコピーします。

    この更新プログラムに属するすべての破損したファイルの正しいバージョンを C:\temp\Source フォルダーにコピーします。 たとえば、次のコマンドを実行します。

    Copy-Item "C:\path\extractedFiles\corruptedfile.dll" -Destination "C:\temp\Source"
    

    破損したすべてのファイルが C:\temp\Source フォルダーにコピーされるまで、ログで識別された破損したファイルごとにこのプロセスを繰り返します。

  2. DISM コマンドを再実行します。

    管理者としてコマンド プロンプトを開き、 /Source オプションを指定して次の DISM コマンドを実行します。

    DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\temp\Source\ /LimitAccess
    

手順 5: 確認して確認する

  1. DISM コマンドを再実行します。

    次の DISM コマンドを再実行して、問題が解決されたことを確認します。

    DISM /Online /Cleanup-Image /ScanHealth
    
  2. CBS.log ファイルを確認します。

    CBS.log ファイルを確認して、残りのエラーがないことを確認します。

DISM コマンドの出力例

DISM 復元コマンドの出力は、検出および修復された破損に関する重要な情報を提供します。

Checking System Update Readiness.

(p) CBS MUM Missing (n) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4291
Repair failed: Missing replacement mum/cat pair.
(p) CBS MUM Missing (w) (Fixed) Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~~10.0.19045.4412

Summary:
Operation: Detect and Repair 
Operation result: 0x800f081f
Last Successful Step: Remove staged packages completes.
Total Detected Corruption: 2
    CBS Manifest Corruption: 2
    CBS Metadata Corruption: 0
    CSI Manifest Corruption: 0
    CSI Metadata Corruption: 0
    CSI Payload Corruption: 0
Total Repaired Corruption: 1
    CBS Manifest Repaired: 1
    CSI Manifest Repaired: 0
    CSI Payload Repaired: 0
    CSI Store Metadata refreshed: False
Staged Packages:
    CBS Staged packages: 0
    CBS Staged packages removed: 0

データ収集

Microsoft サポートの支援が必要な場合は、「展開関連の問題について TSS を使用して情報を収集する」に記載している手順に従って情報を収集することをお勧めします。