WSL

¿Es la combinación de Windows y Linux una panacea o se trata de otro dolor de cabeza? Estas notas describen algunos pormenores de la instalación o activación del Windows Subsytem for Linux.


Índice

  1. Introducción
  2. WSL 1
  3. WSL 2
  4. Uso
  5. Troubleshooting
  6. Referencias

Introducción

Pese a lo que diga o haya dicho Microsoft, hablar de un sistema operativo robusto no es hablar de Windows. Sí, como producto comercial puede ser empleado y basar la operación de todo un negocio en él, pero de ahí a que se pueda considerar «robusto» es otra cosa. La experiencia señala que si tienes algo que requiere un equipo de soporte técnico para atender los problemas que se generan día a día, no es *robusto*. Para mí, lo robusto es algo que te permite olvidarte de ello por un tiempo.

Bueno, como sea, yo sí considero que un Unix es un sistema operativo robusto y por lo mismo, dada la popularidad de los Linux, Microsoft ha «dado su brazo a torcer» y, tratando de recuperar parte del terreno perdido, ha incorporado desde Windows 10 lo que ha denominado «Windows Subsystem for Linux» (WSL). Una especie de virtualización que permite tener un entorno Unix que interactúa con Windows.

Estas son algunas notas sobre el uso de esta extraña combinación que pretende hacerse de lo mejor de dos mundos (si es que hay algo bueno en Windows).


WSL 1

Estas notas comenzaron con la habilitación de lo que hoy se conoce como WSL 1. Son notas sin mucho orden, pues sólo se buscaba registrar algunas cosas que seguramente necesitaría después.

Instalación y activación

Previo a activar Windows Subsystem for Linux, el comando  puede ser encontrado y responder, aunque no necesariamente devuelve algo. Por ejemplo:

Microsoft Windows [Versión 10.0.19045.2965]
(c) Microsoft Corporation. Todos los derechos reservados.

C:\Users\admin>wsl --status

C:\Users\admin>

o

Microsoft Windows [Version 10.0.26100.2033]
(c) Microsoft Corporation. All rights reserved.

C:\Users\lalo>wsl --status
The Windows Subsystem for Linux is not installed. You can install by running 'wsl.exe --install'.
For more information please visit https://aka.ms/wslinstall

C:\Users\lalo>

Hasta que su instalación (o quizás activación sea un mejor término) se lleve a cabo, realmente no es funcional. Para activarlo, desde los Settings o el Control Panel de Windows, se utiliza la opción «Programas y Características de Windows«. El procedimiento en Windows versiones 10 y 11 (incluso Windows 11 versión ARM dentro de Parallels) es el mismo.

Desde Programas y Características en el Panel de Control:

Y buscando Windows Subsystem for Linux:

Aunque la activación del WSL no solicite el reinicio del equipo, es recomendable hacerlo.

Vía la línea de comandos, es posible también hacerlo:

C:\Users\lalo>wsl.exe --install
The requested operation requires elevation.
Downloading: Windows Subsystem for Linux 2.4.11
Installing: Windows Subsystem for Linux 2.4.11
Windows Subsystem for Linux 2.4.11 has been installed.
Installing Windows optional component: VirtualMachinePlatform

Deployment Image Servicing and Management tool
Version: 10.0.26100.1

Image Version: 10.0.26100.2033

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
The requested operation is successful. Changes will not be effective until the system is rebooted.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Una vez que el equipo se ha reiniciado, la respuesta debe cambiar para indicar si el subsistema de Linux está activo o si hay algún problema adicional. Abajo se ilustran las posibles respuestas indicando la versión de este (aunque ello no garantiza su activación o funcionamiento).

Microsoft Windows [Version 10.0.26100.2033]
(c) Microsoft Corporation. All rights reserved.

C:\Users\lalo>wsl --status
Default Version: 1

C:\Users\lalo>

o

