WSL (Subsistema de Windows para Linux): qué es, instalación y configuración de Linux en Windows
WSL (Windows Subsystem for Linux, Subsistema de Windows para Linux) es un componente integrado en Windows 10 y 11 que ejecuta una distribución Linux real sin máquina virtual aparte ni arranque doble. Se instala con un único comando, wsl --install, en PowerShell como administrador; por defecto se instala WSL 2 con Ubuntu, donde funciona un núcleo Linux real dentro de una máquina virtual ligera.
Windows Subsystem for Linux (WSL, Subsistema de Windows para Linux) es un componente de Windows 10 y 11 que permite ejecutar una distribución Linux dentro de Windows: la terminal bash, apt, ssh, grep, Docker y cualquier utilidad de consola. No hace falta instalar VirtualBox ni dividir el disco para un segundo sistema: Ubuntu se abre como una ventana de terminal normal en unos segundos. A continuación se explica en qué se diferencian WSL 1 y WSL 2, cómo instalar el subsistema, cómo trabajar con archivos, VS Code y aplicaciones gráficas, y qué hacer con los errores más habituales.
Qué es WSL en Linux y en Windows
En resumen, WSL es una forma de tener un entorno Linux completo para desarrollar y aprender sin salir de Windows. Instala una distribución (Ubuntu, Debian, openSUSE, Kali, AlmaLinux y otras) desde la línea de comandos o desde Microsoft Store, y después trabaja en ella igual que en un servidor: usuarios, permisos, paquetes y servicios.
Conviene saber qué no hace WSL. No es un emulador de comandos como Cygwin ni un conjunto de utilidades portadas: en WSL 2 funciona un núcleo Linux real, compilado por Microsoft. Por eso los binarios de Linux se ejecutan sin recompilarse, y lo aprendido en WSL se traslada directamente a un servidor real.
Tareas típicas del subsistema:
- aprender Linux y la línea de comandos sin tener otro ordenador;
- desarrollo web cuando la producción funciona en Linux (Python, Node.js, PHP, Go);
- Docker Desktop, que usa WSL 2 como motor;
- conexión a servidores por SSH, scripts bash y trabajo con git en un entorno habitual.
WSL 1 y WSL 2: diferencias
Existen dos arquitecturas del subsistema. WSL 1 traduce las llamadas al sistema de Linux en llamadas al núcleo de Windows: no hay un núcleo Linux propiamente dicho. WSL 2 ejecuta un núcleo Linux real dentro de una máquina virtual ligera basada en Hyper-V, que arranca en segundos y gestiona su propia memoria.
| Parámetro | WSL 1 | WSL 2 |
|---|---|---|
| Núcleo | no, traducción de llamadas al sistema | núcleo Linux real |
| Compatibilidad con llamadas al sistema | parcial | completa |
| Docker, systemd | no | sí |
Velocidad con archivos de Linux (~/) | menor | alta |
Velocidad con archivos de Windows (/mnt/c) | alta | notablemente menor |
| Necesita virtualización | no | sí |
| Red | compartida con Windows | red virtual propia (NAT por defecto) |
Para casi todos los casos elija WSL 2, que es la opción por defecto. WSL 1 tiene sentido si no se puede activar la virtualización (por ejemplo, cuando Windows ya se ejecuta dentro de una máquina virtual sin virtualización anidada) o si el proyecto debe estar en el disco de Windows y trabajar activamente con él.
Cómo instalar WSL en Windows 10 y 11
En Windows 11 y en Windows 10 versión 2004 o posterior (compilación 19041 o superior), la instalación se reduce a un comando. Abra PowerShell o Terminal como administrador y ejecute:
wsl --install
El comando activa los componentes necesarios de Windows, descarga el núcleo de WSL 2 e instala Ubuntu. Tras reiniciar, se abre la ventana de la distribución: invente un nombre de usuario y una contraseña de Linux. No están vinculados a la cuenta de Windows; esta contraseña será la que pida sudo.
Enter new UNIX username: alex
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
Actualice los paquetes de inmediato, como en cualquier servidor recién instalado:
sudo apt update && sudo apt upgrade -y
Cómo elegir la distribución
Ubuntu se instala por defecto, pero puede elegir otra distribución. Lista de las disponibles:
wsl --list --online
Instalación de una distribución concreta por su nombre de esa lista:
wsl --install -d Debian
Si WSL ya está instalado, el comando solo añade la nueva distribución. Puede tener varios sistemas a la vez, por ejemplo Ubuntu para trabajar y Kali para experimentar.
Comprobar la versión: wsl -l -v
Para ver las distribuciones instaladas, su estado y la versión de WSL:
wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Debian Stopped 2
El asterisco marca la distribución por defecto, la que se abre con el comando wsl sin parámetros. Para cambiarla: wsl --set-default Debian.
Cómo pasar de WSL 1 a WSL 2
La versión para las nuevas instalaciones se define con:
wsl --set-default-version 2
Una distribución ya instalada se convierte por separado (los datos se conservan, pero el proceso puede tardar varios minutos):
wsl --set-version Ubuntu 2
La conversión inversa es wsl --set-version Ubuntu 1.
Comandos útiles para gestionar WSL
| Comando | Qué hace |
|---|---|
wsl | abre la distribución por defecto |
wsl -d Debian | abre una distribución concreta |
wsl --shutdown | detiene todas las distribuciones y la máquina virtual de WSL 2 |
wsl --terminate Ubuntu | detiene una sola distribución |
wsl --update | actualiza WSL y el núcleo |
wsl --status | versión por defecto y estado general |
wsl --export Ubuntu ubuntu.tar | copia de seguridad de la distribución en un archivo |
wsl --import Ubuntu2 D:\wsl\u2 ubuntu.tar | restaura o clona una distribución |
wsl --unregister Ubuntu | elimina la distribución junto con todos sus datos |
Tenga cuidado con --unregister: los archivos dentro de la distribución se borran sin papelera. Antes haga un --export.
Archivos de Windows desde Linux y viceversa
Los discos de Windows se montan automáticamente dentro de WSL en el directorio /mnt: el disco C: es /mnt/c, el D: es /mnt/d.
cd /mnt/c/Users/alex/Downloads
ls -l
cp report.csv ~/projects/
En sentido contrario, los archivos de Linux se ven en el Explorador de archivos por la ruta de red \\wsl$\Ubuntu (en Windows 11 también \\wsl.localhost\Ubuntu) y en la sección «Linux» de la barra lateral. Para abrir rápido el directorio actual de Linux en el Explorador:
explorer.exe .
Desde WSL se pueden ejecutar programas de Windows (notepad.exe, code), y desde PowerShell, comandos de Linux con el prefijo wsl: wsl ls -la. Para convertir rutas entre ambos sistemas existe la utilidad wslpath:
wslpath 'C:\Users\alex'
/mnt/c/Users/alex
La regla principal de rendimiento de WSL 2: guarde los proyectos en el sistema de archivos de Linux (~/projects), no en /mnt/c. El acceso a los discos de Windows se hace a través de un protocolo de red, y operaciones como git status o npm install en un proyecto grande van varias veces más lentas.
VS Code y WSL
Visual Studio Code puede trabajar con WSL como si fuera una máquina remota: la interfaz queda en Windows, mientras que la terminal, las extensiones, los intérpretes y el depurador se ejecutan dentro de Linux. Para ello hace falta la extensión WSL (de Microsoft). Después, desde la terminal de la distribución, vaya al directorio del proyecto y ejecute:
cd ~/projects/site
code .
La primera vez, VS Code instala en Linux su parte de servidor. En la esquina inferior izquierda aparecerá el indicador «WSL: Ubuntu», lo que indica que todo lo que ejecute desde la terminal integrada se ejecuta en Linux. Las extensiones como Python o ESLint deben instalarse «en WSL»: VS Code lo ofrecerá con un botón.
Aplicaciones gráficas en WSL (WSLg)
En Windows 11 y en las versiones actuales de WSL en Windows 10 existe WSLg, que da soporte a aplicaciones gráficas de Linux sin configurar un servidor X. Instale el programa como de costumbre, y su ventana aparecerá junto a las de Windows, con un acceso directo en el menú Inicio.
sudo apt install gedit -y
gedit ~/.bashrc &
WSLg admite X11 y Wayland, sonido y portapapeles. Aun así, para el trabajo diario con un escritorio Linux completo no es un sustituto: WSL está pensado para aplicaciones sueltas, no para ejecutar GNOME o KDE enteros.
systemd y recursos de WSL 2
Las versiones actuales de WSL 2 admiten systemd: en las instalaciones nuevas de Ubuntu viene activado por defecto. Si no lo está, añada en el archivo /etc/wsl.conf dentro de la distribución:
[boot]
systemd=true
y reinicie el subsistema desde PowerShell con wsl --shutdown. Después funcionan systemctl y servicios como nginx o PostgreSQL.
La memoria y los procesadores de la máquina virtual de WSL 2 se limitan en el archivo %UserProfile%\.wslconfig, en el lado de Windows:
[wsl2]
memory=4GB
processors=2
Los cambios se aplican tras ejecutar wsl --shutdown.
Errores típicos al instalar WSL
Error 0x80370102
Texto completo: «No se pudo iniciar la máquina virtual porque falta un componente necesario» (WslRegisterDistribution failed with error: 0x80370102). La causa casi siempre es una: WSL 2 no puede iniciar la máquina virtual. Compruebe en este orden:
- Si la virtualización por hardware está activada en la BIOS/UEFI: Intel VT-x (Intel Virtualization Technology) o AMD-V (modo SVM). El estado aparece en el Administrador de tareas → «Rendimiento» → CPU → «Virtualización: Habilitado».
- Si está activado el componente «Plataforma de máquina virtual».
- Si el hipervisor no está desactivado en el cargador de arranque.
Los componentes se activan desde PowerShell como administrador:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
bcdedit /set hypervisorlaunchtype auto
Después reinicie el equipo. Si trabaja dentro de una máquina virtual, en el equipo anfitrión debe permitirse la virtualización anidada; si no, use WSL 1.
Otros problemas frecuentes
- 0x800701bc — el núcleo de WSL 2 no está actualizado. Ejecute
wsl --update. - El comando wsl --install solo muestra la ayuda — WSL ya está instalado; añada la distribución con
wsl --install -d Ubuntu. - No hay internet dentro de WSL con VPN — el cliente VPN intercepta las rutas de la red virtual. En Windows 11 ayuda el modo
networkingMode=mirroreden la sección[wsl2]del archivo.wslconfig. - WSL ocupa mucho espacio — el disco virtual
ext4.vhdxcrece, pero no se encoge solo al borrar archivos. Puede reducirlo manualmente o trasladar la distribución con--export/--import. - Olvidó la contraseña de Linux — entre como root desde PowerShell con
wsl -u rooty ejecutepasswd alex.
WSL, máquina virtual o arranque dual
WSL no es la única forma de tener Linux en un equipo con Windows. La elección depende de la tarea.
| Opción | Ventajas | Desventajas | Cuándo elegirla |
|---|---|---|---|
| WSL 2 | arranque en segundos, archivos compartidos, VS Code, Docker | sin escritorio completo, particularidades de red y discos | desarrollo, aprendizaje de la consola, scripts |
| Máquina virtual (VirtualBox, Hyper-V, VMware) | aislamiento total, instantáneas, cualquier distribución y escritorio, tarjeta de red propia | más pesada, los recursos se reservan de antemano | laboratorio de servidor, pruebas de red, arranque y particiones |
| Arranque dual | toda la potencia del hardware, gráficos y drivers nativos | reinicio para cambiar de sistema, riesgo al particionar | Linux como sistema principal, juegos y tareas con GPU en Linux |
Para aprender Linux desde cero, WSL suele bastar: los archivos, los permisos, los procesos, los paquetes, los scripts bash y SSH funcionan igual que en un servidor. Una máquina virtual hace falta cuando llegan cosas que en WSL funcionan de otra manera: el cargador de arranque, el particionado de discos físicos, las interfaces de red y el cortafuegos a nivel de equipo.
Conclusión
El Subsistema de Windows para Linux le da un Linux real dentro de Windows con un solo comando, wsl --install. Elija WSL 2, compruebe las versiones con wsl -l -v, guarde los proyectos en ~/ y no en /mnt/c, y conecte VS Code mediante la extensión WSL. Si la instalación falla con 0x80370102, active la virtualización en la BIOS y el componente «Plataforma de máquina virtual». Preparar este entorno es el primer paso de la práctica en el curso de Linux.
Preguntas frecuentes
¿WSL es gratuito?
Sí. WSL viene incluido en Windows 10 y 11 en todas las ediciones, incluida Home, y las distribuciones de Linux también son gratuitas.
¿Se puede ejecutar Docker en WSL?
Sí, pero solo en WSL 2. Puede instalar Docker Desktop con el motor WSL 2 o instalar Docker Engine directamente en la distribución, como en un servidor Ubuntu normal.
¿Dónde se guardan físicamente los archivos de una distribución WSL?
En WSL 2, en el disco virtual ext4.vhdx dentro del perfil de usuario de Windows. No hace falta abrirlo directamente: use la ruta \\wsl$\ en el Explorador.
¿Cómo desinstalar WSL por completo?
Elimine las distribuciones con wsl --unregister <nombre>, después quite la aplicación «Subsistema de Windows para Linux» desde «Aplicaciones instaladas» y, si lo necesita, desactive los componentes de Windows.
¿Se puede mover WSL a otro disco?
Sí: wsl --export Ubuntu ubuntu.tar, luego wsl --unregister Ubuntu y wsl --import Ubuntu D:\wsl\ubuntu ubuntu.tar. En las versiones recientes también existe el comando wsl --manage Ubuntu --move.
Este tema se explica a fondo y con práctica en el curso «Linux: с нуля до уверенного администрирования».
Ir al curso