
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:
- Welche Version des Linux-Kernels verwende ich?
- Wenn es 4.4.0 ist, wie kann ich es auf 5.x aktualisieren?
- 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 -a
unter 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 unzip
funktioniert 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.