Microsoft Windows [Versión 10.0.19045.2965]
(c) Microsoft Corporation. Todos los derechos reservados.

C:\Users\admini>wsl --status
Versión predeterminada: 2
Habilita la característica Plataforma de máquina virtual de Windows y asegúrate de que la virtualización esté habilitada en el BIOS.
Para obtener más información, consulta https://aka.ms/wsl2-install

C:\Users\admin>

Los resultados mostrados aquí pueden ser distintos de los que otras personas obtengan debido a las características de su equipo y sus configuraciones. Como se muestra arriba, se sugerirán diferentes enlaces según lo que detecte wsl.exe. La recomendación es seguir los enlaces y leer cabalmente la documentación o las instrucciones que se presenten. Dependerá de cada caso aplicar o no lo indicado y cada uno es responsable de las decisiones tomadas.

Para el caso del ejemplo dado, en lo que respecta al propósito de esta sección6, la versión uno se activa con:

wsl --set-default-version 1

Desinstalación

Para seguir un orden inverso a la habilitación de esta funcionalidad, que se asume que debe ser lo más apropiado en una desinstalación, lo primero debe ser desinstalar las distribuciones de Linux descargadas.

Para ello se puede proceder de varias formas. Una de ellas es activar Settings y buscar Apps. Buscar la distribución escribiendo parcialmente o totalmente el nombre, por ejemplo, «ubu» para Ubuntu.

Otra forma es mediante las opciones contextuales:

En lo que se refiere al WSL, para desinstalar, basta con desactivar la característica de Windows (como se muestra en la activación, pero a la inversa).


WSL 2

Dependiendo de la versión de Windows y de las características del equipo, WSL 2 puede estar ya activado o, al menos, instalado. Si ya está instalado, la activación se realiza de la misma forma que con WSL 1.

Actualización por instalador

De requerirse su instalación, puede procederse de varias formas. Una de ellas es por sugerencia de Windows, que debe proporcionar el enlace, o bien desde alguna página de soporte de Microsoft, buscar la actualización a WSL 2.

Una vez descargado el MSI, se abre y se deja que el asistente se encargue del resto, reiniciando el equipo al final.

Actualización desde la línea de comando

Otra opción es desde la línea de comando, para lo que se siguen los siguientes pasos2:

  1. Se abre una sesión de Open PowerShell as Administrator y se ejecuta:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. Se revisa que se cumpla con el criterio para hacer el update2.
  3. Se habilita el componente «Virtual Machine Platform«.
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 
  4. Y se procede a configurar el WSL 2 como versión por defecto.
    wsl --set-default-version 2

Adicionalmente, es muy probable que se requiera activar la tecnología de virtualización de hardware. Lo que requiere interactuar con el BIOS, que varía de equipo a equipo y de fabricante a fabricante, y puede ser tecnología no soportada o no implementada en el equipo y, por tanto, ser un equipo no apto para WSL 2. Para el caso de una Lenovo IdeaPad S340 además de resultar algo problemático y diferente llegar al BIOS, resultó ser un equipo no apto para WSL 2.


Parallels

Parallels requiere una mención especial, dado que es un «virtualizador» y este señala que WSL 2 es soportado sólo en Macs con Intel7. Activarlo no generará error alguno, pero al intentar instalar alguna distribución marcará problemas.

C:\Users\lalo>wsl --status
Versión predeterminada: 2

C:\Users\lalo>wsl --install
Ubuntu ya está instalado.
Iniciando Ubuntu...
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization
Press any key to continue...

C:\Users\lalo>wsl --set-default-version 1
The operation completed successfully.


Uso

Por el momento, esto es un compendio de diversas experiencias en el uso de este subsistema y las diferentes distribuciones de Linux soportadas.

Comando

Estas son las distintas opciones y argumentos que el comando wsl.exe soporta:

Usage: wsl.exe [Argument] [Options...] [CommandLine]

