Welchen Linux-Kernel habe ich in WSL?

Welchen Linux-Kernel habe ich in WSL?

Ich habe WSL 2 mit Ubuntu 22.04 installiert.

Wenn ich versuche, den WSL-Kernel in PowerShell zu überprüfen, erhalte ich dieses Ergebnis:

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

Aus der obigen Nachricht gehe ich davon aus, dass ich den Linux-Kernel 5.10.102.1 verwende.

Aber wenn ich Ubuntu ausführe und verwende uname -a, erhalte ich einen anderen Linux-Kernel:

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

Das bedeutet, dass der Linux-Kernel 4.4.0 ist.

Meine Fragen:

  1. Welche Version des Linux-Kernels verwende ich?
  2. Wenn es 4.4.0 ist, wie kann ich es auf 5.x aktualisieren?
  3. Wenn es 5.10 ist, wie kann ich überprüfen, ob es diese Version ist?

Antwort1

Während WSL2 die Standardeinstellung für neue Distributionen ist, die Sie installieren, scheint Ihre Ubuntu-Distribution ursprünglich als WSL1 installiert worden zu sein.

Dies können Sie bestätigen mit:

wsl.exe -l -v

Beim Ausführen uname -aunter WSL1 meldet der Pseudokernel Folgendes:

  • "Linux"
  • Der Hostname
  • „4.4.0-“
  • Die Windows-Buildnummer (in Ihrem Fall 19041)
  • "-Microsoft"
  • ...

Unter WSL2 meldet der Kernel Folgendes:

  • "Linux"
  • Der Hostname
  • Die Kernel-Version
  • „-microsoft-standard-WSL2“

Es ist durchaus üblich, dass eine Distribution installiert wirdVorWSL2 wurde als Standard installiert oder festgelegt. Das Ändern der Standardversion auf 2 ändert nichts an der bereits installierten Distribution.

Sie können (und sollten) die Distribution konvertieren, indem Sie die Distribution beenden und dann in PowerShell Folgendes tun:

wsl --set-version Ubuntu-22.04 2

Wenn Sie möchten, können Sie es zunächst mit Folgendem sichern:

wsl --export Ubuntu-22.04 Ubuntu2204_backup.tar

Ich sage „sollte“, weil Ubuntu 22.04 einige erhebliche Probleme unter WSL1 hat, insbesondere unzipfunktioniert der Befehl nicht.

Antwort2

Während die WSL-Standardversion auf 2 eingestellt ist, ist die von Ihnen ausgeführte WSL-Distribution WSL 1. Sie verwendet überhaupt keinen Linux-Kernel.

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 und 2 erfüllen unterschiedliche Anforderungen. WSL 1 bietet hochleistungsfähige Interoperabilität mit Windows-Software und -Dateien. WSL 2 bietet einen echten Linux-Kernel, der unter anderem Container und schnellere Linux-Dateisysteme ermöglicht, allerdings auf Kosten einer eingeschränkten Leistung beim Zugriff auf die Dateisysteme des Windows-Hosts.

Ihre Auswahl sollten Sie grundsätzlich nicht auf Grundlage der Kernel-Version treffen.

verwandte Informationen