Shrink WSL2 Virtual Disk
Updated at: 10/06/2025


Per ridurre lo spazio disco utilizzato dagli ambienti wsl2 non è sufficiente rimuovere i file all'interno del sistema linux: poi bisogna anche compattare il disco virtuale.

Ecco qui i passaggi da fare:

PS C:\Users\fabio> wsl --shutdown
PS C:\Users\fabio> diskpart
DISKPART> select vdisk file="C:\Users\fabio\WSL_images\Silmaril-deb\ext4.vhdx"
DISKPART> compact vdisk


In alcuni casi (ad esempio se si utilizza un disco virtuale differente da quello dell'istanza WSL) non è sufficiente il compact perché WSL non rilascia davvero lo spazio liberato sul disco secondario, quindi è necessario prima "riempirlo di zeri"

cd /mnt/wsl/shared
dd if=/dev/zero of=zero.fill bs=1M
rm -f zero.fill

A questo punto si può procedere con il compact


fonte: https://stephenreescarter.net/how-to-shrink-a-wsl2-virtual-disk/


Anche docker su WSL utilizza un disco vhdx per archiviare le varie immagini che quindi nel tempo cresce notevolmente.

Il disco si trova in:

%USERPROFILE%\AppData\Local\Docker\wsl\data


Per ridurne le dimensioni:

docker-compose down
docker system prune -a

Chiudere docker-desktop

Eseguire con i permessi di amministratore un terminale e quindi:

DISKPART> select vdisk file="C:\Users\...\AppData\Local\Docker\wsl\data\ext4.vhdx"
DISKPART> compact vdisk

Riavviare docker-desktop e nella cartella c:\docker\txd_docker:

docker-compose pull
docker-compose up -d