はじめに
皆さんこんにちは。川副です。
私の毎月の業務の中に、サーバにWindows Update更新プログラムを適用するというものがあるのですが、
先日その業務でエラーコード「0x800F0841」が発生し、
更新プログラムが失敗する事象がありました。
今回は、その更新プログラムが失敗してしまった原因と、
その解決方法について解説していきます。
原因
Windows Updateを行うクライアント側に
システムファイルが蓄積していたことが原因でした。
エラーコード:0x800F0841 では、更新プログラムの適用時に
予期せぬシャットダウンが発生して適用処理に失敗する事象が報告されており、
今回のケースではシステムファイルが蓄積して処理に負担がかかり、
予期せぬシャットダウンが発生していました。
解決方法
SoftwareDistribution フォルダーのリセットと BITS ジョブのクリアを行うことで解決しました。
参考元
本手順の下記手順を実施しました。
対象のサーバはWindows2016だったため、実施した部分を抜粋して記載します。
また、本作業を実行する際には下記の注意事項をご理解頂いた上で実施していただくようお願い致します。
・[更新履歴の表示] の情報がクリアされます。(作業履歴の情報ですので 現時点の適用状態や今後の適用動作には全く影響ありません)
・過去クライアント側の操作によって「非表示」設定(処理対象から除外)していた更新プログラムが存在する場合は、その設定が解除されます。
・次回 WSUS にアクセスした際にキャッシュされていた情報を再ダウンロードします。そのため、同時に多数の端末が実施した場合にはネットワークの負荷が発生する場合があります。
a) 自動更新サービスと BITS サービスの停止
コマンド プロンプトから以下のコマンドを上から順番に実行します。
net stop usosvc
net stop wuauserv
net stop bits
b) SoftwareDistribution フォルダーのリネーム
コマンド プロンプトから以下のコマンドを実行して、更新プログラムが保存されている SoftwareDistribution フォルダーをリネームします。
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
c) BITS のジョブを削除
コマンドプロンプトから以下のコマンドを上から順番に実行して、ダウンロードに失敗した更新プログラムをキューから削除します。
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat
d) 自動更新サービスとBITS サービスの開始
コマンド プロンプトから以下のコマンドを上から順番に実行します。
net start bits
net start wuauserv
net start usosvc
ここまで対応した後に更新プログラムの適用を実施したところ、
予期せぬシャットダウンが発生することなく適用が完了しました。
おわりに
今回は、Windows Update 更新プログラムが失敗した原因と解決方法について解説しました。
エラーコード「0x800F0841」が発生した場合は参考にしてみてください。
以上、川副でした。