Script Valley
Developer Environment Setup (WSL, Terminal, VS Code)
Understanding WSL2 and Why It ExistsLesson 1.1

What is WSL2 and how is it different from a virtual machine

WSL2 definition, Windows Subsystem for Linux, hypervisor architecture, WSL1 vs WSL2, kernel differences, use cases

What is WSL2?

WSL2 architecture diagram

WSL2 (Windows Subsystem for Linux 2) lets you run a real Linux kernel inside Windows without a dual-boot or a full virtual machine. Microsoft ships a lightweight, optimized VM under the hood, but you interact with it as if it were native Linux — no GUI overhead, no disk image to manage manually.

WSL1 vs WSL2

WSL1 translated Linux system calls into Windows equivalents. Fast, but incomplete — some tools broke or behaved oddly. WSL2 ships an actual Linux kernel (built by Microsoft, open source) running in a Hyper-V utility VM. Full syscall compatibility means Docker, eBPF, and compiled native binaries all work correctly.

Why not just use a VM?

A traditional VM (VirtualBox, VMware) boots a full OS, allocates fixed RAM, and requires managing snapshots and bridged networking. WSL2 starts in under two seconds, shares your Windows filesystem at /mnt/c, integrates with VS Code natively, and pauses automatically when idle. For day-to-day development, the friction is close to zero.

When WSL2 makes sense

Use WSL2 when your project targets Linux (Node, Python, Go, Rust servers), when you need Docker Desktop, or when shell tools like grep, curl, and make are part of your workflow. It is not a replacement for Windows applications — GUI apps still run on the Windows side.

Up next

How to enable WSL2 on Windows 10 and Windows 11

Sign in to track progress