treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Windows Updateがエラー8024A006&8007000E(800706BA/800706BE)を出して失敗する

新年早々、Windows Updateを実行したらエラーになったのでご報告します。
エラーになった環境は、以前の記事<ThinkPad T61にWindows7クリーンインストール - treedown’s Report>でOS再インストールを実行した環境です。

エラーとその対処

WindowsUpdateを実行後、エラーメッセージが表示されてアップデートが動作しませんでした。
「このコンピュータで利用できる新しい更新プログラムを確認中にエラーが発生しました。
コード 8024A006 WindowsUpdateで不明なエラーが発生しました。」
図:エラー画面

f:id:treedown:20160104005415p:plain

エラーになりそうな前兆はなかったのですが…。

今回の対処はWindowsUpdateで利用するデータ(昔の言い方で言えばカタログデータ)をクリアして、WindowsUpdateデータを初期化してしまいます。
対処のためいったん「services.msc」を起動して、サービスの表示名「Windows Update」(サービス名:wuauserv)を右クリックから停止します。
図:サービス手動停止

f:id:treedown:20160104005432p:plain

停止すると状態欄が「開始」から空欄になります。この状態であればサービスが停止しています。

f:id:treedown:20160104005504p:plain

サービスを停止する理由は対処のために編集するファイル/フォルダがこのWindowsUpdateサービスでロックされているので、サービスを停止します。

サービス停止後、エクスプローラを開き、「C:\Windows」を開きます。「C:\Windows」配下のフォルダから、フォルダ名「SoftwareDistribution」を編集します。
図:編集している最中の図

f:id:treedown:20160104005543p:plain

編集は、フォルダを適当にリネームすればOKです。図では「SoftwareDistribution」から「SoftwareDistribution.org」に変更しています。
フォルダを編集し終わったのち、再度「services.msc」画面から先ほど停止した「Windows Update」サービスを再度起動します。(サービス名で右クリックし、開始を選択します。)
図:サービス手動開始

f:id:treedown:20160104005619p:plain

Windows Update」サービスを再度起動したのち、再度「wuapp.exe」からWindowsUpdateを再度実行してみることにします。

注意点など

この時点で「C:\Windows\SoftwareDistribution」が再生成されているので、クリーンな状態のWindowsUpdate環境で再度アップデートを検索し始めます。
実際の問題は「C:\Windows\SoftwareDistribution」に格納されているWindowsUpdate関連データが破損することによってコード:8024A006の不明なエラーが発生するので、この「C:\Windows\SoftwareDistribution」を初期化することによってWindowsUpdateエラーが改善するという流れです。
この「C:\Windows\SoftwareDistribution」フォルダ内にはWindowsUpdateのダウンロードキャッシュファイル(いままでに適用したKBの実行ファイル)が格納されているフォルダも含まれています。当然ですが上流のフォルダ名をリネームしてしまったので、この中に含まれているダウンロードキャッシュもOSから認識できなくなってしまいます。よって稼働中のPCでこの対処を実行する際にはWindowsUpdateの履歴が削除されてしまうことに注意が必要です。

再度実行してみます

この対処を実行してから、再度WindowsUpdateを実行すると、うまく動作するようになってくれました。
図:WindowsUpdate再実行

f:id:treedown:20160104005639p:plain

うまくいった、と思ったら

上図の1回はうまく動作しKBが適用できたのですが、再起動後2回目のKB検出ではまたしても失敗してしまいました。…おや?
今度はエラーコード8007000Eが出力されています。
図:エラーコード

f:id:treedown:20160104005741p:plain

このKBに限らず大量にエラーが出ています。
また、このほかのKBではエラーコード800706BA/800706BEも出ています。
先ほどのエラーと相違してこのエラーコードでは Windows Update トラブルシューティング ツールを実行することで修正が可能なようです。
Windows Update エラー 80070008 または 8007000e
http://windows.microsoft.com/ja-jp/windows7/windows-update-error-80070008-or-8007000e
さっそく上記URLページ内のトラブルシューティングツールをダウンロードし実行しました。
ダウンロードしたトラブルシューティングツールを実行し、表示されるウィザードを進めていくと自動的に対処が完了します。

特に画面に指示は出てきませんが、トラブルシューティングツールを実行したのちPCを一度再起動することをお勧めします。(私のPCではトラブルシューティングツールを実行したのちPCを再起動するとWindowsUpdateが安定しました。他の環境では再起動しなくてもいいのかもしれませんが、一例として念のため再起動をお勧めします。)

ここまで実行して、ようやくWindowsUpdateが安定して適用できるようになりました。


同じWindowsUpdateのエラーコードでお悩みの方の参考になれば幸いです。