WSL2: presentación del subsistema de Windows para Linux 2

El subsistema de Windows para Linux 2 (WSL2) es la solución más sencilla y eficiente para utilizar aplicaciones Linux en Windows. WSL2 permite el acceso a las herramientas y aplicaciones Linux directamente desde el entorno Windows habitual y, por ello, es especialmente interesante para programadores. Gracias a la arquitectura completamente revisada respecto a la versión anterior, WSL2 ofrece un mayor rendimiento que los planteamientos comparables que existen.

¿Qué es WSL2?

WSL2, que fue lanzado en la primavera de 2020, es un perfeccionamiento de Windows Subsystem for Linux (WSL1). Linux es un sistema operativo de código abierto que se diferencia fundamentalmente de Windows, que se desarrolla y distribuye como un producto comercial. Linux convence especialmente por su amplia variedad de herramientas de programación y otros paquetes de software disponibles libremente.

¿Cuáles son exactamente las diferencias con la versión anterior?

La diferencia fundamental entre WSL2 y su versión anterior se encuentra en la arquitectura del software. Mientras que WSL1 cuenta con una capa de compatibilidad para la transferencia de la ejecución del código entre Windows y Linux, WSL2 está basado en la virtualización de un sistema operativo Linux. La máquina virtual que se utiliza se ejecuta en el hipervisor nativo de Windows Hyper-V, que ofrece un rendimiento especialmente alto.

Mientras que el abanico de funciones de la interfaz Linux de WSL1 era limitado, WSL2 utiliza un núcleo Linux completo. Se trata de núcleo optimizado especialmente para WSL2 en cuanto a tamaño y a rendimiento, basado en el código original estable de “kernel.org”. En la práctica, este planteamiento se traduce en una aceleración de la ejecución del código por un factor de entre dos y veinte. Además, WSL2 requiere menos capacidad de memoria que la versión previa. Para los usuarios resulta especialmente útil que en el núcleo se realicen las tareas de mantenimiento como parte de las actualizaciones regulares de Windows.

Puesto que WSL1 utiliza una capa de traducción para gestionar los accesos a Linux y a Windows, algunos tipos de software especializado de Linux no pueden incluirse. Por el contrario, la virtualización del núcleo de WSL2 ofrece compatibilidad completa con los accesos al sistema. En la práctica, esto significa que los elementos de software complejo como Docker también se pueden ejecutar con WSL2. Además, desde el entorno Linux se obtiene acceso a la tarjeta gráfica, lo que resulta ventajoso sobre todo en aplicaciones con grandes conjuntos de datos, como las que se usan para el machine learning o en contextos de data science.

Aunque se recomienda la utilización de WSL2 en sistemas modernos, ambas versiones pueden funcionar en paralelo. En cada distribución Linux es posible determinar qué versión WSL se debe utilizar para el control.

¿Cuáles son los requisitos de WSL2?

Los requisitos del sistema para la utilización de WSL2 dependen del procesador que el ordenador tenga instalado:

  • Para sistemas x64 se requiere como mínimo la versión 1903 con build 18362 o superior.
  • Para sistemas ARM64 se requiere como mínimo la versión 2004 con build 19041 o superior.

Si no estás seguro de qué versión y edición de Windows utilizas, lo puedes comprobar siguiendo estos pasos:

  • Pulsa el [símbolo de Windows] + [R], introduce “winver” en el campo de texto que aparece y pulsa [Intro].
  • También lo puedes consultar haciendo clic en “Inicio” > “Configuración” > “Sistema” > “Acerca de” > “Especificaciones de Windows”.

¿Cómo se puede utilizar WSL2 en el propio sistema?

Existen dos métodos principales con los que utilizar WSL2 en tu sistema propio. A continuación, mostramos las dos variantes en detalle:

  1. Si aún no has instalado ningún subsistema de Windows para Linux, instala WSL2 en tu sistema y configura una distribución Linux.
  2. Si ya eres usuario de WSL1, instala WSL2 y ejecuta una actualización de la instalación Linux existente.

Para configurar WSL2 en tu sistema, necesitas Windows PowerShell. Ten en cuenta que deberás abrir PowerShell como administrador para realizar la instalación. Copia el comando mostrado en la línea de comandos de PowerShell y ejecútalo.

Activar WSL2 e instalar una distribución Linux

En caso de que aún no tengas WSL1 instalado en tu sistema, sigue nuestras instrucciones para instalar WSL2 y una distribución Linux:

Paso 1: activar Windows Subsystem for Linux

Copia el siguiente comando en la línea de comandos de PowerShell y ejecútalo:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Paso 2: activar el funcionamiento del ordenador virtual

Copia el siguiente comando en la línea de comandos de PowerShell y ejecútalo:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Paso 3: instalar el paquete de actualización para el núcleo Linux

A continuación, descarga el paquete de instalación apropiado para tu sistema. Ejecuta entonces el asistente para la instalación. Selecciona el paquete adecuado dependiendo de la arquitectura del procesador de tu ordenador:

Paso 4: definir WSL2 como versión estándar

Copia el siguiente comando en la línea de comandos de PowerShell y ejecútalo:

wsl --set-default-version 2

Paso 5: reiniciar el ordenador

Reinicia el ordenador.

Paso 6: seleccionar e instalar la distribución Linux

Abre Microsoft Store y busca “Linux”. Se mostrará una serie de aplicaciones de Linux disponibles.

Haz clic en la distribución Linux deseada y después en “Instalar”. En caso de que no estés seguro de qué distribución es la adecuada, te recomendamos la instalación de Ubuntu Linux 20.04 LTS.

Una vez finalizada la instalación, haz clic en “Abrir”.

Paso 7: configurar la distribución Linux

En la ventana que aparece, se descargan y descomprimen algunos paquetes de inicio. Esto puede durar unos minutos. A continuación, se solicitará que indiques tu nombre de usuario y contraseña para la instalación de Linux.

Nota

Con WSL puedes ejecutar varias aplicaciones Linux de manera paralela. Si quieres hacerlo, deberás crear una cuenta de usuario independiente para cada distribución.

Actualizar una distribución Linux existente de WSL1 a WSL2

Si ya eres usuario de WSL1 y has configurado una instalación Linux, ejecuta en primer lugar los pasos 2-4 de las instrucciones anteriores. Utiliza el siguiente comando de PowerShell para modificar una distribución Linux ya instalada en WSL2:

wsl --set-version <distribution> 2</distribution>

Ten en cuenta que la variable “<distribution>” se debe sustituir por el nombre de una distribución Linux instalada. Utiliza el siguiente comando PowerShell para visualizar una lista de las distribuciones Linux instaladas junto con sus nombres:

wsl --list --verbose
Nota

Los ajustes de cada distribución Linux instalada se almacenan en un archivo de configuración llamado “wsl.conf”. Este archivo seguirá funcionando después del cambio a WSL2.

Comparación final de las características de WSL2 y WSL1

Como ya hemos visto, la utilización de WSL2 ofrece numerosas ventajas frente a su versión anterior. La siguiente tabla resume los puntos en común y las diferencias entre las dos versiones:

Característica WSL1 WSL2
Integración entre Windows y Linux
Arranque rápido del entorno Linux
Elevado rendimiento y baja necesidad de recursos
Basado en máquina virtual (VM)
Núcleo completo de Linux
Compatibilidad completa con llamadas al sistema
Permite la utilización paralela de VMware y VirtualBox
Permite la utilización más allá de los sistemas de archivo del sistema operativo