- Qué es WSL (y qué no es)
- Qué es WSL2 y en qué se diferencia de WSL1
- Cómo funciona WSL2 por dentro
- Requisitos para instalar WSL2
- Cómo instalar WSL2 paso a paso
- Qué puedes hacer con WSL2
- GPU, inteligencia artificial y aplicaciones con interfaz
- Interoperabilidad: Windows y Linux en el mismo escritorio
- Redes en WSL2: IP propia, NAT y localhost
- Limitaciones de WSL2
- WSL2, máquina virtual o arranque dual
- Preguntas frecuentes
- Conclusión
Hay una guerra silenciosa en el escritorio de muchos informáticos: te gusta Linux, su ecosistema y su terminal, pero dependes de Windows para trabajar. Durante años la solución fue el arranque dual (odias reiniciar) o la virtualización (que va bien, pero pesa). Y luego Microsoft anunció WSL, y por fin apareció una tercera vía.
Mi tesis de arranque: WSL2 no es «Linux dentro de Windows» como un emulador, es un Linux de verdad corriendo en un kernel real, lo bastante integrado como para que ni te acuerdes de que hay un Windows debajo. Es, probablemente, la mejor herramienta que Microsoft ha lanzado para desarrolladores en una década.
Qué es WSL (y qué no es)
WSL son las siglas de Windows Subsystem for Linux: un subsistema que permite ejecutar un entorno Linux completo —terminal, herramientas, gestor de paquetes— directamente dentro de Windows, sin arrancar nada aparte ni reiniciar. No es un emulador ni una máquina virtual que tengas que abrir y configurar a mano: para el usuario se comporta casi como una aplicación más.
Su primera versión llegó en 2016 y fue una pequeña revolución: por fin se podía tener una terminal de Ubuntu nativa mientras seguías usando Windows. Pero tenía carencias importantes: traducía llamadas al sistema en lugar de ejecutar un kernel real, el rendimiento era limitado y el acceso al hardware, escaso. Servía, pero no era para todo el mundo.
Lo que no es WSL: ni un terminal remoto, ni una máquina virtual que administras tú, ni un Linux de juguete. Es un sistema Linux real —con su sistema de archivos, su kernel y su gestor de paquetes— que además sabe hablar con Windows. Esa convivencia es justo lo que lo hace útil.
Qué es WSL2 y en qué se diferencia de WSL1
WSL2 se anunció en 2019, llegó a Windows 10 con la versión 2004 y cambió el enfoque por completo. En lugar de traducir, ejecuta un kernel de Linux real dentro de una máquina virtual muy ligera. El resultado: compatibilidad total y un rendimiento cercano al nativo.
| WSL1 | WSL2 | |
|---|---|---|
| Cómo funciona | Traduce llamadas al sistema | Kernel de Linux real en una VM ligera |
| Compatibilidad | Parcial | Total (todo lo que corra en Linux) |
| Rendimiento I/O | Mejor en archivos de Windows | Mejor dentro del propio Linux |
| Docker, GPU, systemd | Con problemas | Soportados |
| Arranque | Inmediato | Un instante (levanta la VM) |
La regla es simple: hoy usa WSL2. WSL1 solo tiene sentido en casos muy concretos, como trabajar con ficheros alojados en el sistema de Windows y necesitar el máximo rendimiento en ese cruce. La comparativa completa la mantiene Microsoft en su documentación oficial.
Cómo funciona WSL2 por dentro
La respuesta corta: WSL2 ejecuta un kernel de Linux real dentro de una máquina virtual muy ligera que arranca en un instante. Esa VM se apoya en el hipervisor de Windows —la misma base de virtualización que utiliza Hyper-V—, aunque no necesitas activar el rol de Hyper-V para usarla.
Hay tres consecuencias prácticas que conviene tener claras:
- Sistema de archivos. Cada distribución vive en su propio disco virtual en formato
ext4. Los ficheros de Windows se ven montados en/mnt/c, pero no están dentro del Linux: se accede a ellos a través de un puente. - Kernel propio. Microsoft distribuye y mantiene ese kernel al margen de Windows. Se actualiza con
wsl --updatesin reinstalar nada. - Recursos compartidos. La VM no reserva memoria fija: la toma y la devuelve según la carga. Aun así puede acaparar bastante si le dejas trabajo pesado, y se limita desde un fichero
.wslconfigen tu carpeta de usuario.
Ese último punto sorprende a quien viene de una máquina virtual tradicional. WSL2 no se queda con un trozo fijo de tu memoria: la pide cuando hace falta. Si compilas algo enorme o levantas varios contenedores, verás al proceso vmmem subir en el administrador de tareas. Si tu equipo va justo de memoria RAM, merece la pena ponerle techo: un .wslconfig con una sección [wsl2] y valores de memory, processors o swap deja claro de cuánto puede tirar (los detalles están en la guía de configuración avanzada).
Requisitos para instalar WSL2
Antes de tocar nada, esto es lo que necesitas:
- Windows 11 o Windows 10 versión 2004 o posterior (compilación 19041 o superior). En versiones más antiguas hay que actualizar primero.
- Virtualización activada en la BIOS/UEFI. Es el requisito que más instalaciones hace fracasar; si está desactivada,
wsl --installavisa o falla directamente. Si no sabes dónde está la opción, mira cómo entrar en la BIOS o UEFI. - Permisos de administrador y unos pocos gigabytes libres para la distribución.
- Opcional: Windows Terminal para una consola decente y una GPU compatible si vas a hacer cómputo.
Cómo instalar WSL2 paso a paso
Los pasos se han simplificado muchísimo. Si tienes Windows 11 (o Windows 10 actualizado), basta con:
- Abre PowerShell como administrador y ejecuta:
wsl --installCon eso se habilitan los componentes necesarios, se instala el kernel y se descarga Ubuntu por defecto.
- Reinicia cuando te lo pida.
- Abre la distro desde el menú de inicio: la primera vez te pedirá un usuario y una contraseña propios de Linux (no tienen que ver con tu cuenta de Windows).
- Comprueba qué tienes instalado y en qué versión:
wsl --list --verboseAhí verás las distros y si están en la versión 2.
Para instalar otra distribución (Debian, Fedora, Arch…) puedes listar las disponibles con wsl --list --online e instalarlas por nombre con wsl --install -d Debian. Y si algo se queda en WSL1, se cambia con wsl --set-version <distro> 2.
Estos cuatro comandos te ahorran los sustos típicos:
wsl --status— versión por defecto y estado del kernel.wsl --update— actualiza el kernel sin tocar la distro.wsl --set-default-version 2— que toda distro nueva nazca ya en WSL2.wsl --shutdown— apaga la VM por completo, útil cuando algo se atasca.
El requisito fundamental es tener la virtualización activada en la BIOS/UEFI. Si la instalación se queja del kernel, la documentación oficial de Microsoft está en learn.microsoft.com/windows/wsl, y los comandos disponibles, en su referencia de comandos básicos.
Qué puedes hacer con WSL2
- Ejecutar Docker de forma nativa, apoyado en el kernel de Linux. Nada de capas intermedias raras.
- Usar systemd, así que los servicios de la distro arrancan como en un Linux normal.
- Aprovechar la GPU para cargas de cómputo e inteligencia artificial con CUDA.
- Abrir aplicaciones gráficas de Linux en el escritorio de Windows (WSLg), sin configurar servidores X a mano.
- Trabajar con VS Code conectado directamente al entorno Linux, como si fuera local.
- Montar bases de datos y servicios de desarrollo —PostgreSQL, MySQL, Redis, servidores web— dentro de la distro y tratarlos como si estuvieran en un servidor Linux de verdad.
El caso estrella es el desarrollo. Levantas en segundos un entorno con la misma versión de Python, Node o PHP que producción, sin contaminar Windows ni pelearte con rutas. Y como la distro es Linux de verdad, las herramientas de siempre —grep, sed, systemd, los contenedores— se comportan igual que en el servidor.
GPU, inteligencia artificial y aplicaciones con interfaz
WSL2 no es solo una consola. WSLg permite abrir aplicaciones gráficas de Linux —un editor, un navegador, GIMP— en ventanas de Windows, sin tunelizar X11 a mano. Las ventanas aparecen integradas en el escritorio, con su icono en la barra de tareas.
Para IA y cómputo, WSL2 puede usar la GPU del equipo con CUDA y DirectML. La regla que más se olvida: el driver gráfico se instala en Windows, no dentro de Linux. Microsoft lo explica en su guía de cómputo con GPU. Es una de las razones por las que muchos equipos de machine learning trabajan en Windows con WSL2 en lugar de mantener un Linux aparte.
Interoperabilidad: Windows y Linux en el mismo escritorio
Aquí está la parte que engancha: los dos sistemas pueden llamarse entre sí. Desde Linux puedes ejecutar un programa de Windows y al revés, casi sin pensar.
- Desde la terminal de Linux,
/mnt/ces tu discoC:, yexplorer.exe .abre el explorador de Windows en la carpeta donde estés. - Desde Windows puedes invocar cualquier cosa con
wsl: por ejemplo,wsl ls -alejecutalsdentro de la distro. - Herramientas como
code .abren VS Code conectado al entorno Linux sin configuración extra.
El aviso clásico: no trabajes con proyectos grandes alojados en el disco de Windows. El cruce entre ambos sistemas de archivos añade latencia, y compilar miles de ficheros pequeños desde /mnt/c se nota. Guarda el código dentro del sistema de archivos de Linux y usa /mnt/c solo para lo que de verdad vive en Windows; es la recomendación que da Microsoft en su guía de sistemas de archivos.
Redes en WSL2: IP propia, NAT y localhost
WSL2 no comparte la red de Windows tal cual: la máquina virtual levanta su propia interfaz y sus propias direcciones IP, detrás de un NAT. En la práctica, la distro puede ser cliente (navegar, clonar repositorios, llamar APIs) sin problema, pero si quieres que algo de fuera entre a un servicio del Linux hay que abrir el camino: reenvío de puertos, reglas de firewall o el modo de red espejo.
Para el día a día casi no lo notas: localhost funciona en ambos sentidos en las versiones recientes, así que un servidor de desarrollo levantado en el puerto 3000 dentro de WSL2 se abre como localhost:3000 en el navegador de Windows. Si necesitas control total —IPv6, VPN, redes complejas— existe el modo de red espejo (mirrored networking), que replica las interfaces de Windows dentro de WSL2. Los detalles cambian según la versión, así que conviene revisar la documentación de red de WSL antes de tocar adaptadores.
Y si el problema no es un puerto que falta sino que «la red va rara», el diagnóstico es el de siempre: medir antes de tocar. Un servicio que va a saltos suele ser un problema de estabilidad, no de ancho de banda.
Limitaciones de WSL2
WSL2 es excelente, pero no es magia. Estas son las limitaciones que conviene conocer antes de mudar tu flujo de trabajo:
- No es un entorno de producción. Está pensado para el escritorio del desarrollador. Para servir tráfico, un Linux nativo o una VM bien gestionada siguen siendo la opción sensata.
- Consume recursos. La VM crece según la carga; en portátiles con poca memoria se nota. El
.wslconfigayuda, pero no hace milagros. - El cruce de ficheros es lento. Mover o compilar grandes volúmenes entre Windows y Linux penaliza. Mantén cada cosa en su sistema de archivos.
- No es un escritorio completo. Aunque WSLg abre aplicaciones gráficas, no esperes un gestor de sesiones, temas del sistema ni el escritorio de una distro al uso.
- Depende de versiones. Funciones como systemd, WSLg o la red espejo llegaron en versiones concretas de WSL y de Windows. En equipos antiguos, la experiencia cambia.
WSL2, máquina virtual o arranque dual
«Depende» es la respuesta honesta, pero se puede concretar:
- WSL2 si necesitas Linux a diario sin renunciar a Windows: desarrollo, contenedores, línea de comandos, herramientas de red. Es el mejor equilibrio.
- Máquina virtual si necesitas un Linux con escritorio completo, otro sistema operativo de invitado o aislamiento fuerte entre entornos.
- Arranque dual si necesitas el rendimiento absoluto del hardware, sin capas intermedias, para jugar o para cargas muy pesadas.
Preguntas frecuentes
¿WSL2 es una máquina virtual?
Por dentro sí: usa una máquina virtual muy ligera con un kernel de Linux real. La diferencia es que está tan integrada con Windows que se comporta casi como una aplicación más, sin que tengas que gestionarla como una VM tradicional.
¿WSL2 es gratis?
Sí. WSL viene incluido con Windows y las distribuciones se descargan gratis desde la tienda o por línea de comandos. No requiere licencia adicional.
¿Qué diferencia hay entre WSL1 y WSL2?
WSL1 traducía llamadas al sistema y tenía compatibilidad parcial; WSL2 ejecuta un kernel de Linux real, con compatibilidad total y mejor soporte de Docker, GPU y systemd. Salvo casos concretos, usa WSL2.
¿Puedo usar WSL2 en producción?
Para desarrollo, sí y es habitual. Para servidores en producción, lo lógico es un Linux nativo: WSL2 está pensado como entorno de trabajo en el escritorio, no como plataforma de producción.
¿Cómo accedo a los ficheros de Windows desde WSL2?
Tus unidades aparecen montadas en /mnt/: por ejemplo, /mnt/c es la unidad C:. Puedes leer, copiar y ejecutar desde ahí, pero para proyectos grandes conviene guardar el código dentro del sistema de archivos de Linux y dejar /mnt/c para lo que vive en Windows.
¿Cuánta memoria consume WSL2 y cómo la limito?
Por defecto el consumo es dinámico: la VM toma memoria según la necesita y puede llegar a usar buena parte de la disponible. Se limita con un fichero .wslconfig en tu carpeta de usuario y una sección [wsl2] (por ejemplo, memory=8GB), y se aplica al reiniciar con wsl --shutdown.
Conclusión
WSL2 resolvió un problema que muchos arrastrábamos desde hace años: dejar de elegir entre Windows y Linux. No es perfecto —la VM añade una capa y el rendimiento con ficheros de Windows puede notarse— pero es la solución más cómoda que existe hoy para quien vive en los dos mundos.
Y si te interesa de dónde viene todo esto, aquí tienes la historia de los sistemas operativos y, para entender el otro bando, qué fue Solaris, el Unix que dominó antes de que Linux se comiera el mundo.