Tradicionalmente, Windows ha proporcionado a sus usuarios una interfaz de línea de comandos que funciona bajo su propio sistema, heredado de MS-DOS y diferente a GNU/Linux. Sin embargo, a partir de Windows 10, con la irrupción de Windows Subsystem for Linux (más comunmente denominado WSL), esto ha cambiado radicalmente.
¿Qué es WSL?
Ahora es posible utilizar distribuciones de GNU/Linux como Ubuntu o Debian dentro de nuestro Windows, utilizando comandos o aplicaciones de GNU/Linux, incluso las que tienen entorno gráfico. En la siguiente imagen, podemos ver una captura de un sistema GNU/Linux Debian dentro de Windows, a través de Windows Terminal.
Otros sistemas operativos como GNU/Linux o Mac, disponen de una interfaz de línea de comandos, por lo que hasta el momento era bastante complejo tener compatibilidad entre estos sistemas y uno Windows. Con la adopción de WSL en Windows, Microsoft introduce una capa intermedia que funciona con un núcleo de Linux real (kernel) y en el que se pueden instalar distribuciones de GNU/Linux (desde la tienda oficial de Microsoft o de forma manual) como por ejemplo Ubuntu, Debian, Kali o incluso la distribución minimalista Alpine.
En la siguiente guía, vamos a ver como instalar WSL (Windows Subsystem for Linux) en nuestro Windows paso a paso, y luego como configurarlo correctamente (o resolver ciertos problemas si los hay).
Requisitos previos
Para poder disponer de una terminal de GNU/Linux en nuestro Windows, antes necesitamos asegurarnos que nuestro equipo cumple los siguientes requisitos. Muchas de estas características se instalan/activan automáticamente en la instalación automática en últimas versiones de Windows.
Para que WSL funcione correctamente necesitaremos que se cumplan las siguientes condiciones:
- Tener Windows 10 o superior (cualquier versión salvo Windows S).
- La virtualización Hyper-V activada en la BIOS/UEFI (lo normal en equipos nuevos).
- La característica Windows Subsystem for Linux activada.
- La característica Plataforma de Máquina Virtual activada.
- Se recomienda tener las actualizaciones de Windows al día para evitar problemas.
En general, los equipos actuales ya cumplen estas condiciones. Mi consejo es intentar realizar la instalación automática (más abajo), y si tienes problemas, revisar esta parte de requisitos previos.
En la BIOS/UEFI del equipo, debes tener activada la característica Virtualización Hyper-V o Hyper-threading virtualization. Para comprobar si la tenemos activada, pulsamos CTLR+ALT+SUPR y vamos al Administrador de tareas, a la pestaña Rendimiento.
Si marcamos CPU, en las opciones inferiores podremos ver un texto que dice Virtualización: Habilitado:
En ese caso, tenemos la virtualización Hyper-V activada en la BIOS y podemos saltar al siguiente punto. Si sale inhabilitada o similar, necesitamos activarla.
En algunos casos, es posible activar esta característica desde el Símbolo de sistema de Windows como administrador, escribiendo el comando
bcdedit /set hypervisorlaunchtype auto
. Para volverla a desactivar, el comando seríabcdedit /set hypervisorlaunchtype off
.
Si aún con este paso, no nos funciona, o nos indica que la virtualización no está activada en el firmware, tendremos que acceder a la BIOS/UEFI de nuestro equipo de forma manual para activarla. Los pasos a seguir serían los siguientes:
Reinicia tu equipo, y durante el inicio pulsa repetidamente la tecla para acceder a la BIOS. Suele ser ESC, F2, F10, F12, Supr o alguna similar, que depende del modelo de equipo (suele indicarlo en alguna parte de la pantalla).
Busca una sección llamada CPU Configuration, Advanced o Virtualization. Este nombre depende del modelo de placa. Dentro de esta sección, debe existir una opción Intel VT-x o AMD-V. Modifica esa opción y marca Enabled.
Guarda los cambios, normalmente con F10 y sal de la BIOS/UEFI. Ahora, al volver a Windows debería aparecer Virtualización: Habilitada en la pestaña Rendimiento del Administrador de tareas.
Por otro lado, para activar las características mencionadas anteriormente en Windows, accedemos a Inicio y buscamos Activar o desactivar características de Windows, donde encontraremos un menú de selección para activar las casillas Subsistema de Windows para Linux y Plataforma de máquina virtual:
La primera de ellas es absolutamente necesaria, puesto que es el propio WSL. La segunda de ellas es necesaria para utilizar WSL2, y es posible que no aparezca si no tienes Windows 10 actualizado. Puedes comprobarlo, accediendo a Inicio y abriendo una terminal de Windows escribiendo CMD o Símbolo de sistema y escribiendo lo siguiente:
> ver
Microsoft Windows [Versión 10.0.19044.2728]
El comando ver nos mostrará la versión instalada de Windows 10. Si es igual o superior a 10.0.19041
, podremos utilizar WSL2, en caso contrario, es posible que no podamos utilizar WSL (o sólo podamos usar WSL1). Para solucionarlo, revisa las actualizaciones de Windows e instala las que tengas pendientes.
Nota: También es posible comprobar que versión tenemos instalada pulsando Win+R y escribiendo
winver
. Si tenemos la compilación de SO 19041 o superior, podremos utilizar WSL2.
Instalación de WSL2
Vamos a ver los pasos necesarios para instalar WSL en nuestro sistema, de modo que podamos utilizar Linux dentro de Windows, en este subsistema de Linux para Windows.
Desplegamos el menú de Inicio y escribimos Símbolo de Sistema, pulsamos con botón derecho y seleccionamos Ejecutar como Administrador. Nos aparece una terminal de texto, donde escribiremos el siguiente comando:
wsl --install -d Debian
Personalmente, prefiero instalar Debian, pero existen otras distribuciones de Linux para WSL. Si simplemente omitimos el -d Debian
y escribimos wsl --install
, se instalará Ubuntu, ya que es la distribución por defecto.
Una vez hecho esto, reiniciamos la máquina. Esto realizará los pasos necesarios para tener WSL:
- Habilitar las características opcionales necesarias.
- Descargar el último kernel de Linux más reciente.
- Establecer WSL2 como predeterminado.
- Instalar Debian (o Ubuntu) como distribución de Linux en WSL.
Si este método ha funcionado correctamente, deberíamos tener WSL y Debian instalados.
Si por alguna razón no te funciona el comando
wsl --install -d Debian
, sube a la parte de requisitos previos para detectar cuál es el problema.
Distros de Linux para WSL
Normalmente, en la instalación de WSL nos instalará el sistema WSL y la distribución elegida (Debian en nuestro caso), pero puede ocurrir que en algunos casos no la instale o accedamos a un equipo que no tiene ninguna instalada. Vamos a asegurarnos.
Windows Subsystem for Linux funciona de modo que podemos tener varias distribuciones instaladas en nuestro sistema y utilizar la que queramos. Una vez hecho los pasos anteriores, deberíamos disponer de un comando wsl
.
Para ver que distribuciones tenemos instaladas, abrimos una terminal de Windows pulsando Win+R y escribiendo cmd
. Luego, tecleamos el comando wsl --list
:
> wsl --list
El subsistema de Windows para Linux no tiene distribuciones instaladas.
Para instalar las distribuciones, se puede visitar Microsoft Store:
https://aka.ms/wslstore
En el caso de tener alguna distribución de Linux instalada, nos aparecerían en la lista, como veremos un poco más adelante.
Si en lugar de aparecer el mensaje anterior nos muestra un error al no encontrar el comando
wsl
, es posible que no tengamos aún instalada la característica Windows Subsystem for Linux, por lo que deberías volver al inicio de este tutorial y seguir los requisitos previos.
WSL permite instalar una serie de distribuciones de Linux específicas, que podemos consultar escribiendo el comando wsl --list --online
. En este artículo, elegiremos la distribución Debian:
> wsl --list --online
A continuación, se muestra una lista de las distribuciones válidas que se pueden instalar.
Instalar con 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_8_5 Oracle Linux 8.5
OracleLinux_7_9 Oracle Linux 7.9
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4 openSUSE Leap 15.4
openSUSE-Tumbleweed openSUSE Tumbleweed
Recuerda que la forma automática de instalar una de estas distribuciones es escribiendo wsl --install -d Debian
, y reemplazando Debian
por el nombre de la distribución deseada.
Si por alguna razón, preferimos la instalación manual, podemos elegir una de las distribuciones siguientes:
Distribución | Página oficial | Enlace a tienda Microsoft | Descarga manual (.appx) |
---|---|---|---|
Debian Linux | Debian | Debian MS Store | Debian .appx |
Ubuntu Linux | Ubuntu | Ubuntu MS Store | Ubuntu 20.04 .appx |
Kali Linux | Kali | Kali MS Store | Kali Linux .appx |
Open Suse | Open Suse | Open Suse MS Store | Open Suse .appx |
Alpine Linux ¹ | Alpine | Alpine MS Store |
¹ No oficial.
Las distribuciones se pueden instalar automáticamente desde la tienda oficial de Microsoft, o manualmente, ejecutando un archivo .appx
que contiene la distribución de Linux a instalar. Si lo hacemos de la primera forma, se instalará de forma transparente, si lo hacemos de la segunda forma, nos mostrará una ventana similar a la siguiente:
Simplemente, pulsamos Instalar y esperamos a que termine la instalación.
Configuración de la distro
Una vez elegida la distribución de Linux e iniciado el proceso de instalación en nuestro sistema, tras esperar un corto espacio de tiempo, si la arrancamos por primera vez, nos aparecerá una ventana similar a la siguiente:
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your
Windows username. For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
En ella, se nos está preguntando por el nombre de usuario y su correspondiente contraseña para utilizar en nuestra distribución de Linux de WSL. Es muy importante que apuntemos estas credenciales, puesto que son las que necesitaremos para acceder a nuestro Linux de WSL. Atento a las siguientes indicaciones:
- El nombre de usuario debe estar en minúsculas.
- No es necesario que coincida con el nombre de usuario de Windows.
- No debe tener signos de puntuación o acentuación.
Ten en cuenta que el nombre de usuario que escribas va a ser el que utilizarás en WSL de forma habitual. Por ejemplo, si utilizamos el nombre de usuario manz, nuestra carpeta de usuario será
/home/manz
.
Listo. Ya tenemos WSL activada con nuestra distribución de GNU/Linux instalada. Ahora, lo recomendable sería revisar el apartado de Configuración de WSL para asegurarnos de que todo está correctamente o mejorar algunos apartados.