Arguments for running Linux binaries:

    If no command line is provided, wsl.exe launches the default shell.

    --exec, -e <CommandLine>
        Execute the specified command without using the default Linux shell.

    --
        Pass the remaining command line as is.

Options:
    --cd <Directory>
        Sets the specified directory as the current working directory.
        If ~ is used the Linux user's home path will be used. If the path begins
        with a / character, it will be interpreted as an absolute Linux path.
        Otherwise, the value must be an absolute Windows path.

    --distribution, -d <Distro>
        Run the specified distribution.

    --user, -u <UserName>
        Run as the specified user.

    --system
        Launches a shell for the system distribution.

Arguments for managing Windows Subsystem for Linux:

    --help
        Display usage information.

    --install [Options]
        Install additional Windows Subsystem for Linux distributions.
        For a list of valid distributions, use 'wsl --list --online'.

        Options:
            --distribution, -d [Argument]
                Downloads and installs a distribution by name.

                Arguments:
                    A valid distribution name (not case sensitive).

                Examples:
                    wsl --install -d Ubuntu
                    wsl --install --distribution Debian

            --no-launch, -n
                Do not launch the distribution after install.

    --mount <Disk>
        Attaches and mounts a physical disk in all WSL2 distributions.

        Options:
            --bare
                Attach the disk to WSL2, but don't mount it.

            --type <Type>
                Filesystem to use when mounting a disk, if not specified defaults to ext4.

            --options <Options>
                Additional mount options.

            --partition <Index>
                Index of the partition to mount, if not specified defaults to the whole disk.

    --set-default-version <Version>
        Changes the default install version for new distributions.

    --shutdown
        Immediately terminates all running distributions and the WSL 2
        lightweight utility virtual machine.

    --status
        Show the status of Windows Subsystem for Linux.

    --unmount [Disk]
        Unmounts and detaches a disk from all WSL2 distributions.
        Unmounts and detaches all disks if called without argument.

    --update [Options]
        If no options are specified, download and install WSL from the Microsoft Store.

        Options:
            --rollback
                Revert to the previous version of the WSL 2 kernel.

            --inbox
                Only update the inbox WSL 2 kernel. Do not install WSL from the Microsoft Store.

            --web-download
                Download the most recent version of WSL from the internet instead of the Microsoft Store.
Arguments for managing distributions in Windows Subsystem for Linux:

    --export <Distro> <FileName>
        Exports the distribution to a tar file.
        The filename can be - for standard output.

    --import <Distro> <InstallLocation> <FileName> [Options]
        Imports the specified tar file as a new distribution.
        The filename can be - for standard input.

        Options:
            --version <Version>
                Specifies the version to use for the new distribution.

    --list, -l [Options]
        Lists distributions.

        Options:
            --all
                List all distributions, including distributions that are
                currently being installed or uninstalled.

            --running
                List only distributions that are currently running.

            --quiet, -q
                Only show distribution names.

            --verbose, -v
                Show detailed information about all distributions.

            --online, -o
                Displays a list of available distributions for install with 'wsl --install'.

    --set-default, -s <Distro>
        Sets the distribution as the default.

    --set-version <Distro> <Version>
        Changes the version of the specified distribution.

    --terminate, -t <Distro>
        Terminates the specified distribution.

    --unregister <Distro>
        Unregisters the distribution and deletes the root filesystem.

Estado

Para conocer el estado del entorno de WSL y la versión activa:

C:\Users\lalo>wsl --status
Default Version: 1
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization

Para conocer las distribuciones instaladas:

C:\Users\lalo>wsl --list
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

Distribuciones Linux soportadas

La instalación de una distribución Linux se realiza con el comando wsl --install -d <distro>, donde <distro> es el nombre de la distribución que se desea instalar. A continuación, se muestra la ayuda que proporciona wsl.exe al respecto.

