Instalei o WSL 2 com o Ubuntu 22.04.
Quando tento verificar o kernel WSL no PowerShell, estou obtendo 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
Da mensagem acima, estou assumindo que estou usando o kernel Linux 5.10.102.1.
Mas quando executo o Ubuntu e uso uname -a
, estou obtendo um kernel 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
O que diz que o kernel do Linux é 4.4.0.
Minhas perguntas:
- Qual versão do kernel Linux estou usando?
- Se for 4.4.0, como posso atualizá-lo para 5.x?
- Se for 5.10, como posso verificar se é essa versão?
Embora o WSL2 seja o padrão para novas distribuições que você instala, parece que sua distribuição do Ubuntu foi instalada originalmente como WSL1.
Você pode confirmar isso com:
Ao executar
uname -a
no WSL1, o pseudo-kernel relatará como:Sob WSL2, o kernel reportará como:
É bastante comum que uma distribuição seja instalada antes do WSL2 ser instalado ou definido como padrão. Alterar a versão padrão para 2 não altera a distribuição já instalada.
Você pode (e deve) converter a distribuição saindo da distribuição e, em seguida, do PowerShell:
Se desejar, você pode fazer backup primeiro com:
Eu digo "deveria" porque o Ubuntu 22.04 tem alguns problemas significativos no WSL1, especificamente o
unzip
comando não funciona.Embora a versão padrão do WSL esteja definida como 2, a distribuição do WSL que você está executando é o WSL 1. Ela não usa um kernel Linux.
WSL 1 (Windows 10):
WSL 2:
WSL 1 e 2 atendem a diferentes necessidades. O WSL 1 oferece interoperabilidade de alto desempenho de software e arquivos do Windows. O WSL 2 oferece um kernel Linux real, permitindo contêineres e sistemas de arquivos Linux mais rápidos, entre outros, ao custo de desempenho limitado ao acessar os sistemas de arquivos do host Windows.
Você geralmente não deve basear sua seleção na versão do kernel.