0
1

More than 5 years have passed since last update.

Windows7 - WindowsUpdate と ディスククリーンアップをしたらフリーズが頻発した

Posted at

事の経緯

 ラップトップのHDD(SSD)容量が妙に逼迫していると思い、
ディスクのクリーンアップを試みたところ、WindowsUpdateの残骸が大量に残っていた。
殆どは C:\Windows\Install や C:Windows\Tmp 等にあり、200GBのSSDのうち120GB近くを
ため込むという始末。

困ったことにディスクのクリーンアップでは消えてくれない。
幾つかWebを見て回ったところ、システムに影響が出るかも?という記載と
消してみたけれど影響でなかったよ?という相反するものが有り、いまいちよく分からない。

とはいえ、この容量を放置しているとディスク逼迫のせいで
システムがやたら重い、という事象が避けられなくなってきたので
思い切って削除してみることにした。

結果

 容量は当然空いた。
…が、シャットダウンに1時間近く掛かるようになった。
英語表記のラップトップなので、画面に出る文字が英語なので恐縮だが
シャットダウンとすると

Preparing To Configure Windows. Please Do Not Turn Off Your Computer

といったメッセージが出て40分以上、電源が落ちなくなった。
従ってRebootの所要時間45分。やっていられない…
シャットダウン自体は電源をぶち切りしてしまえば済むが、事象は解消しないので
再起動する度にこの文字と共に40分以上待たされる。
挙げ句の果てには起動してきたと思ったら全ての動作に対して頻繁に20秒ぐらいフリーズするようになった。
例えば

  • Firefoxを起動する
  • Cドライブを表示する
  • 適当なテキストファイルを開く(Notepad++とか)
  • 漢字変換を試みる

要するに全ての動作。

どうやって解消したか

結論から言えば** WindowsUpdate の履歴を一切合切クリアしてやり直す ** で解決。
具体的には以下のようなバッチと作業をたたいて消す。


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 wuauserv
net start cryptSvc
net start bits
net start msiserver
wuauclt /resetauthorization /detectnow

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
rmdir %systemroot%\softwaredistribution.old /q /s
rmdir %systemroot%\System32\catroot2.old /q /s
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
shutdown /r /t 0

ここで再起動が掛かる。
起動をしてきたら
「管理ツール」「サービス」「WindowsUpdate」のサービスを停止。
停止したら

C:\Windows\SoftwareDistribution\DataStore\datastore.edb

を削除する。
このファイルはWindowsUpdateの履歴ファイルなので
サービスを止めないと削除できない。
そして、削除するとWindowsUpdateができなくなる。

そうなったら再び再起動をし、以下のバッチを実行する。


net stop wuauserv
cd %systemroot%
ren SoftwareDistribution SoftwareDistributionold
net start wuauserv
net stop bits
net start bits
net stop cryptsvc
cd %systemroot%\system32
ren catroot2 catroot2old
net start cryptsvc

再び再起動でどうやら復活。

面倒くさかった…
ちなみにScanDiskはやってみたが効果が無かった

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1