How WSL2's Virtual Disk Actually Grows (and Why It Won't Shrink on Its Own)
Each WSL2 distro lives inside a dynamically-expanding .vhdx file that grows with use but never shrinks back down automatically after deletions.
A real Linux kernel and userland running alongside Windows — architecture, integration, and daily use.
Each WSL2 distro lives inside a dynamically-expanding .vhdx file that grows with use but never shrinks back down automatically after deletions.
WSL distros reduce to a root filesystem tarball plus small registration metadata, which is exactly what makes import, export, and custom distros work.
Working through the specific, common causes of post-update WSL permission errors instead of reflexively reaching for chmod 777 or broad workarounds.
Why WSL2's internal VM clock falls behind Windows after sleep or hibernation, and the specific steps to force it back into sync reliably.
Working through Windows features, firmware virtualization, kernel version, and disk space in order to find why a WSL distro hangs or refuses to start.
Working through Docker Desktop's specific WSL2 integration points, from backend mode to per-distro toggles, when containers fail with confusing errors.
Diagnosing whether high vmmem usage is a genuine leak or reclaimable page cache, and setting a deliberate .wslconfig memory ceiling that actually fits your workload.
Isolating whether a WSL2 networking failure is DNS configuration, VPN interference, or the networking mode itself, before reaching for a fix.
Confirming that /mnt/c's cross-filesystem overhead is the actual cause of slow WSL2 file I/O, then moving the project to fix it structurally, not cosmetically.
Deleting files inside WSL2 does not shrink the Windows-side .vhdx automatically. That is expected dynamic-disk behavior, fixed with diskpart compaction.