Windowsシステムドライブの肥大化 2013-09-05 (Thu) 22:22

以前からうすうす気付いていたのだが、Windows7(Vista以降)は Windows Updateする度にCドライブ(システムドライブ)の容量が半端なく削られていく。

具体的には、Windowsフォルダ中の「WinSxS」なるフォルダが肥大化していくようで、ググってみると、

WinSxSフォルダの中身は殆どがハードリンクであり、実際にはせいぜい数百MB程度しか消費していないので心配無用


的な記事が数多く見受けられるがどうも胡散臭い。

たとえ上述の通り、実際に使用してるのが数百MB程度であったとしても、Windowsのシステム側ではハードリンクの分も実体として勘定し、ドライブの残量が減ってるんだから全然意味が無い。
実際に使用していようがいまいが、そんなの全然関係ないのだ。

また、このMSサポート資料にはこんなことが書かれている。(´・ω・`)y-~~~
(Vistaの資料だが多分この辺りはWindows7も同じはず)

コンポーネントおよび修正プログラムは、その他のモジュールとの依存関係や対応するファイル バージョンなどの情報を保存している manifest ファイルなどと共に、すべてが %windir%\winsxs フォルダー以下に保存されます。 %windir%\winsxs フォルダーは、コンポーネントの削除および修正プログラムをアンインストールしてもファイル自体は %windir%\winsxs フォルダー以下に残ります。つまり、コンポーネントの削除および修正プログラムの追加や削除は、実際にファイルの置き換えや削除をするのではなく、ファイルへのハードリンクを変更する動作になります。


要するに、Windows Updateする度に修正対象をすべて WinSxSに突っ込んでおいて、更新により使わなくなったファイルがあっても消さずに放置し、新しいファイルにハードリンクを張り替えるだけということらしい。

更新をアンインストールしないと決めて、古いファイルを削除しようと思っても、その手段はそもそも提供されていし、
更新自体をアンインストールしても実ファイルは削除しないという凶悪な仕様だ。
なるほどこれじゃWinSxSフォルダは肥大化する一方なわけだ。

OSの仕様としてこれで良しとしてるんだったらセンスを疑うレベル。
不要になったファイルを後生大事にHDDの肥やしにしておいて、容量が足りなくなったらパーティションの拡張とかOSの再インストールとかが迫られるわけだ。そんなのあまりにも馬鹿げてるし。(´・ω・`)y-~~~


さすがに、MSもマズいと思っているのか、Windows8ではドライブのプロパティから辿れる「ディスク クリーンアップ」に
「Windows Update のクリーンアップ」なるメニューが追加され、古い修正プログラムを削除できるようにしたようだ。

実際には、不要ファイルを間引きながら WinSxSを構成し直しているような感じではないのかな?
Windows8で試してみたところ、うちの環境では処理が終了するまでに数時間を要し、WinSxSフォルダの容量が2GB近く減少した。

多分、裏では
dism.exe /online /cleanup-image /startcomponentcleanup

こんなコマンドが動いているのだと思う。
試しに、Windows8の dism.exeを Windows7で動かしてみたが、/startcomponentcleanup オプションは認識されず。orz

WinSxS周りの仕様はさすがのMSさんもヤバいと思っているようなので、Windows8以外でも上述の手段を早いとこ提供して欲しいものです。たのんますよMSさん。


2013/10/11 追記
MSさん対応してくれたみたいです。あざ~す。
関連記事

コメントの投稿

管理者にだけ表示を許可する

注意事項
基本的にこのブログはブログ主の備忘録です。

ブログの内容にはブログ主の主観や時には正確でない情報が含まれていることもあります。書いてある内容がすべての環境にあてはまることを保証するものでもありません。
また過去の記事の情報はそれが参照された時点では既に陳腐化していることもあります。

その辺をご理解の上で当ブログ内に書いてあることを試す場合は自己責任でお願いします。

万一何らかの損害が生じても責任は持てませんのであしからず!

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
02 | 2017/03 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
ブログ内検索
カラーコードチェッカ
カラーコードの確認
入力例) #ffffff | blue
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文: