Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Obtenga más información sobre las distintas versiones de WSL, incluido el motivo por el que WSL 2 es ahora el valor predeterminado y los escenarios o excepciones específicos que pueden garantizar el cambio de la distribución de Linux instalada a la arquitectura de WSL 1 anterior.
Comparación de WSL 1 y WSL 2
Esta guía comparará WSL 1 y WSL 2, incluidas las excepciones para usar WSL 1 en lugar de WSL 2. Las principales diferencias entre WSL 1 y WSL 2 son el uso de un kernel de Linux real dentro de una máquina virtual administrada, la compatibilidad con la compatibilidad completa de llamadas del sistema y el rendimiento en los sistemas operativos Linux y Windows. WSL 2 es la versión predeterminada actual al instalar una distribución de Linux y usa la tecnología de virtualización más reciente y mayor en la ejecución de un kernel de Linux dentro de una máquina virtual (VM) de utilidad ligera. WSL2 ejecuta distribuciones de Linux como contenedores aislados dentro de la máquina virtual administrada. Si la distribución está ejecutando actualmente WSL 1 y desea actualizar a WSL 2, consulte actualización de WSL 1 a WSL 2.
Comparación de características
Característica | WSL 1 | WSL 2 |
---|---|---|
Integración entre Windows y Linux | ✅ | ✅ |
Tiempos de arranque rápidos | ✅ | ✅ |
Huella de recurso pequeña en comparación con las Máquinas Virtuales tradicionales | ✅ | ✅ |
Se ejecuta con versiones actuales de VMware y VirtualBox | ✅ | ❌ |
Máquina virtual administrada | ❌ | ✅ |
Kernel de Linux completo | ❌ | ✅ |
Compatibilidad completa de llamadas al sistema | ❌ | ✅ |
Rendimiento en sistemas de archivos del sistema operativo | ✅ | ❌ |
compatibilidad con systemd | ❌ | ✅ |
Compatibilidad con IPv6 | ✅ | ✅ |
Como puede indicar en la tabla de comparación anterior, la arquitectura de WSL 2 supera el rendimiento de WSL 1 de varias maneras, a excepción del rendimiento en los sistemas de archivos del sistema operativo, que se pueden solucionar almacenando los archivos de proyecto en el mismo sistema operativo que las herramientas que se ejecutan para trabajar en el proyecto.
WSL 2 solo está disponible en Windows 11 o Windows 10, versión 1903, compilación 18362 o posterior. Para comprobar la versión de Windows, seleccione la tecla del logotipo de Windows + R, escriba winver y seleccione Aceptar. (O escriba el comando ver
en el Símbolo del sistema de Windows). Es posible que tenga que actualizar a la versión más reciente de Windows. En el caso de las compilaciones inferiores a 14393, WSL no es compatible en absoluto.
Para obtener más información sobre las últimas actualizaciones de WSL 2, consulta el blog de la línea de comandos de Windows, incluida la compatibilidad con Systemd ya está disponible en WSL y actualización de WSL de septiembre de 2023 para obtener más información sobre la compatibilidad con IPv6.
Nota:
WSL 2 funcionará con VMware 15.5.5+ y, aunque VirtualBox 6+ indica que hay compatibilidad con WSL, todavía hay desafíos importantes que hacen que no sea compatible. Obtenga más información en nuestras preguntas más frecuentes.
Novedades de WSL 2
WSL 2 es una revisión importante de la arquitectura subyacente y usa la tecnología de virtualización y un kernel de Linux para habilitar nuevas características. Los objetivos principales de esta actualización son aumentar el rendimiento del sistema de archivos y agregar compatibilidad completa de llamadas del sistema.
- Requisitos del sistema de WSL 2
- Establecer la versión de distribución de Linux de WSL 1 en WSL 2
- Preguntas más frecuentes sobre WSL 2
Arquitectura de WSL 2
Una experiencia de máquina virtual tradicional puede ser lenta para arrancar, está aislada, consume una gran cantidad de recursos y requiere el tiempo para administrarla. WSL 2 no tiene estos atributos.
WSL 2 proporciona las ventajas de WSL 1, incluida la integración sin problemas entre Windows y Linux, tiempos de arranque rápidos, una superficie de recursos pequeña y no requiere ninguna configuración o administración de máquinas virtuales. Aunque WSL 2 usa una máquina virtual, se administra y se ejecuta en segundo plano, lo que le deja con la misma experiencia de usuario que WSL 1.
Kernel de Linux completo
Microsoft compila el kernel de Linux en WSL 2 desde la rama estable más reciente, en función del origen disponible en kernel.org. Este kernel se ha optimizado especialmente para WSL 2, optimizando el tamaño y el rendimiento para proporcionar una experiencia increíble de Linux en Windows. Las actualizaciones de Windows atenderán el kernel, lo que significa que obtendrá las últimas correcciones de seguridad y mejoras del kernel sin necesidad de administrarlo usted mismo.
El kernel de Linux de WSL 2 es de código abierto. Si quiere obtener más información, consulte la entrada de blog Envío de un kernel de Linux con Windows escrito por el equipo que lo creó.
Obtenga más información en las notas de lanzamiento para el kernel de Subsistema de Windows para Linux.
Mejor rendimiento de E/S para archivos
Las operaciones de uso intensivo de archivos como git clone
, npm install
, apt update
, apt upgrade
y mucho más son notablemente más rápidas con WSL 2.
El aumento real de la velocidad dependerá de la aplicación que esté ejecutando y de cómo interactúa con el sistema de archivos. Las versiones iniciales de WSL 2 funcionan hasta 20 veces más rápido en comparación con WSL 1 al desempaquetar un archivo comprimido tarball, y alrededor de 2 a 5 veces más rápido cuando se utilizan git clone
, npm install
y cmake
en varios proyectos.
Compatibilidad completa de llamadas al sistema
Los archivos binarios de Linux usan llamadas del sistema para realizar funciones como el acceso a archivos, la solicitud de memoria, la creación de procesos, etc. Mientras que WSL 1 usó una capa de traducción creada por el equipo de WSL, WSL 2 incluye su propio kernel de Linux con compatibilidad completa de llamadas del sistema. Entre las ventajas se incluyen:
Un nuevo conjunto completo de aplicaciones que puede ejecutar dentro de WSL, como Docker y mucho más.
Las actualizaciones del kernel de Linux están listas para su uso inmediatamente (no es necesario esperar a que el equipo de WSL implemente actualizaciones y agregue los cambios).
Excepciones para usar WSL 1 en lugar de WSL 2
Se recomienda usar WSL 2, ya que ofrece un rendimiento más rápido y 100% compatibilidad de llamadas del sistema. Sin embargo, hay algunos escenarios específicos en los que es posible que prefiera usar WSL 1. Considere la posibilidad de usar WSL 1 si:
- Los archivos del proyecto deben almacenarse en el sistema de archivos de Windows. WSL 1 ofrece un acceso más rápido a los archivos montados desde Windows.
- Si va a usar la distribución de Linux de WSL para acceder a los archivos del proyecto en el sistema de archivos de Windows y estos archivos no se pueden almacenar en el sistema de archivos linux, obtendrá un rendimiento más rápido en los sistemas de archivos del sistema operativo mediante WSL 1.
- Un proyecto que requiere la compilación cruzada mediante herramientas de Windows y Linux en los mismos archivos.
- El rendimiento de los archivos en los sistemas operativos Windows y Linux es más rápido en WSL 1 que WSL 2, por lo que si usa aplicaciones de Windows para acceder a los archivos de Linux, actualmente logrará un rendimiento más rápido con WSL 1.
- El proyecto necesita acceso a un puerto serie o dispositivo USB.
Sin embargo La compatibilidad con dispositivos USB ya está disponible para WSL 2 a través del
USBIPD-WIN
proyecto. Consulte Conexión de dispositivos USB para conocer los pasos de configuración. - WSL 2 no incluye compatibilidad con el acceso a puertos serie. Obtenga más información en las preguntas más frecuentes o en el problema del repositorio de GitHub de WSL sobre la compatibilidad en serie.
- Tiene requisitos estrictos de memoria
- El uso de memoria de WSL 2 aumenta y se reduce a medida que se usa. Cuando un proceso libera memoria, se devuelve automáticamente a Windows. Sin embargo, actualmente WSL 2 aún no libera las páginas almacenadas en caché en la memoria de Windows hasta que se cierre la instancia de WSL. Si tiene sesiones WSL de larga duración o tiene acceso a una cantidad muy grande de archivos, esta memoria caché puede ocupar memoria en Windows. Estamos realizando un seguimiento del trabajo para mejorar esta experiencia en el problema 4166 del repositorio de GitHub de WSL.
- Para aquellos que usan VirtualBox, asegúrese de usar la versión más reciente de VirtualBox y WSL 2. Consulte las preguntas más frecuentes relacionadas.
- Si confía en una distribución de Linux para tener una dirección IP en la misma red que la máquina host, es posible que tenga que configurar una solución alternativa para ejecutar WSL 2. WSL 2 se ejecuta como una máquina virtual Hyper-V. Se trata de un cambio del adaptador de red puenteado que se usa en WSL 1, eso significa que WSL 2 utiliza un servicio de traducción de direcciones de red (NAT) para su red virtual, en lugar de convertirlo en puenteado a la tarjeta de interfaz de red (NIC) del host, lo que da lugar a una dirección IP única que cambiará al reiniciar. Para obtener más información sobre el problema y la solución alternativa que reenvía los puertos TCP de los servicios WSL 2 al sistema operativo host, consulte problema 4150 del repositorio de GitHub de WSL, modo de puente NIC (solución alternativa TCP).
Nota:
Considere la posibilidad de probar la extensión WSL remota de VS Code para permitirle almacenar los archivos del proyecto en el sistema de archivos linux, mediante herramientas de línea de comandos de Linux, pero también usar VS Code en Windows para crear, editar, depurar o ejecutar el proyecto en un explorador de Internet sin ninguna de las ralentizaciones de rendimiento asociadas con el trabajo en los sistemas de archivos Linux y Windows. Más información.
WSL en Microsoft Store
WSL ha trasladado la funcionalidad de actualización de la imagen del sistema operativo Windows a un paquete que está disponible a través de la Tienda de Microsoft. Esto significa actualizaciones y mantenimiento más rápidas en cuanto estén disponibles, en lugar de tener que esperar una actualización del sistema operativo Windows.
WSL se incluyó originalmente en el sistema operativo Windows como un componente opcional que debe habilitarse para instalar una distribución de Linux. WSL en la Tienda tiene la misma experiencia de usuario y es el mismo producto, pero recibe actualizaciones y mantenimiento como un paquete de almacén, en lugar de como una actualización completa del sistema operativo. A partir de la versión 19044 o posterior de Windows, al ejecutar el wsl.exe --install
comando se instalará la actualización de mantenimiento de WSL desde Microsoft Store. (Consulte la entrada de blog que anuncia esta actualización). Si ya usa WSL, puede actualizarse para asegurarse de que recibe las características y el mantenimiento de WSL más recientes desde la Microsoft Store mediante la ejecución de wsl.exe --update
.
Nota:
Si Microsoft Store no es accesible en su organización, podrá seguir usando esta versión de WSL añadiendo --web-download
al comando --update
, como wsl --update --web-download
. Debe actualizar WSL manualmente cada vez que una nueva versión esté disponible mediante este método.
Windows Subsystem for Linux