C:\Users\lalo>wsl --install
Windows Subsystem for Linux is already installed.
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d <Distro>'.

NAME                   FRIENDLY NAME
Ubuntu                 Ubuntu
Debian                 Debian GNU/Linux
Ubuntu-18.04           Ubuntu 18.04 LTS
Ubuntu-20.04           Ubuntu 20.04 LTS
Ubuntu-22.04           Ubuntu 22.04 LTS
openSUSE-Tumbleweed    openSUSE Tumbleweed

Pantalla

Elementos de configuración de pantalla o características de la terminal o consola.

Scroll

Para poder conservar y posteriormente consultar lo que se muestra en pantalla es necesario  ajustar el scroll. Mediante  Properties → Layout → Screen Buffer Size → Height se permite a la emulación el asignar recursos de memoria para conservar la salida a stout y stderr.

Sin embargo, lo anterior no es suficiente, ya que como se mencionó, eso es para el subsistema linux. La aplicación de Windows debe también estar configurada para que haga uso de los recursos asignados para el subsistema linux. En este caso  activando la opción QuickEditMode.

En lo que se refiere al tamaño del cursor, este se controla desde las opciones de la aplicación en Windows.

Algunas particularidades y consideraciones

La interacción con Windows puede traer algunas complicaciones. Manejar archivos del subsistema linux usando el explorador de Windows es posible pero los archivos pueden no mostrarse inmediatamente en el File Explorer (por ejemplo, al copiar o mover un archivo del entorno Windows al de linux). Hasta donde se ha visto, para el caso del WSL 1 lo mejor es cerrar la sesión de Ubuntu y volver a abrirla. En ocasiones los archivos en el entorno de Ubuntu quedarán en modo 000 y deberán ajustarse los permisos para poder hacer uso de ellos. Borrar archivos desde el File Explorer hará que el explorador no actualice el contenido del file system.

Similarmente, en el entorno Ubuntu podrán manipularse archivos pero no se verán estas acciones en el File Explorer. Debe cerrarse la sesión en Ubuntu y volver a abrirla para que se actualice el contenido.

Borrar directorios con contenido hará que el File Explorer indique que se requiere de permisos de administración aunque esto sea infructuoso. Recordemos que en unix un directorio no puede borrarse mientras tenga archivos en éste (a menos que se force la acción rm -rf o rm -f). Eliminando el contenido del directorio hará que éste pueda ser borrado sin problemas con el File Explorer de Windows.

Desempeño

Para monitoreo del desempeño, la utilería sar puede ser instalada con

$ sudo apt install sysstat

Y requiere que la recolección de estadísticas del sistema esté habilitada (ver la sección Troubleshooting).


Troubleshooting

Las anotaciones de esta sección parten de un mensaje de error o problema experimentado. En general, si el texto está en inglés, es un mensaje de error.

Uso de espacio en disco

Ver la sección de referencias.

«Please check if data collecting is enabled»

Al tratar de usar la utilería sar, el mensaje de error «Please check if data collecting is enabled» aparece.

$ sar
Cannot open /var/log/sysstat/sa09: No such file or directory
Please check if data collecting is enabled
...
The sysstat service and associated timers need to be started. Check [1].

«System has not been booted with systemd as init system (PID 1). Can’t operate»

Este es un mensaje propio del subsistema linux (unix). Su resolución depende de la distribución o de algún otro factor. Dada la amplitud de las respuestas es mejor copiar el mensaje y hacer una búsqueda en la Internet (sorry).

«Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS«

El mensaje de error aparece al tratar de activar WSL 2 y completo se lee:

Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install
Press any key to continue…

Si aparece en una ventana que se abrió al tratar de hacer uso de WSL o alguna de las distribuciones de linux instaladas, al presionar una tecla, la ventana se cierra. WSL 2 requiere soporte de hardware que puede no estar presente en todos los equipos o puede no estar activado por defecto. La activación puede hacerse de muchas formas, desde el BIOS, desde la configuración del mismo Windows o desde la línea de comando (¿de qué depende? No está muy claro, puede ser por el hardware o por el tipo de licencia de Windows).

