Tenho uma VM Windows 2025 Server Core em execução no Azure. Tenho um agente de compilação do Azure Devops, um Docker para contêineres do Windows e um núcleo do PowerShell em execução nele. Tudo isso está funcionando bem.
Executei o comando WSL sem parâmetros e respondi sim ao prompt para instalar o WSL.
Então tento instalar o WSL:
PS C:\Users\azadmin> wsl --install Ubuntu-18.04
Downloading: Ubuntu 18.04 LTS
Installing: Ubuntu 18.04 LTS
PS C:\Users\azadmin> wsl
Windows Subsystem for Linux has no installed distributions.
Use 'wsl.exe --list --online' to list available distributions
and 'wsl.exe --install <Distro>' to install.
Distributions can also be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Error code: Wsl/Service/CreateInstance/GetDefaultDistro/WSL_E_DEFAULT_DISTRO_NOT_FOUND
Fiz algumas pesquisas e percebi que precisava escalar de uma série B para uma série D para habilitar a virtualização aninhada do Hyper-V quando Install-WindowsFeature Hyper-V
falhasse. Então executei o seguinte e reiniciei:
Instalar-WindowsFeature Hyper-V,Containers,DHCP
Ainda sem mudança de comportamento.
Eu até criei uma segunda VM Server Core nova e verifiquei o mesmo comportamento.
** Windows Server 2022 **
Recebo um erro diferente com a última atualização do Server 2022Class not registered
PS C:\Users\azadmin> wsl --install -d ubuntu
Class not registered
PS C:\Users\azadmin> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
>>
OS Name: Microsoft Windows Server 2022 Datacenter Azure Edition
OS Version: 10.0.20348 N/A Build 20348
PS C:\Users\azadmin>
Eu até tentei Install-WindowsFeature Microsoft-Windows-Subsystem-Linux
.
Tudo o que fiz foi adicionar uma linha extra à saída dewsl --install
PS C:\Users\azadmin> wsl --install
Windows Subsystem for Linux is already installed.
Class not registered
PS C:\Users\azadmin>
As mensagens de erro são muito melhores se você instalar uma VM no Hyper-V. Por exemplo, em 2003, em uma instância local do Hpper-V, você obtém:
A maneira de instalar manualmente um pacote WSL é instalar o arquivo appx. Por exemplo:
curl.exe -L https://aka.ms/wsl-debian-gnulinux -o debian.app
baixa o arquivo de aplicativos debian que pode ser instalado com
Add-AppxPackage
. Veja a lista completa .Infelizmente
Add-AppxPackage
não funciona no núcleo do servidor.No entanto, um pacote appx é apenas um arquivo zip, que pode ser descompactado com a versão do tar.exe que vem com o Windows. No caso dos pacotes WSL, é um arquivo appx aninhado. Você quer descompactar o arquivo appx x64 dentro do arquivo appx em algum lugar como
%USERPROFILE%\AppData\Local\DebianWSL
Então você pode procurar o exe naquele diretório que você acabou de criar, neste caso debian.exe, e executá-lo. E então você tem o WSL.