# Windows Subsystem for Linux (WSL)
The Windows Subsystem for Linux (WSL) enables running [[Linux]] distributions on Windows machines without the need for a separate virtual machine or dual booting. WSL is ideal for software development, and for using Linux-based tools (e.g., [[Ollama]]), (mostly) without having to worry about Windows shenanigans.
## Global configuration
Previously, WSL could be configured via a configuration file within the WSL VM, under `/etc/wsl.conf`. It's still possible, but we can now also create a file called `%USERPROFILE%/.wslconfig`, to configure settings globally (applied to ALL WSL VMs).
More details here: https://learn.microsoft.com/en-us/windows/wsl/wsl-config#wslconfig
## Mirrored mode
Using the global WSL configuration (cfr previous section), it's possible to enable a mirrored networking mode, where the networking works the same way on the host and within WSL VMs.
Details: https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking
WSL2 (the modern default, replacing the original WSL1 syscall-translation layer) runs a real Linux kernel inside a lightweight utility VM under [[Hyper-V]] — which is why enabling WSL2 also enables the Hyper-V hypervisor on the host.
## References
- Official documentation: https://learn.microsoft.com/en-us/windows/wsl/
- Installation guide: https://learn.microsoft.com/en-us/windows/wsl/install
- Ubuntu installation for WSL: https://ubuntu.com/desktop/wsl
## Related
- [[Hyper-V]]
- [[Linux]]
- [[WSL2 Distro Manager]]