Si trabajas en Windows y alguna vez has necesitado un comando de Linux, una herramienta que solo existe para Linux o un entorno igual al del servidor donde acaba tu código, tienes tres caminos: montar una máquina virtual, partir el disco en dos o usar WSL en Windows. El tercero es el único que no te obliga a elegir entre un sistema y otro cada vez que enciendes el ordenador.
Esta guía explica qué es el Subsistema de Windows para Linux, qué diferencia hay entre sus dos versiones, qué se puede hacer con él y qué no, y cuándo compensa frente a una máquina virtual o un arranque dual. Todo lo que viene a continuación está contrastado con la documentación oficial de Microsoft.
Qué es WSL y qué no es
WSL son las siglas de Windows Subsystem for Linux, el Subsistema de Windows para Linux. Microsoft lo define en su documentación oficial como una característica de Windows que permite ejecutar un entorno Linux en tu máquina sin necesidad de una máquina virtual aparte ni de un arranque dual. No es un emulador ni un programa que imita comandos: es una pieza del propio sistema operativo.
Lo que instalas dentro son distribuciones de Linux de verdad —Ubuntu, Debian, Kali y otras—, que se descargan desde la Microsoft Store, se importan desde un archivo o se construyen a medida. Cada distribución guarda sus archivos en un sistema de archivos Linux aislado y propio, y se actualiza con su propio gestor de paquetes.
Conviene entender qué no es, porque ahí es donde nacen las decepciones:
- No es un escritorio de Linux completo. Microsoft avisa en su guía de aplicaciones gráficas de que el soporte para programas con ventana no ofrece una experiencia de escritorio completa, porque se apoya en el escritorio de Windows; instalar herramientas pensadas para un escritorio Linux puede no estar soportado.
- No es un Linux idéntico al de una máquina física. La propia documentación enumera las diferencias: WSL da acceso automático a los archivos de Windows, añade por defecto las rutas de Windows al
PATH—lo que puede provocar comportamientos inesperados en algunas aplicaciones—, permite ejecutar programas de Windows desde Linux y actualiza el núcleo por su cuenta. - No lo abarca todo en hardware. La documentación señala que WSL 2 no da acceso directo a puertos serie, y que para los dispositivos USB hace falta el proyecto USBIPD-WIN, que Microsoft documenta aparte.
WSL 1 y WSL 2: qué cambia entre las dos versiones
Hay dos arquitecturas distintas conviviendo, y la diferencia no es cosmética. Según la comparación oficial, WSL 2 es la versión por defecto al instalar una distribución y funciona con un núcleo de Linux real dentro de una máquina virtual ligera, con las distribuciones corriendo como contenedores aislados dentro de ella. Eso le da compatibilidad completa con las llamadas al sistema, algo que WSL 1 no tiene.
La tabla de Microsoft deja claro dónde gana cada una. Las dos comparten integración entre Windows y Linux, arranque rápido, poco consumo de recursos frente a una máquina virtual tradicional y soporte de IPv6. WSL 2 suma máquina virtual gestionada, núcleo completo, compatibilidad total con las llamadas al sistema y soporte de systemd. Y WSL 1 gana en dos cosas concretas: funciona con las versiones actuales de VMware y VirtualBox, y rinde mejor cuando los archivos están en el sistema de archivos del otro sistema operativo.
Ese segundo punto tiene truco, y Microsoft lo explica: la desventaja de WSL 2 al cruzar sistemas de archivos se resuelve guardando los archivos del proyecto en el mismo sistema operativo donde corren las herramientas que los usan. Es decir, no es un motivo para quedarse en WSL 1, sino para colocar bien los archivos.
Las dos versiones pueden convivir en el mismo equipo, y cada distribución se pasa de una a otra cuando quieras con wsl --set-version. Eso sí, WSL 2 exige Windows 11 o Windows 10 en la versión 1903, compilación 18362 o posterior.
Qué permite hacer dentro de Windows
La lista de la documentación de Microsoft es larga, y merece la pena leerla entera porque explica para qué sirve esto en la práctica:
- Ejecutar herramientas de línea de comandos como
grep,sedoawk, y en general binarios ELF de 64 bits. - Ejecutar guiones de Bash y aplicaciones de línea de comandos de GNU/Linux: editores como vim, emacs o tmux; lenguajes como Node.js, Python, Ruby, C/C++, C#, F#, Rust o Go; y servicios como SSHD, MySQL, Apache, lighttpd, MongoDB o PostgreSQL.
- Instalar software con el gestor de paquetes de tu distribución.
- Llamar a aplicaciones de Windows desde un intérprete de comandos tipo Unix, y al revés.
- Ejecutar aplicaciones gráficas de Linux integradas en el escritorio de Windows.
- Usar la GPU del equipo para acelerar cargas de aprendizaje automático dentro de Linux.
Ese último punto es más relevante de lo que parece: el acceso a la tarjeta gráfica se hace a través de un dispositivo /dev/dxg que encamina las llamadas hacia la GPU de Windows, y Microsoft lo plantea como la vía para trabajar con aprendizaje automático, inteligencia artificial y ciencia de datos con conjuntos de datos grandes.
Cómo se instala, en una sola orden
La instalación es sorprendentemente corta. Microsoft pide Windows 10 en la versión 2004 o superior —compilación 19041 o posterior— o Windows 11. Con eso, se abre PowerShell como administrador y se escribe:
wsl --install, que activa las características necesarias e instala Ubuntu. Después hay que reiniciar el equipo.
La primera vez que abras la distribución recién instalada verás una ventana pidiéndote que esperes mientras se descomprimen los archivos; a partir de ahí, según la documentación, los arranques posteriores tardan menos de un segundo. Lo siguiente es crear tu usuario y tu contraseña de Linux, que no tienen nada que ver con los de Windows.
Si prefieres otra distribución, wsl --list --online enseña las disponibles y wsl --install -d seguido del nombre instala la que elijas. Y si ya tenías WSL instalado, el mismo comando te devolverá el texto de ayuda en vez de instalar nada: es la señal de que debes ir por la vía de la lista.
Un detalle útil para saber dónde estás: wsl --list --verbose enumera las distribuciones instaladas y con qué versión de WSL funciona cada una.
Dónde viven los archivos y por qué importa
Aquí está el error más común de quien empieza. La guía de Microsoft sobre sistemas de archivos desaconseja trabajar cruzando sistemas salvo que tengas un motivo concreto, y da la regla en dos líneas: si trabajas desde una línea de comandos de Linux, guarda los archivos en el sistema de archivos de Linux; si trabajas desde PowerShell o el símbolo del sistema, guárdalos en el de Windows.
En la práctica eso significa usar /home/tu-usuario/Proyecto y no /mnt/c/Users/tu-usuario/Proyecto. Cuando veas /mnt/ en una ruta, estás trabajando sobre una unidad montada, es decir, sobre el disco de Windows visto desde Linux. Se puede, pero rinde peor.
Al revés también funciona: escribiendo \\wsl$ en la barra de direcciones del Explorador de Windows aparecen todas tus distribuciones con sus sistemas de archivos. Y desde la propia línea de comandos de Linux, explorer.exe . —con el punto final— abre el Explorador en la carpeta en la que estés.
Hay una diferencia que conviene tener presente: Windows no distingue mayúsculas y minúsculas en los nombres de archivo y Linux sí. Para Windows, FOO.txt y foo.txt son el mismo archivo; para Linux, dos distintos.
Mezclar comandos de los dos mundos
Esta es la parte que hace que WSL no se parezca a una máquina virtual. Las herramientas de Windows y de Linux se pueden usar indistintamente, y los resultados de unas se encadenan con las otras.
Desde PowerShell o el símbolo del sistema, wsl seguido de un comando ejecuta ese comando en Linux usando el directorio de trabajo actual, con el usuario por defecto de la distribución y con los mismos permisos de Windows que tenga el proceso que llama. Funcionan las tuberías, la redirección a archivos y sudo. Microsoft pone ejemplos que se entienden a la primera: wsl ls -la | findstr "git" lista archivos con Linux y filtra con PowerShell, y dir | wsl grep git hace justo lo contrario.
En sentido inverso, desde Linux se ejecutan programas de Windows escribiendo su nombre con la extensión, como notepad.exe. Se comportan casi como binarios nativos de Linux: admiten tuberías y redirecciones, se ejecutan como el usuario activo de Windows y aparecen en el Administrador de tareas igual que si los hubieras lanzado desde el símbolo del sistema. Eso sí, hay que escribir la extensión y respetar mayúsculas y minúsculas, y los comandos internos del símbolo del sistema —como dir— necesitan cmd.exe /C por delante.
Los dos sistemas pueden además compartir variables de entorno a través de una variable especial llamada WSLENV, que existe tanto en Windows como en Linux y admite marcas para traducir rutas de un formato al otro.
Aplicaciones con ventana en el escritorio de Windows
WSL 2 ejecuta aplicaciones gráficas de Linux —X11 y Wayland— integradas en el escritorio de Windows. Según la documentación, se lanzan desde el menú Inicio, se anclan a la barra de tareas, se alternan con Alt+Tab y permiten copiar y pegar entre programas de Windows y de Linux.
Hace falta Windows 11 o Windows 10 en la compilación 19044 o posterior, y tener instalado el controlador de GPU virtual correspondiente a tu tarjeta —Intel, AMD o NVIDIA— para aprovechar la aceleración por hardware de OpenGL. Si ya tenías WSL, la actualización se hace con wsl --update y luego wsl --shutdown para reiniciarlo.
Un aviso importante: las aplicaciones gráficas solo funcionan con WSL 2. Una distribución configurada como WSL 1 no las ejecuta.
systemd y los servicios de Linux
Durante años esta fue la carencia más citada de WSL. Ya no: WSL admite systemd, el gestor de servicios que usan Ubuntu, Debian y la mayoría de distribuciones grandes, y viene activado por defecto en la versión de Ubuntu que instala wsl --install.
Para el resto de distribuciones hay que activarlo a mano: se comprueba que la versión de WSL sea la 0.67.6 o posterior con wsl --version, se edita el archivo /etc/wsl.conf y se le añaden dos líneas, [boot] y systemd=true. Después, wsl.exe --shutdown reinicia las instancias y systemctl status confirma que está funcionando.
Esto abre la puerta a herramientas que dependen de systemd, como snap o microk8s. Y trae un matiz que conviene conocer: los servicios de systemd no mantienen viva tu instancia de WSL, que sigue apagándose igual que antes.
Cuánta memoria y cuántos núcleos se lleva
Como WSL 2 se apoya en una máquina virtual ligera, consume recursos, y por defecto no son pocos. La documentación de configuración avanzada lo detalla: sin tocar nada, la máquina virtual recibe el 50 % de la memoria total de Windows y tantos procesadores lógicos como tenga el equipo. El archivo de intercambio, por su parte, se fija en el 25 % de esa memoria, redondeado al gigabyte superior.
Todo eso se cambia en un archivo llamado .wslconfig, que aplica ajustes globales a todo WSL, con claves como memory, processors o swap. No hay que confundirlo con wsl.conf, que vive dentro de cada distribución y configura solo esa. Si tu equipo va justo de memoria, este es el primer sitio donde mirar; y si te quedas corto, nuestra guía sobre cómo elegir la memoria RAM te ayuda a decidir qué ampliar.
WSL, máquina virtual o arranque dual
Las tres opciones sirven para tener Windows y Linux a mano, pero no resuelven lo mismo:
- WSL es lo más cómodo si lo que quieres es la línea de comandos, las herramientas de desarrollo y los servicios de Linux mientras sigues en Windows, sin reiniciar y con los archivos de los dos sistemas al alcance. Es la vía natural si trabajas contra servidores Linux.
- Una máquina virtual te da un sistema completo y aislado, con su escritorio y su propio hardware virtual, a cambio de más consumo y más gestión. Si nunca has montado una, tienes nuestra guía para usar máquinas virtuales en Windows. Ojo: WSL 1 convive con VMware y VirtualBox, pero WSL 2 no lo hace con las versiones actuales, según la comparación de Microsoft.
- El arranque dual es la opción de rendimiento: cada sistema usa el hardware directamente. A cambio hay que tocar particiones y arranque, y no se puede usar uno mientras estás en el otro. Lo contamos entero en nuestra guía sobre el arranque dual de Windows y Linux, con los riesgos y los pasos previos.
- Un USB live es lo más rápido para probar sin instalar nada, y lo explicamos en la guía sobre probar Linux desde un USB live.
Si el arranque dual o la virtualización se te resisten, merece la pena repasar la configuración del firmware del equipo: nuestra guía sobre la BIOS y la UEFI explica dónde se activan las opciones de virtualización.
La buena noticia es que no hay que elegir de por vida. WSL se instala con una orden, se desinstala igual y convive con cualquiera de las otras dos opciones. Para la mayoría de quienes trabajan en Windows y solo necesitan Linux para programar, probar o administrar, es el camino más corto y el que menos compromete el equipo.
Te puede interesar
Tech Planet participa en el programa de afiliados de Amazon. Si compras a través de estos enlaces, recibimos una pequeña comisión sin coste extra para ti, lo que nos ayuda a seguir creando contenido como este.
| Imagen | Producto | Características | Comprar |
|---|---|---|---|
![]() |
GL.iNet GL-MT3000 Beryl AX, router de viaje | Wi-Fi 6 de doble banda · WAN de 2,5 G · OpenVPN y WireGuard · OpenWrt · DNS sobre HTTPS y sobre TLS | Ver precio en Amazon |
![]() |
Beelink ME Mini, NAS de escritorio | Intel N95 (4 núcleos / 4 hilos) · 12 GB LPDDR5 · 6 ranuras M.2 NVMe de hasta 4 TB cada una · doble LAN de 2,5 Gbps | Ver precio en Amazon |
![]() |
Curso intensivo de Python, tercera edición | libro · tercera edición | Ver precio en Amazon |
![]() |
Raspberry Pi 5 | Broadcom BCM2712 · CPU Arm Cortex-A76 de 4 núcleos a 2,4 GHz · Wi-Fi de doble banda y Bluetooth 5.0 · Gigabit Ethernet con PoE+ (requiere HAT aparte) | Ver precio en Amazon |









