# WSL (Subsistema de Windows para Linux): qué es, instalación y configuración de Linux en Windows

URL: https://skillaria.top/es/guides/linux/wsl-linux-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:

1. 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».
2. Si está activado el componente «Plataforma de máquina virtual».
3. 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=mirrored` en la sección `[wsl2]` del archivo `.wslconfig`.
- **WSL ocupa mucho espacio** — el disco virtual `ext4.vhdx` crece, 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 root` y ejecute `passwd 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.

## FAQ

**¿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 , 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.


---
Source: Skillaria.Top (https://skillaria.top)
