WSL
How WSL Actually Works: From Translation Layer to Real Kernel
How WSL boots, bridges Windows and Linux filesystems and processes, handles networking, and manages the virtual machine memory seen as vmmem.
9 posts, in order
- 1HistoryThe History of WSL: From a Cancelled Android Project to a Real Linux KernelWSL's path from a cancelled Android-compatibility project through syscall translation to a genuine, Microsoft-maintained Linux kernel in a lightweight VM.
- 2How-ToHow to Install WSL on WindowsGetting WSL2 and a Linux distro running from a clean Windows install using the single-command path, plus what to check if it doesn't work the first time.
- 3Deep DiveWSL 2 Boot Lifecycle: From wsl.exe to the Utility VM and Distribution initWhat starts when the first Linux process launches in WSL 2, which configuration is read at each stage, and why a distro can fail before the shell even appears.
- 4Deep DiveHow WSL Bridges Two Completely Different FilesystemsWSL file access crosses Windows and Linux filesystem boundaries; compare the default DrvFs path with Linux-native storage and test changes carefully.
- 5Deep DiveWSL2's Networking Modes: NAT and Mirrored, ExplainedWSL2's original NAT networking isolates it from your LAN by default; mirrored mode, added later, takes a fundamentally different approach with real tradeoffs.
- 6Deep DiveHow WSL Lets Linux and Windows Executables Call Each OtherHow WSL launches Windows and Linux executables across environments, with explicit path conversion, selected environment sharing, streams, and quoting caveats.
- 7Deep DiveHow WSL2 Actually Manages Memory (and Why vmmem Grows)How WSL 2 memory limits, Linux caches, swap, and automatic reclaim interact, with checks to diagnose guest pressure without treating vmmem alone as a leak.
- 8Deep DiveHow WSLg Gets a Linux GUI Window Onto Your Windows DesktopWSLg runs a real Wayland compositor and audio server inside WSL, remoting individual application windows to Windows over RDP's RAIL protocol.
- 9FixFixing High vmmem Memory Usage in WSL2Diagnosing whether high vmmem usage is a genuine leak or reclaimable page cache, and setting a deliberate .wslconfig memory ceiling that actually fits your workload.