Windows Update が実行できなくなる現象を修正する
現象
Windows XP, Windows Server 2003, Windows Server 2003 R2
上記の OS では専用の Windows Update の画面はなく、Web ブラウザを通して Microsoft のサイトにアクセスし、Windows Update を行います。
「スタートメニュー」から「Windows Update」または「Microsoft Update」を実行すると Internet Explorer が開いて Windows Update のページが開きますが、サイトのページがなんどもリフレッシュするような現象に見舞われます。
アドレスバーを見てみると画面がリフレッシュされるたびにアドレスが
- http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja
- http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja&muopt=1
- http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja&muopt=1&muopt=1
- http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja&muopt=1&muopt=1&muopt=1
- http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja&muopt=1&muopt=1&muopt=1&muopt=1
というように「&muopt=1」というパラメータが付加されながら無限ループに陥っていることが分かります。ちなみにここから先へはどうやっても進めません。
Windows Vista, Windows 7, Windows Server 2008, Windows Server 2008 R2
上記 OS では Windows Update を実行すると専用の画面が表示されます。正常な場合はそのまま Windows Update を行えますが、環境が古いと図のような表示になっている場合があります。
「更新プログラムの確認」ボタンをクリックするとそのまま正常に進む場合がありますが、図のようなエラーが出る場合があります。この場合、メッセージの通りサービスを再起動させたり Windows を再起動させても解決しないことが多いです。
解決方法
ここでは Windows Server 2003 R2 の環境での手順を説明します。ほかの OS でも手順はほぼ同じです。Windows Update の画面は違いますが、基本的には画面に表示される流れに沿ってもらえれば問題ありません。
まず最初に「Administrators」グループの権限を持つユーザーでログインします。
テキストエディタを開き、以下の内容を入力して拡張子「.bat」ファイルで保存します。ファイル名はなんでもかまいません。
net stop wuauserv
cd %systemroot%
rd /s /q SoftwareDistributionold
ren SoftwareDistribution SoftwareDistributionold
net start wuauserv
net stop bits
net start bits
net stop cryptsvc
cd %systemroot%\system32
rd /s /q catroot2old
ren catroot2 catroot2old
net start cryptsvc
ファイルを保存したらファイルをダブルクリックして実行してください。Windows Vista, Windows 7 の場合はファイルを右クリックして「管理者として実行」を選択します。
コマンドプロンプトが開いたら自動的に閉じるまで待ちます。
完了したら Windows を再起動して下さい。再起動しなくても問題ない場合がありますが、再起動した方が確実です。
再起動が完了したら Windows Update を実行してみてください。図のように Windows Update 自体の更新をするように促されますので手順どおり進めます(画面の内容は環境によって異なる場合があります)。完了後 Windows Update を行えます。