WSL の仮想ハードディスクのサイズを縮小する diskpart
updated: 2020-08-15
WSL の仮想ハードディスクのサイズが大きくなっていたので, diskpart
を使ってサイズを縮小した.
How to Shrink a WSL2 Virtual Disk – Stephen’s Thoughts に有るように
wsl.exe --terminate <distro>
diskpart
- DISKPART>
select vdisk file="C:\Users\user_name\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_xxxxxxxxxxx\LocalState\ext4.vhdx"
- DISKPART> compact vdisk
と実行して数分待つとサイズが小さくなった.
WSL の仮想ハードディスクファイル自体は C:\Users\user_name\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_xxxxxxxxxxx\LocalState\ext4.vhdx
などにある.
このファイルサイズを適切に縮小するにはWSL 2 should automatically release disk space back to the host OS #4699にもあるように optimize-vhd
を実行すればいいらしいけれど, optimize-vhd
コマンドが見つからないというエラーになったので代替の方法を使った.
特に WSL 内で Docker を使ったりすると,適切にディスクサイズが小さくならないらしい.