2017.12.04 21時: SoftwareDistribution と catroot2 フォルダの削除に失敗した場合の対処方法を追記
2017.12.04 14時: 初出
Windows Update中にエラー0x80248015 (または エラー80248015) が発生した場合の対処方法を紹介したページです。
「現在サービスが実行されていないため、Windows Update で更新プログラムを確認できません。このコンピューターの再起動が必要な可能性があります。」というエラーが発生した場合も、このページの手順が効果があります。
はじめに
この項目は読み飛ばしてもOK。
- 以下このページで紹介する手順は、当サイト内の「調子が悪くなった Windows Update を コマンドプロンプト で修正する方法」と同じ内容です。
- 紹介するコマンドは Windows Update クライアントの情報をクリアにする手順 – Japan WSUS Support Team Blog に掲載されているものをベースにしています。
- 2017年12月4日に発生した問題の情報は、すでに削除しています。
(一時的なもので既に解消 / 詳細はこちらのページ)
問題発生時のスクリーンショット
以下は Windows 7 で発生したものです。Windows 10 や 8.1 の場合でも、似たようなエラーメッセージになるかと思います。対処手順も同じでOKです。
エラー発生時の画面1
▲クリックで拡大
新しい更新プログラムを検索ができませんでした
エラー: コード 80248015
Windows Updateで不明なエラーが発生しました
エラー発生時の画面2
▲クリックで拡大
「現在サービスが実行されていないため、Windows Update で更新プログラムを確認できません。このコンピューターの再起動が必要な可能性があります。」(PCを再起動しても、このエラーが解消されない場合に試す)
これらのエラーが発生した場合、以下の手順が効果的です。
対処方法
これらのエラーが発生した場合、「SoftwareDistribution」フォルダと「catroot2」フォルダのリセットが効果的です。以下のコマンドを管理者権限のコマンドプロンプトから実行します。
※コマンドプロンプトの実行手順詳細は次項
net stop dosvc
rem Windows 10の場合青部分も必要
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat"
del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat"
net start msiserver
net start bits
net start cryptSvc
net start wuauserv
net start dosvc
net start usosvc
rem Windows 10の場合青部分も必要
rem 赤文字部分、qmgr0.datとqmgr1.datの削除は実行しなくても解決するケースが多い
- コマンド実行後は5~10分ほど待ち、CPUやHDDの負荷が落ち着いてから Windows Update を行います。
- ページ後半に注意事項があります。このコマンドで発生する弊害や危険性を理解した上で、自己責任で実行しましょう。
コマンドプロンプトの起動方法
各OS、各コマンドともに、管理者権限のコマンドプロンプトが必要です。
コマンドプロンプト(管理者)の起動方法
- Windows 10 / 8.1 の場合
▲クリックで拡大 - Windows 7 / Vista の場合
▲クリックで拡大 - 上記のコマンドはコピペしてbat ファイルを組んでもOKです。
▲クリックで拡大
※bat化する場合は、最後の行に「pause」というコマンドを入れ、入力結果を確認できるようにしておきましょう。
以下、コマンド実行時、実行後の注意事項です。
コマンド実行後の注意事項
- コマンド実行後の注意1
- 「SoftwareDistributionフォルダ」と「catroot2.oldフォルダ」の両方が正常に削除(リネーム)できている事を必ず確認してください。
(エラーメッセージが出ていなければOK)
- 正常に削除できていない例
▲クリックで拡大
このような状態 (どちらか一方 (主にcatroot2) のみを削除した状態) でWindows Update や PC再起動を行うと、Windows が正常に作動しなくなる場合があります。 - この場合の原因と対処方法
- コマンドプロンプトを管理者権限で実行していなかった
- リネーム後のファイルが既に存在している
- Windows Updateのサービスが完全に終了していなかった
- コマンドプロンプトを管理者権限で起動し、削除用コマンドを先に実行し、改めて (コマンドプロンプトを管理者権限で起動した状態で) 入力ミスなしに最初に紹介したコマンドを実行すればOKです。
- それでもエラーが出る場合は、Windows Update サービスを止めた状態でエクスプローラーを開いて手動で SoftwareDistribution と catroot2 フォルダの中身を削除します。
- 正常に削除できていない例
- Windows Updateが無事に終了した後は、「SoftwareDistribution.oldフォルダ」と「catroot2.old フォルダ」を削除します。
- 削除コマンド
rmdir %systemroot%\softwaredistribution.old /q /s※これらを削除しなかった場合、このコマンドは2度目以降のコマンド実行時に正常に処理されません。
rmdir %systemroot%\System32\catroot2.old /q /s
- 「SoftwareDistributionフォルダ」と「catroot2.oldフォルダ」の両方が正常に削除(リネーム)できている事を必ず確認してください。
- コマンド実行後の注意2
削除するファイルやフォルダの解説
上記のコマンドで削除しているフォルダやファイルの説明です。
- catroot2フォルダ
・・・・更新プログラムを確認するための署名ファイルが保存されたフォルダ。 - SoftwareDistributionフォルダ
・・・・Windows Update 構成ファイルが保存されている。過去にダウンロード、もしくは現在ダウンロード中の更新プログラムが保存されたフォルダ。 - qmgr0.dat、qmgr1.datファイル
・・・・ダウンロード中の更新プログラムを管理しているファイル。
ダウンロードに失敗した更新プログラムが BITS キューから消えずに残ってしまった場合、このファイルの削除が必要です。
という事で、なにかしらの原因で これらのフォルダやファイルに不正なデータが残ってしまった場合に、それらを削除することでWindows Update を再び正常作動するよう試みる、というのが紹介したコマンドの仕組みです。
このページの情報は以上です。