Windows 10 Pro・EnterpriseでWSL2のVHDファイルサイズを最適化する


WSL2上のLinux内のファイルコンテンツはWindows上の仮想ハードドライブ(VHDファイル)に格納されている。このドライブは可変サイズのため、Linux側のファイルが増えると自動的に拡張される。しかしLinux側のファイルを削除しても、この仮想ドライブのサイズは縮小されず、削除したファイルに割り当てられた領域は確保されたままとなるため、仮想ハードドライブのサイズは増加しつづける。

以下にWindows 10 Pro・Enterpriseで仮想ハードドライブのサイズを最適化する方法を示す。

VHDファイルのパスを探す。

wsl --shutdown
Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName

---
PackageFamilyName
-----------------
CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc

VHDファイルのパスは以下。

  • %USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx

以下のコマンドでVHDファイルを最適化する。

optimize-vhd -Mode full -Path "$($env:USERPROFILE)\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"