またまた、Windows Update の更新プログラムでエラーが発生しまいた。
今回は Windows 10 で KB5040427 という更新プログラムにてエラー「0x80073701」が発生。
SNSやネットで調べたかぎりだと類似事象も少ないもようで需要があるかわかりませんが、
自身の備忘もかねて解決した方法をまとめました。
- Windows OS ユーザーの方
- 同じ事象、または類似事象が発生している環境
- Windows Update で エラー「0x80073701」が発生
または、 - 更新プログラム「KB5040427」でエラーが発生
- Windows Update で エラー「0x80073701」が発生
発生した事象
エラー画面
Windows Update
エラーが発生しました。
更新プログラムのインストール中に問題が発生しましたが、後で自動的に再試行されます。この問題が引き続き発生し、Web検索やサポートへの問い合わせを通じて情報を集める必要がある場合は、次のエラーコードが役立つ可能性があります:
引用元:エラー発生画面より文字起こし
(0x80073701)
更新プログラム と エラーについて
今回、わたしの環境でエラーが発生し適用できなかった更新プロ宇グラムと、そのエラーコードを紹介。
更新プログラム「KB5040427」とは
こちらの公式記事によると、今回エラーとなった更新プログラム「KB5040427」はセキュリティの問題に対処しているとのこと。
この更新プログラムは、Windows オペレーティング システムのセキュリティの問題に対処します。
引用元:Microsoft公式 更新プログラム KB5040427 – ハイライト部分より
より詳細な内容は下記のように記載されています。
この更新プログラムは、Windows の更新プログラムをインストールするコンポーネントであるサービス スタックの品質を向上します。 サービス スタック更新プログラム (SSU) をインストールすることで、堅牢で信頼性の高いサービス スタックを利用し、デバイスで Microsoft の更新プログラムを受信し、インストールできるようになります。
引用元:Microsoft公式 更新プログラム KB5040427 – 機能追加内の説明文より
Windows Update エラー「0x80073701」とは
こちらの記事によると、「0x80073701のエラーはerror_sxs_assembly_missingで、システムファイルがいくつか不足しているために更新のインストールに失敗していることを意味しています。」とあります。
つまり、何らかの要因で一部のシステムファイルが不足、もしくは破損していることで更新が失敗していると思われます。
発生した環境
過去の記事でも何度か同じ説明をしていますが、わたしはWindows OSの環境を複数所持しています。
今回のエラーはすべてのWindows 10 環境で発生したわけではなく、一部の環境で発生しました。
原因を特定できているわけではないので、参考情報として発生した環境の詳細を以下に記載します。
- エディション
Windows 10 Pro
- バージョン
22H2
- OS ビルド
19045.4412
- Windows Cドライブ総容量
約50GB
※ 必要最低限の用途で使用しているため、かなり小さく設定。
- 仮想化環境
Oracle VM VirtualBox バージョン 7.0.20
補足情報:解決方法によって更新プログラムを適用できた後のOSビルド
本記事で紹介する解決方法後にOSビルドを確認した結果です。
今回エラーとなった「KB5040427」以外にもいくつか更新プログラムを適用した為、
あくまでも参考程度の情報としてご覧ください。
時系列
わたしが対応した流れをすべて記載。必要に応じてご参考ください。
ヒント:開閉できるエリア
下記のようなエリアはクリックすると開閉可能っピ 👍
詳細な時系列 <ココをクリックで折りたたみが開く>
公式サイトでエラー「0x80073701」に関する対応方法を見つけました。
その記事内にあった「古いコンポーネントの削除」と「コンポーネントストアのサイズ縮小」を実行可能な下記のコマンドを実行し、Windows Update を再試行するが同じエラーが発生。
dism /online /cleanup-image /startcomponentcleanup
対応手順 – 更新プログラムを手動インストール
わたしの環境は Windows 10 、かつ バージョン 22H2 向けに配信されている更新プログラムをダウンロードしました。
今回、私はGDR-DU版(Windows 10 and later GDR-DU)を選択。
他に 通常版(Windows 10, version 1903 and later )という選択もある。
※ 私はGDR-DU版で作業しましたが、後々調べると稼働しているシステムであれば通常版の方が適切だと思われます。今回せっかく調べたので、これら更新プログラムの違いを解説する記事を作成するかも。
わたしはWinキー
+ R
で “ファイル名を指定して実行” を起動。
起動した入力欄に「powershell
」と入力しEnterキーでPowerShellウィンドウを起動しました。
コマンドプロンプトで作業したい場合は、上記の「powershell
」を「cmd
」にすると実現可能。
今回の更新プログラム「KB5040427」については、ファイル名「windows10.0-kb5040427-x64_a47e0ad9acf4998546fe98a6a539b60fd67d6515.cab
」の拡張子をみてわかる通りCABファイルとなります。
そのため、ここでは手動インストールはCABファイルの手動インストールが可能なDISMコマンドを紹介しています。
更新プログラムが今回の KB5040427以外 でダウンロードしたファイルの拡張子も異なる場合、更新プログラムのインストール方法が変わるので注意が必要です。
※ 更新プログラムの拡張子によるインストール方法の違いは、別の記事で解説するかも。
今回、KB5040427の拡張子は「CABファイル」のため、DISMコマンドを使って手動インストールを実施。
cd "ダウンロードしたフォルダーのパス"(私の場合、C:\Users\Administrator\Downloads)
dism /online /add-package /packagepath:".\windows10.0-kb5040427-x64_a47e0ad9acf4998546fe98a6a539b60fd67d6515.cab"
こちらの記事を参考に3つ対応し、Windows Update を再試行するも同じエラーが発生。
- システムファイルチェッカーによる修復
sfc /scannow
- DISMコマンドによる修復
以下、3つのコマンドを試すもNGDISM /Online /Cleanup-Image /RestoreHealth
DISM /Online /Cleanup-Image /Startcomponentcleanup
DISM /Online /Cleanup-Image /ScanHealth
- CBS.logを確認
Windows Server 環境ではないのでCBS.log
がなく、この対応方法を断念
対応手順 – GUIでディスクのクリーンアップ
これまでにコマンドで同じような対応を行いましたが、GUIでもディスクのクリーンアップが可能な為、対応してみました。
結果は変わらず同じエラーが発生。
右クリック(コンテキストメニュー)の一番したにある プロパティ(R)
を選択。
こちらの記事を参考にWindows コンポーネントのリセットを行いました。リセット後にOS再起動を行い、Windows Update を再試行しましたが同じエラーが発生。
対応手順 – Windows Update コンポーネントをリセット
net stop wuauserv
net stop cryptsvc
net stop bits
net stop msiserver
PS C:\\Users\\Administrator> net stop wuauserv
>> net stop cryptsvc
>> net stop bits
>> net stop msiserver
Windows Update サービスを停止中です.
Windows Update サービスは正常に停止されました。
Cryptographic Services サービスを停止中です..
Cryptographic Services サービスは正常に停止されました。
Background Intelligent Transfer Service サービスは開始されていません。
NET HELPMSG 3521 と入力すると、より詳しい説明が得られます。
Windows Installer サービスは開始されていません。
NET HELPMSG 3521 と入力すると、より詳しい説明が得られます。
PS C:\\Users\\Administrator>
上記の結果でわかるとおり、「bits」と「msiserver」の実行結果が “サービスは開始されていません。” とあります。
環境によって違いがあるかもしれませんが、私の環境では、この2つのサービスを起動する必要はありません。
ファイル名を変更することでシステム的にはクリアな状態にし、念のためのコピーバックアップとしても使用可能です。
ren C:\\Windows\\SoftwareDistribution SoftwareDistribution.old
ren C:\\Windows\\System32\\catroot2 catroot2.old
PS C:\\Users\\Administrator> ren C:\\Windows\\SoftwareDistribution SoftwareDistribution.old
>> ren C:\\Windows\\System32\\catroot2 catroot2.old
PS C:\\Users\\Administrator>
わたしの環境でサービスの停止を実施した結果、「」と「」の2つのサービスはもとより停止状態だったため、この手順で起動は行いません。
net start wuauserv
net start cryptsvc
PS C:\\Users\\Administrator> net start wuauserv
>> net start cryptsvc
Windows Update サービスを開始します.
Windows Update サービスは正常に開始されました。
Cryptographic Services サービスを開始します.
Cryptographic Services サービスは正常に開始されました。
PS C:\\Users\\Administrator>
原因
今回の対応では一般的な解決方法を一つひとつ試していき、最終手段としてWindows OS の上書きインストールを行い解決しました。
そのため、今回発生したエラーの原因は特定できていません。
ただ、前述しているとおり更新プログラム「KB5040427」がインストール不可となったのは一部の環境で発生し、
大半のWindows 10 環境ではインストールは成功しています。
これら結果からも環境に依存した問題であるという事が判断できます。
さらに一部のシステムファイルが不足、もしくは破損していることで更新が失敗するエラー “0x80073701” が発生していることも、その環境依存に大きくかかわっていると思われます。
解決方法
以降、OSを再インストールして復旧してます。
OSの再インストールは危険度の高い作業で、最悪のケースはOSが立ち上がらなくなる危険性も。
必要に応じて作業前にOSのバックアップを取得するなど対策をしてから作業を進めてください。
こちらの公式ページにある「ツールを今すぐダウンロード」により “MediaCreationTool_22H2.exe” をダウンロード。
対応したが解決できなかった8つの方法
それぞれ8つの対応を実施後、Windows Update を再試行しましたが、今回わたしのケースだと変わらずにエラーが発生しました。
私が最終的に解決した方法は 「Windows OS の上書きインストール」という本当の最終手段でした。
類似事例だとすると、まずこれらの方法を優先的に実施した方が良いでしょう。
より細かい詳細な手順は時系列に記載していますので必要に応じてご参照ください。
方法1. Windows Update カタログ でダウンロードし手動インストール
Microsoft公式サイトである Windows Update カタログ を使って該当の更新プログラムをダウンロード。
更新プログラムの種類がcabファイルだった場合、下記のコマンドで手動インストール。
(詳細は時系列に記載。)
cd "ダウンロードしたフォルダーのパス"(私の場合、C:\Users\Administrator\Downloads)
dism /online /add-package /packagepath:".\windows10.0-kb5040427-x64_a47e0ad9acf4998546fe98a6a539b60fd67d6515.cab"
方法2. システムファイルチェッカーによる修復
sfc /scannow
方法3. DISMコマンドによる修復 – その1
DISM /Online /Cleanup-Image /RestoreHealth
方法4. DISMコマンドによる修復 – その2
DISM /Online /Cleanup-Image /Startcomponentcleanup
方法5. DISMコマンドによる修復 – その3
DISM /Online /Cleanup-Image /ScanHealth
方法6. Windowsのコンポーネントストア(WinSxSフォルダー)をクリーンアップ
dism /online /cleanup-image /startcomponentcleanup
方法7. システムフォルダー(私の場合はCドライブ)のクリーンアップ
Cドライブを右クリックし、プロパティを表示。ボタン「ディスクのクリーンアップ(D)
」を実行。
方法8. Windows Update コンポーネントのリセット
net stop wuauserv
net stop cryptsvc
REM 私の環境だと下記2つのサービスはすでに停止中だったため不要だった
REM net stop bits
REM net stop msiserver
ren C:\\Windows\\SoftwareDistribution SoftwareDistribution.old
ren C:\\Windows\\System32\\catroot2 catroot2.old
net start wuauserv
net start cryptsvc
REM 私の環境だと下記2つのサービスはすでに停止中だったため起動も不要とした
REM net start bits
REM net start msiserver
以上が “対応したが解決できなかった8つの方法” です。
こうして一覧でみると結構がんばりましたね。わたし……
参考情報
まとめ
- 私の事例(KB5040427で0x80073701エラー)の場合
最終手段のWindows OS 上書きインストールによりエラーが解消!
- 類似事例(他の更新プグラムで0x80073701が発生など)の場合
紹介した8つの方法を実施すると解決する……かも
(ネットを見る限り、これらの方法で解決している方も多かった印象。)
コメント