Una forma de activarlo desde la línea de comando es:

PS C:\Windows\system32> DISM /Online /Enable-Fe ature /All /FeatureName:Microsoft-Hyper-V

Deployment Image Servicing and Management tool
Version: 10.0.19041.572

Image Version: 10.0.19041.685

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
Restart Windows to complete this operation.
Do you want to restart the computer now? (Y/N) Y

«Error: 0x1bc For information on key differences with WSL 2

please visit https://aka.ms/wsl2&#8243;

Si al tratar de hacer uso de WSL 2:

PS C:\Windows\system32>wsl --set-default-version 2

se muestra el mensaje de error:

Error: 0x1bc For information on key differences with WSL 2 please visit https://aka.ms/wsl2

se debe a que ya que WSL no está habilitado, debe hacerse manualmente3. Además de lo ya indicado al inicio de esta página, esto puede hacerse:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Adicionalmente, esto que puede requerir actualizar el kernel4,5.


Referencias

  1. Tom Halle, «sar: enable data collecting«, StackExchange, ServerFault forum, web. Asked 2018.05.18; answered 2018.05.18; consulted: 2019.07.10. URL: https://serverfault.com/questions/913087/sar-enable-data-collecting.
  2. Microsoft, Inc., «Windows Subsystem for Linux Installation Guide for Windows 10Microsoft, web. Published: 2020.05.12; visited: 2020.08.13. URL: https://docs.microsoft.com/en-us/windows/wsl/install-win10.
  3. Microsoft, Inc., «‘wsl’ command not recognized after enabling WSL2«, GitHub, web. Opened: 2019.06.13; consulted: 2020.08.13. URL: https://github.com/MicrosoftDocs/WSL/issues/405.
  4. Microsoft, Inc., «Error 0x1bc when setting wsl default version», GitHub, web. Opened: 2020.07.25; visited: 2020.08.13. URL: https://github.com/microsoft/WSL/issues/5651.
  5. Microsoft, Inc., «Updating the WSL 2 Linux kernel», Microsoft, web. Published: , visited: 2020.08.13. URL: https://docs.microsoft.com/nl-nl/windows/wsl/wsl2-kernel.
  6. Microsoft, Inc., «Comparing WSL Versions«, Microsoft Ignite, web. Published: 2023.03.19; visited: 2023.10.27. URL: https://learn.microsoft.com/en-us/windows/wsl/compare-versions.
  7. Parallels International GmbH, «WSL Support in Parallels Desktop«, Parallels Knowledge Base, web. Published: 2023.05.12; visited: 2023.10.27. URL: https://kb.parallels.com/129234.
  8. Microsoft, Inc., «Troubleshooting Windows Subsystem for Linux«, Microsoft Ignite, web. Published: 2023.05.10; visited: 2023.10.27. URL: https://learn.microsoft.com/en-us/windows/wsl/troubleshooting.
  9. Tashreef Shareef, «If you’ve ever installed WSL or Docker on Windows, check this folder right now«, makeuseof.com, web. Published: 2026.04.14; Visited: 2026.04.17. URL: https://www.makeuseof.com/hidden-wsl-docker-folder-windows/.

© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Ávila

Creación: 2019.05.16
Última actualización: 2026.04.17

El contenido de este sitio puede ser copiado y reproducido libremente, siempre que no se altere y se cite su origen. Marcas y productos registrados se citan por referencia, sin fines de lucro ni dolo. Todas las opiniones son a título personal del o de los autores de estas y, salvo que se exprese de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello de lo que se trata. Para conocer más sobre la posición de privacidad y responsabilidad respecto de lo que se presenta en este sitio web y de cómo se ha obtenido, consulte la declaración correspondiente.