Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows Server 2016 / Windows 10でWindows UpdateとDISMエラー0x80073712を修正する方法

Windows Server 2016にセキュリティ更新プログラムをインストールしようとした際、エラーコード 0x80073712 が発生しました。調査の結果、このエラーはWindowsコンポーネントストアの破損が原因であることが判明しました。本記事では、Windows 10やWindows Server 2016/2012 R2においてコンポーネントストアを修復し、Windows Updateサービスの正常な動作を復元する方法を解説します。

Windows Updateで表示されるエラーの内容

Windows Updateで更新プログラムをインストールしようとすると、次のようなエラーが表示されます。

一部の更新ファイルがないか、問題があります。更新プログラムをもう一度ダウンロードします。
エラーコード:(0x80073712)

まず、「Windows Updateの設定をリセットする方法」の手順に従い、Windows Updateエージェントの設定をリセットしてSoftwareDistributionフォルダーをクリーンアップしてみましたが、問題は解決しませんでした。

次に、dism /online /get-packages コマンドを実行し、すべてのシステム更新プログラムが Installed(インストール済み) 状態になっていることを確認しました。

Install Pending(インストール保留中) 状態の更新プログラムが存在する場合は、以下のDISMコマンドで正しく削除できます(Package Identityの文字列はご自身の環境に合わせて置き換えてください)。
DISM.exe /Online /Remove-Package /PackageName:Package_for_KB4520724~31bf3856ad364e35~amd64~~14393.3320.1.1 /quiet /norestart

.NET Framework 3.5のインストール時に判明した手がかり

このWindows Updateエラーの解決策を見つけるまでにはかなり時間がかかりましたが、トラブルシューティングの過程でWindows Server 2016に.NET Framework 3.5をインストールする必要がありました。DISMコマンドで.NETコンポーネントをインストールした際に表示された典型的なエラーが、その後の対応への重要なヒントとなりました。

指定されたサーバーでの機能の追加または削除の要求に失敗しました。1つ以上の役割、役割サービス、または機能のインストールに失敗しました。コンポーネントストアが破損しています。エラー:0x80073712。

同時に、CBS.log(%WinDir%\Logs\CBS\CBS.log)には次のエラーが記録されていました。

[HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]

コンポーネントストアの破損とは

つまり、何らかの理由でコンポーネントストアが破損しており、Windows Updateが更新プログラムのインストールに必要なCBS(Component-Based Servicing)マニフェストのデータを取得できない状態です。コンポーネントストアは、DISMの組み込み機能を使って修復できます。

最も簡単なケースでは、Windowsのインストールイメージ(ディスク)は不要です。この場合、システムはローカルディスク上のソースファイルとWindows Updateサイトを使用して修復を行います(ローカルのWSUSサーバーはコンポーネントストアの修復には使用できませんので注意してください)。

手順1:コンポーネントストアの状態を確認する

まず、次のコマンドでコンポーネントストアの状態をチェックします。

dism /online /cleanup-image /checkhealth

分析後に「component store is repairable(コンポーネントストアは修復可能です)」というメッセージが表示された場合は、次のコマンドで修復を試みることができます。

dism /online /cleanup-image /restorehealth

手順2:インストールメディアを使った修復

これで解決するケースもありますが、私の環境ではDISMから次のエラーが返されました。

エラー:0x800f0906
ソースファイルをダウンロードできませんでした。

この場合は、Windowsの配布イメージが収録されたインストールディスクが必要になります。ここでは、Windows ServerのインストールISOファイルをマウント済みであるものとして説明します。まず、マウントしたイメージ内のinstall.wimファイルに含まれるWindowsエディションの一覧を確認します。

dism /Get-WimInfo /WimFile:e:\sources\install.wim

私の環境ではWindows Server 2016 Standard(Desktop Experience)がインストールされていたため、以降のコマンドではそのインデックス番号(2)を指定します。

dism /online /cleanup-image /restorehealth /source:e:\sources\install.wim:2 /LimitAccess

手順3:修復結果の確認と再起動

コンポーネントストアの状態を再度確認します。

Dism /Online /Cleanup-Image /CheckHealth

DISMが No component store corruption detected(コンポーネントストアの破損は検出されませんでした) を返せば、修復は成功です。

コンポーネントストアの修復が完了したら、Windowsを再起動し、Windows Updateが正常に動作することを確認してください。

  1. 【解決法】Windows 10でWindows Updateエラー0x80242006が出たときの直し方

    エラー0x80242006は、Windows 10でWindows Updateを実行しようとした際に表示されることがあるエラーです。機能更新プログラムやソフトウェア更新プログラムのインストール時に発生し、以下のようなエラーメッセージが画面に表示されます。 エラーが発生しやすいWindows 10のバージョン このエラーは、特に以下のWindows 10機能更新プログラムへアップデートする際に発生しやすいことで知られています。 Version 1709(OSビルド 16299) Version 1703(OSビルド 15063) Version 1607(OSビルド 14393) Vers

  2. Windows Update エラーコード 0x80073712 の解決方法|原因と8つの対処法を徹底解説

    Windows Update を実行した際にエラーコード 0x80073712 が表示される場合、Windows Update に必要なファイルが破損しているか、欠落していることが原因です。このエラーは PC 内部の潜在的な問題によって引き起こされることが多く、結果として Windows Update が正常に完了しなくなります。また、CBS(Component-Based Servicing:コンポーネント ベース サービシング)のマニフェストが破損しているケースもあります。 Windows Update エラーコード 0x80073712 を修正する方法 以下に、エラー 0x800737