2026.03.30
# Web制作の知識
【Windows WSL2】Cドライブを圧迫している不明なデータを探る【Docker】
こんにちは
MaromaroのTAKAです。
今回は、Windows 11 Home環境でCドライブの容量が何をしても減らない問題に直面し、その原因の特定と解消を行ったので、備忘録としてまとめます。
先に原因を記載すると、DockerとWSL2が原因でした。
WSL2については以前のブログに書いていますので、ご参考までに
何が起こっていたか
ことの始まりはドライブの容量が↑の様にギリギリまで使っていることに気づきました。
最初は不要ファイルが溜まっているのかと思い、削除していましたが一向に減る気配はありません。
見ての通りインストールアプリが容量を食っているのかと思い、確認しました。
※インストールアプリだけで641GBも使っているのは中々の衝撃です。正直身に覚えはありません。
インストールアプリをサイズの降順にならべてもギガ超えは手で数えられるほどでした。
Windowsの標準機能だけで確認するには埒が明かないと思い、
「WinDirStat」を導入し確認しました。
上記ソフトは指定したフォルダなどの占有率などを爆速でチェックして表示してくれる素晴らしいソフトです。
しかし、かなり強い権限で動かすので、誤った操作をすると復帰不可能レベルでPCを破壊するので、要注意なソフトでもあります。
そしてWinDirStat確認した所Dockerで使用しているext4.vhdxというファイルが容量を食っていることに気が付きます。
ext4.vhdx とは、Docker Desktop が WSL2 上で使っている Linux 用の仮想ディスクファイルです。Windows 上ではただの 1 ファイルに見えますが、中身は Linux の ext4 ファイルシステムで、Docker のイメージ・コンテナ・ボリューム・ビルドキャッシュなどがここに保存されます。
Dockerが原因とわかったところで、コンテナなどを削除していましたが容量が一向に減らないことに気が付きます。
これは仕様上Dockerのコンテナ等をただ削除しても、ext4.vhdxから容量が削除されないためです。(一度容量を確保すると特定の操作をするまでそのままになる…らしい)
簡単な話ext4.vhdxをそのまま消してしまえば良いのですが、そうすると生きてるコンテナなどの情報もすべて消えるので、
これは得策ではありません。
どうするか
最適化するコマンドがあるので実行します。
念のため可能であればext4.vhdxファイルを外部にバックアップ等はしておいてください。
WindowsでもHome or Proなどでやり方は少し変わるみたいですが、
今回は私の使用しているHomeの標準的な対応方法を記載します。
1.Docker Desktopの終了
Docker自体のシステムを一旦終了させます。
2.WSLのシャットダウン
ターミナル上で以下コマンドを叩いてWSLをシャットダウンする。
wsl --shutdown
3.最適化コマンドを実行
- ext4.vhdxファイルがあるディレクトリに移動(xxxxは適宜自分のユーザー名になる)
cd C:\Users\xxxx\AppData\Local\Docker\wsl\data- diskpartコマンドの実行
diskpart- ファイルを設定
select vdisk file='C:\Users\XXXX\AppData\Local\docker\wsl\data\ext4.vhdx'- 下層ディスクファイルのアタッチ
attach vdisk readonly- 最適化の実行
いよいよ最適化が実行されます。(少し時間かかります。)
compact vdisk- DISKPARTの終了
detach vdisk
次に以下コマンドexit4.容量の確認
これで一連の流れが終了したので、実際に私のCドライブの容量がどれだけ減ったか確認します。
例のファイルが480Gから60G程度までの削減が確認出来ました。
空き領域だけで420GBあったようでした。気づかぬうちにドライブが逼迫しているのはなかなか恐ろしいです。
大事な案件中に予期せぬトラブルを避けるために、このあたりもしっかりとチェックしていきたいですね。以上Takaでした。


















