Windows Update の裏にある倉庫
C:\Windows\SoftwareDistribution は Windows Update の倉庫です。更新プログラムはまず Download サブフォルダーにダウンロードされ、そこで準備を整え、それからようやくインストーラーへ引き渡されます。隣には DataStore があり、中の DataStore.edb は更新履歴を保持する ESE データベース —「更新履歴の表示」で見るあのリストです。このほか小さな帳簿付けもあります。更新スキャン用メタデータを置く SLS と、再起動後に完了する操作の印を残す PostRebootEvent です。健康なマシンでは数百メガバイトで落ち着いていますが、機能更新の失敗や累積更新パッチの停滞のあとは、10〜20 GB の死荷物を抱えることもあります。サイズ自体は故障ではありません。問題が始まるのは、データベースや準備済みファイルが壊れて、再試行のたびに同じ壊れたパッケージをダウンロードし直すときです。
中身の棚卸し
何かを削除する前に、どの部分が何を担っているかを知っておくと助けになります。フォルダーの半分は失っても痛手がなく、もう半分は本当に困ります。以下の 6 人の住人が、実質的にそこで見つかるすべてです。
- Download:更新プログラムの本体 — 重い部分。空にしても安全で、必要なものは Windows がダウンロードし直します
- DataStore\DataStore.edb:更新履歴のデータベース — 削除すると、インストール済み更新の一覧が白紙になります
- SLS:更新スキャン用のメタデータ — 次の確認時に自動で再構築されます
- PostRebootEvent:再起動後に待機している操作の印 — 再起動が完了すると消えます
- tmp:ダウンロード進行中の作業領域 — 触るのはサービス停止中だけに
- ReportingEvents.log:更新イベントのプレーンテキストログ — 小さくて診断に重宝します
安全な手順と、実際に効く場面
正しい順序はこうです。Windows Update サービスと BITS を停止し(net stop wuauserv、net stop bits)、フォルダー名を SoftwareDistribution.old に変更し、サービスを再開して「更新プログラムのチェック」をクリックします。サービスの停止は省けません。wuauserv が掴んでいるファイルは、動作中は削除も名前変更もできないからです。これで直るのは定番の症状です — 0x80070002 のようなエラー、永遠に同じパーセントで止まったままのダウンロード、インストールされたのに再び提案されてくる更新。代償は、設定の更新履歴が白紙になること。履歴を保存していたデータベースを削ったためです。直らないのは、細い回線での遅いダウンロード、従量制接続での帯域制限、配信最適化のアップロードです。それらは別のキャッシュであり、専用のスイッチが別にあります。
よくある質問
SoftwareDistribution フォルダーは削除しても安全ですか?
はい。ただし先に Windows Update サービスと BITS を停止していることが条件です。Windows は次の確認時にフォルダーを作り直します。失うのは更新履歴の一覧だけです。
SoftwareDistribution がこれだけ容量を食うのはなぜですか?
たいていは、失敗したか途中までしかダウンロードされていない機能更新が、Download にパッケージを残したためです。サービスを停止してフォルダーを空にすれば容量は戻ります。健康な環境では数百メガバイトにとどまります。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]