Windows Update の破損とインストールエラーを修正する
この記事では、展開イメージのサービスと管理 (DISM) ツールを使用して、Windows Update が正常にインストールされないようにする問題を解決するための高度な手動方法について説明します。
Note
この記事は、サポート エージェントおよび IT プロフェッショナルが使用することを前提としています。 ホーム ユーザーであり、Windows Update のエラーの解決に関する詳細情報を探している場合は、「Windows Update のエラーを修正する」を参照してください。
元の KB 番号: 947821
一般的な破損エラー
破損エラーがあると、Windows の更新プログラムのインストールに失敗することがあります。 セットアップ イベント ログでエラーを確認できます。 次の表は、Windows Update で考えられるエラー コードの一覧です。
コード | エラー | 説明 |
---|---|---|
0x80070002 | ERROR_FILE_NOT_FOUND | 指定されたファイルが見つかりません。 |
0x800f0831 | CBS_E_STORE_CORRUPTION | CBS ストアが破損しています。 |
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 | ID 文字列の形式が正しくありません |
0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | ID の属性の名前が有効な範囲外にあります。 |
0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | ID の属性の値が有効な範囲外にあります。 |
0x80070057 | ERROR_INVALID_PARAMETER | パラメーターが間違っています。 |
0x800B0100 | TRUST_E_NOSIGNATURE | サブジェクトに署名がありませんでした。 |
0x80092003 | CRYPT_E_FILE_ERROR | Windows Update でファイルの読み取り中または書き込み中にエラーが発生しました。 |
0x800B0101 | CERT_E_EXPIRED | 現在のシステム時計または署名ファイルのタイムスタンプで確認すると、必要な証明書の有効期間が過ぎています。 |
0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | 1 つ以上の要求されたトランザクションのメンバがありません。 |
0x80070490 | ERROR_NOT_FOUND | 新しい更新プログラムを検索できませんでした。 |
0x800f0984 | PSFX_E_MATCHING_BINARY_MISSING | 一致するコンポーネント ディレクトリは存在しますが、バイナリがありません |
0x800f0986 | PSFX_E_APPLY_FORWARD_DELTA_FAILED | 転送デルタの適用に失敗しました |
0x800f0982 | PSFX_E_MATCHING_COMPONENT_NOT_FOUND | ハイドレーションの一致するコンポーネントを特定できません |
たとえば、システム ファイルが破損している場合、更新プログラムをインストールできないことがあります。 DISM は、Windows の破損エラーの修正に役立つ場合があります。
Windows Update トラブルシューティング シナリオについては、このページを確認してください。
DISM を使用して Windows Update の破損を修復する
Note
このセクションで説明する解決策は、Windows 11、Windows 10、Windows Server 2016 以降などのモダン Windows バージョンに適用されます。
Windows Update の破損を解決し、更新プログラムのインストールエラーに対処するには、DISM ツールを使用します。 次に、Windows Update をインストールします。
管理者特権でのコマンド プロンプトを開きます。 これを行うには、Start メニューを開き、「コマンド プロンプト入力し、コマンド プロンプトを右クリックして、管理者として実行 を選択します。 管理者パスワードの入力または確認を求められたら、パスワードを入力するか、 Yes を選択します。
次のコマンドを入力し、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$\winsxs /LimitAccess
Note
<servername>修復ソースとして使用しているコンピューターのコンピューター名に置き換えます。 修復ソース コンピューターで、同じオペレーティング システム バージョンが実行されている必要があります。 DISM ツールを使用して Windows を修復する方法については、「Windows イメージを修復する」を参照してください。 スキャン結果が "復元操作が正常に完了しました" の場合は、次の手順に進みます。 そうでない場合は、CBS.log ファイルを 分析して エラーを修正してみてください。
sfc /scannow
コマンドを入力して、Enter キーを押します。 コマンドの処理には数分間かかることがあります。コマンド プロンプトを選択し、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 ツールは、ツールが検出または修正した問題をキャプチャするログ ファイルを作成します。 このログ ファイルは以下の場所に作成されます。
- %SYSTEMROOT%\Logs\CBS\CBS.log
- %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
Note
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: 不足しているファイルをダウンロードする
見つからないファイルまたは破損したファイルを特定します。
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
不足しているファイルを含む更新プログラムを確認します。
ログ エントリから、ファイル パス内の Update Build Revision (UBR) 番号を識別します。
- EnterpriseModernAppMgmtCSP.dll ファイルでは、UBR 番号が
10.0.19045.3636
。 Microsoft-Windows-Client-Features-Package
パッケージでは、UBR 番号が10.0.19045.4291
。
- EnterpriseModernAppMgmtCSP.dll ファイルでは、UBR 番号が
UBR 番号を KB 番号と一致させます。
- バージョン (Windows 10、バージョン 22H2 など) の Windows 更新履歴ページ に移動します。
- UBR 番号 (
3636
または4291
) を一覧表示されている更新プログラムと一致して、KB 番号を検索します。
例えば次が挙げられます。
- UBR
3636
は、KB5031445に対応している場合があります。 - UBR
4291
は、KB5036892に対応している場合があります。
KB 番号で更新プログラムを検索してダウンロードします。
- 識別された KB 番号を使用して、 Microsoft Update Catalog の更新プログラムを検索します。
- 各 KB 番号に関連付けられている更新プログラムをダウンロードして、不足しているファイルまたは破損したファイルを復元します。
手順 3: .msu ファイルと .cab ファイルを抽出する
CBS.log ファイルで識別された破損したファイルに対処するには、不足しているファイルを特定のフォルダーに抽出します。 次の手順に従って、指定された PowerShell スクリプトを使用して.msu
ファイルと.cab
ファイルを抽出し、必要なファイルを C:\temp\Source フォルダーにコピーします。
必要なフォルダーを作成します。
次のコマンドを実行して、 C:\temp\Source フォルダーが存在しない場合は作成します。
mkdir C:\temp\Source
「Scripts: .msu ファイルと .cab ファイルの抽出」の手順とスクリプトを使用して
.msu
ファイルの宛先パスを指定して.msu
ファイルを抽出します。
手順 4: ソース ファイルを使用して破損したファイルを修復する
破損したファイルの正しいバージョンをコピーします。
この更新プログラムに属するすべての破損したファイルの正しいバージョンを C:\temp\Source フォルダーにコピーします。 たとえば、次のコマンドを実行します。
Copy-Item "C:\path\extractedFiles\corruptedfile.dll" -Destination "C:\temp\Source"
破損したすべてのファイルが C:\temp\Source フォルダーにコピーされるまで、ログで識別された破損したファイルごとにこのプロセスを繰り返します。
DISM コマンドを再実行します。
管理者としてコマンド プロンプトを開き、
/Source
オプションを指定して次の DISM コマンドを実行します。DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\temp\Source\ /LimitAccess
手順 5: 確認して確認する
DISM コマンドを再実行します。
次の DISM コマンドを再実行して、問題が解決されたことを確認します。
DISM /Online /Cleanup-Image /ScanHealth
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 を使用して情報を収集する」に記載している手順に従って情報を収集することをお勧めします。