¿Qué kernel de Linux tengo en WSL?

¿Qué kernel de Linux tengo en WSL?

Instalé WSL 2 con Ubuntu 22.04.

Cuando intento verificar el kernel WSL en PowerShell, obtengo este resultado:

PS C:\Users\user> wsl --status
Default Distribution: Ubuntu-22.04
Default Version: 2

Windows Subsystem for Linux was last updated on 6/7/2022
WSL automatic updates are on.

Kernel version: 5.10.102.1

Según el mensaje anterior, supongo que estoy usando el kernel de Linux 5.10.102.1.

Pero cuando ejecuto Ubuntu y uso uname -a, obtengo un kernel de Linux diferente:

user@DESKTOP-:/mnt/c/Users/user$ uname -a
Linux DESKTOP-VMP6T3Q 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux

Lo que dice que el kernel de Linux es 4.4.0.

Mis preguntas:

  1. ¿Qué versión del kernel de Linux estoy usando?
  2. Si es 4.4.0, ¿cómo puedo actualizarlo a 5.x?
  3. Si es 5.10, ¿cómo puedo verificar que sea esa versión?

Respuesta1

Si bien WSL2 es el valor predeterminado para las nuevas distribuciones que instala, parece que su distribución de Ubuntu se instaló originalmente como WSL1.

Puedes confirmar esto con:

wsl.exe -l -v

Cuando se ejecuta uname -abajo WSL1, el pseudonúcleo informará como:

  • "Linux"
  • El nombre de host
  • "4.4.0-"
  • El número de compilación de Windows (19041 en su caso)
  • "-Microsoft"
  • ...

En WSL2, el kernel informará como:

  • "Linux"
  • El nombre de host
  • La versión del núcleo
  • "-microsoft-estándar-WSL2"

Es bastante común que se instale una distribución.antesWSL2 se instaló o se configuró como predeterminado. Cambiar la versión predeterminada a 2 en realidad no cambia la distribución ya instalada.

Puede (y debe) convertir la distribución saliendo de la distribución y luego desde PowerShell:

wsl --set-version Ubuntu-22.04 2

Si lo deseas, puedes hacer una copia de seguridad primero con:

wsl --export Ubuntu-22.04 Ubuntu2204_backup.tar

Digo "debería" porque Ubuntu 22.04 tiene algunos problemas importantes en WSL1, específicamente el unzipcomando no funciona.

Respuesta2

Si bien la versión WSL predeterminada está configurada en 2, la distribución WSL que está ejecutando es WSL 1. No utiliza ningún kernel de Linux.

WSL 1 (Windows 10):

$ uname -a
Linux db-d-18 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 GNU/Linux

WSL 2:

# uname -a
Linux db-d-18 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 GNU/Linux

WSL 1 y 2 satisfacen necesidades diferentes. WSL 1 ofrece interoperabilidad de alto rendimiento de software y archivos de Windows. WSL 2 ofrece un kernel de Linux real, que permite contenedores y sistemas de archivos Linux más rápidos, entre otros, a costa de un rendimiento limitado al acceder a los sistemas de archivos del host de Windows.

Generalmente no deberías basar tu selección en la versión del kernel.

información relacionada