WSL2の仮想ディスク内のファイルを削除しても,仮想ディスクが1度確保した容量は解放されない(これまじで改善してほしい).
そこで,今回はWSL2が確保した容量を解放する方法を紹介する.
WSL2 のVHDファイルは Microsoft Store からインストールされた Ubuntu であれば以下のパスにある。ファイルエクスプローラーなどで確認するとよい.
C:\Users\{USERNAME}\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_xxxxxxxxx\LocalState\ext4.vhdx
Windows PowerShell か Command Prompt を立ち上げ,以下のコマンドを実行していく.
powershellwsl --shutdown
diskpartの起動.
powershelldiskpart
仮想ディスクの選択・圧縮.
powershellDISKPART> select vdisk file="C:\Users\{USERNAME}\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_xxxxxxxxx\LocalState\ext4.vhdx"
DiskPart により、仮想ディスク ファイルが選択されました。
DISKPART> compact vdisk
100% 完了しました
DISKPART> exit
ここにあるスクリプトを実行するだけでもできるみたい.
動作確認はしていないので自己責任で.