O Windows Subsystem for Linux (WSL) permite correr um ambiente Linux directamente no Windows 11, sem necessidade de máquina virtual ou dual-boot. O WSL 2, versão actual, usa um kernel Linux real dentro de uma VM leve gerida pelo Hyper-V, oferecendo compatibilidade total com chamadas de sistema Linux e performance de I/O muito superior à versão anterior.
Este guia orienta técnicos de suporte e sysadmins na instalação e configuração do WSL no Windows 11 — desde a activação dos pré-requisitos até à configuração avançada e resolução dos problemas mais comuns.
Neste artigo
1. O que é o WSL e principais vantagens
O WSL 2 corre um kernel Linux real dentro de uma VM leve gerida pelo Hyper-V — ao contrário do WSL 1 que fazia tradução de chamadas de sistema. Isso garante compatibilidade total com aplicações Linux, incluindo Docker, ferramentas de compilação e utilitários de rede.
| Vantagem | Detalhe |
|---|---|
| Ferramentas Linux nativas | bash, git, Python, Docker, curl, ssh, make — sem emulação |
| Integração bidirecional com Windows | Acesso ao sistema de ficheiros Windows a partir do Linux e vice-versa |
| Aplicações gráficas (WSLg) | Suporte a apps Linux com interface gráfica sem configuração adicional de X Server |
| Performance de I/O superior | Muito mais rápido que o WSL 1 em ficheiros nativos Linux (sistema de ficheiros ext4) |
| Integração VS Code | Extensão Remote – WSL permite desenvolvimento com VS Code no Windows mas servidor de extensões no Linux |
⚠ Requisito de virtualização
O WSL 2 requer virtualização de hardware activada na BIOS/UEFI (Intel VT-x ou AMD-V). Em máquinas empresariais geridas, confirmar com o administrador se a virtualização está habilitada antes de iniciar a instalação.
2. Pré-requisitos de sistema
| Componente | Requisito mínimo |
|---|---|
| Sistema operativo | Windows 11 (qualquer edição) — build 22000 ou superior |
| Processador | 64-bit com suporte a virtualização (Intel VT-x ou AMD-V) |
| RAM | Mínimo 4 GB (recomendado 8 GB ou mais) |
| Armazenamento | Mínimo 10 GB livres (SSD fortemente recomendado) |
| BIOS/UEFI | Virtualização activada (Intel VT-x / AMD-V / SVM) |
| Permissões | Conta de administrador local ou direitos de elevação UAC |
Verificar se a virtualização está activa
Abrir o Gestor de Tarefas (Ctrl + Shift + Esc) → separador Desempenho → CPU. Confirmar que Virtualização aparece como Activada. Em alternativa, verificar via PowerShell:
Get-ComputerInfo -Property HyperVRequirementVirtualizationFirmwareEnabled # Resultado deve ser True. Se for False, activar na BIOS/UEFI.
3. Instalação do WSL
ℹ Método recomendado — Windows 11 21H2 ou superior: O WSL pode ser instalado com um único comando no PowerShell ou Terminal do Windows, sem necessidade de activar funcionalidades manualmente.
3.1 Instalação rápida (Ubuntu por defeito)
Abrir o PowerShell ou Terminal do Windows como Administrador (botão direito → Executar como administrador) e executar:
wsl --install # Este comando instala automaticamente: # - Componente WSL (Windows Subsystem for Linux) # - Plataforma de Máquina Virtual # - Kernel Linux WSL 2 # - Distribuição Ubuntu (versão LTS mais recente)
⚠ Reinício obrigatório: Após a execução do comando, o Windows solicita um reinício para completar a instalação dos componentes. Guardar todo o trabalho antes de reiniciar. Após o reinício, o Ubuntu abre automaticamente para a configuração inicial.
3.2 Instalar uma distribuição específica
# Ver todas as distribuições disponíveis na Microsoft Store wsl --list --online # Instalar distribuição específica wsl --install -d Ubuntu-24.04 wsl --install -d Debian wsl --install -d kali-linux
3.3 Distribuições disponíveis
| Distribuição | Indicada para | Observações |
|---|---|---|
| Ubuntu 24.04 LTS | Uso geral, desenvolvimento web, Docker | Padrão recomendado — ecossistema vasto |
| Debian 12 | Servidores, estabilidade máxima | Mais conservador, menos pacotes recentes |
| Kali Linux | Segurança ofensiva, pentesting | Ferramentas de auditoria pré-instaladas |
| openSUSE Tumbleweed | Rolling release, desenvolvimento | Versões mais recentes dos pacotes |
4. Configuração inicial da distribuição
4.1 Criar utilizador Linux
Na primeira execução, o terminal Linux pede a criação de um utilizador. Este utilizador é independente da conta Windows e terá privilégios sudo.
- Introduzir o nome de utilizador pretendido (minúsculas, sem espaços)
- Definir uma password (não aparece no ecrã enquanto escreves — é normal)
- Confirmar a password
⚠ Não perder a password sudo: Será necessária sempre que executares comandos com sudo. Em caso de perda, a recuperação implica reconfigurar a distribuição (ver secção 8.5).
4.2 Actualizar o sistema
# Actualizar repositórios e pacotes — fazer sempre após o primeiro login sudo apt update && sudo apt upgrade -y
4.3 Verificar a versão WSL em uso
# Ver versão de cada instância instalada — coluna VERSION deve ser 2 wsl --list --verbose # Se VERSION = 1, converter para WSL 2 wsl --set-version Ubuntu-24.04 2 wsl --set-default-version 2 # Garantir que novas instalações usam WSL 2
5. Configuração avançada (.wslconfig e wsl.conf)
5.1 .wslconfig — parâmetros globais do WSL 2
O ficheiro .wslconfig controla parâmetros globais — limites de memória, CPU e rede. Criar ou editar em %USERPROFILE%\.wslconfig (pasta do utilizador Windows).
# Exemplo para PC com 16 GB de RAM # Caminho: C:\Users\[utilizador]\.wslconfig [wsl2] memory=8GB # Memória máxima para o WSL (metade do total é boa regra) processors=4 # Número máximo de CPUs virtuais swap=2GB # Tamanho do ficheiro de swap localhostForwarding=true # Acesso a serviços Linux via localhost no Windows
# Após guardar o .wslconfig, reiniciar o WSL para aplicar as alterações wsl --shutdown # Abrir novamente a distribuição — o WSL 2 reinicia com a nova configuração
5.2 wsl.conf — configuração por distribuição
Para configurações específicas de cada distribuição, editar o ficheiro dentro do ambiente Linux:
sudo nano /etc/wsl.conf
# Conteúdo recomendado para /etc/wsl.conf [automount] enabled = true options = "metadata,umask=22,fmask=11" [network] generateResolvConf = true [boot] systemd = true # Activar suporte a systemd (requer WSL 0.67.6+)
ℹ Suporte a systemd: Com systemd=true é possível usar systemctl para gerir serviços dentro do WSL (ex: sudo systemctl start nginx). Requer WSL versão 0.67.6 ou superior.
6. Integração com o Windows
6.1 Aceder a ficheiros Windows a partir do Linux
As unidades Windows são montadas automaticamente em /mnt/:
ls /mnt/c/Users/ # Conteúdo da unidade C:\ ls /mnt/d/ # Conteúdo da unidade D:\
⚠ Performance de ficheiros: Trabalhar com ficheiros da partição Windows (/mnt/c/) dentro do WSL é significativamente mais lento do que usar o sistema de ficheiros nativo Linux. Sempre que possível, manter os projectos em ~/projectos/ e não em /mnt/c/.
6.2 Aceder a ficheiros Linux a partir do Windows
O Explorador de Ficheiros do Windows pode aceder ao sistema de ficheiros Linux via caminho de rede, ou clicando em Linux na barra lateral esquerda do Explorador:
# Caminho de rede para aceder à home do utilizador Linux a partir do Windows Explorer
\\wsl$\Ubuntu-24.04\home\utilizador
6.3 Executar comandos Windows a partir do Linux
notepad.exe ficheiro.txt # Abre o Bloco de Notas Windows com um ficheiro Linux explorer.exe . # Abre a pasta actual do Linux no Explorador Windows code . # Abre VS Code (Windows) na pasta actual do Linux cmd.exe /c dir # Executa comando CMD a partir do terminal Linux
6.4 Integração com VS Code
Instalar a extensão Remote – WSL no VS Code. Depois, dentro do terminal WSL, executar code . — o VS Code abre no Windows mas o servidor de extensões corre dentro do Linux, dando acesso total ao sistema de ficheiros e ferramentas Linux sem sair do Windows.
7. Comandos de referência WSL
Todos os comandos são executados no PowerShell ou Terminal do Windows.
| Comando | Descrição |
|---|---|
| wsl –list –verbose | Listar instâncias instaladas, estado e versão WSL |
| wsl –list –online | Ver distribuições disponíveis na loja Microsoft |
| wsl –install -d <Distro> | Instalar uma distribuição específica |
| wsl –set-default <Distro> | Definir distribuição padrão |
| wsl –set-version <Distro> 2 | Converter instância para WSL 2 |
| wsl –shutdown | Encerrar todas as instâncias WSL em execução |
| wsl –terminate <Distro> | Encerrar uma instância específica |
| wsl –export <Distro> <ficheiro.tar> | Exportar backup completo da instância |
| wsl –import <Nome> <Pasta> <ficheiro.tar> | Importar backup de instância |
| wsl –unregister <Distro> | Remover instância — apaga TODOS os dados irreversivelmente |
| wsl –update | Actualizar o kernel WSL |
| wsl –status | Ver versão e configuração geral do WSL |
8. Resolução de problemas comuns
8.1 Erro 0x80370102 — Virtualização não activa
Este erro indica que a virtualização de hardware não está activa ou que o Hyper-V está desabilitado.
- Reiniciar e entrar na BIOS/UEFI (geralmente F2, F10, Del ou F12 no arranque)
- Activar Intel Virtualization Technology (VT-x) ou AMD-V / SVM
- Guardar e reiniciar
- No PowerShell como Administrador, activar a plataforma de virtualização:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
8.2 Erro 0x8007019e — WSL não instalado
O componente WSL não está activado no Windows. Executar no PowerShell como Administrador e reiniciar o sistema após ambos os comandos:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # Reiniciar o sistema após a execução dos dois comandos
8.3 WSL não inicia após actualização do Windows
wsl --update wsl --shutdown # Reabrir a distribuição Linux
8.4 Problemas de resolução DNS dentro do WSL
Se os comandos apt ou ping falham por resolução DNS:
# Solução temporária — editar resolv.conf manualmente sudo nano /etc/resolv.conf # Adicionar: nameserver 8.8.8.8 # Tornar persistente — desactivar geração automática em /etc/wsl.conf: [network] generateResolvConf = false
8.5 Recuperar password do utilizador Linux
# No PowerShell — definir utilizador padrão como root ubuntu2404 config --default-user root # Abrir o WSL (agora como root) e redefinir a password passwd nome-do-utilizador # Restaurar o utilizador padrão ubuntu2404 config --default-user nome-do-utilizador
9. Backup e migração de instâncias
O WSL permite exportar e importar instâncias completas — útil para backups, migração entre PCs ou criação de templates de ambiente de desenvolvimento.
# Exportar uma instância (o ficheiro .tar pode ter vários GB) wsl --export Ubuntu-24.04 C:\Backups\ubuntu-backup.tar # Importar instância para nova localização wsl --import Ubuntu-Restaurado C:\WSL\Ubuntu-Restaurado C:\Backups\ubuntu-backup.tar # Mover instância para outra unidade (ex: de C: para D:) # Passo 1: Exportar wsl --export Ubuntu-24.04 D:\Backups\ubuntu-backup.tar # Passo 2: Remover a instância original (IRREVERSÍVEL — confirmar backup primeiro!) wsl --unregister Ubuntu-24.04 # Passo 3: Importar na nova localização wsl --import Ubuntu-24.04 D:\WSL\Ubuntu D:\Backups\ubuntu-backup.tar
⚠ Operação destrutiva: O comando wsl --unregister elimina permanentemente todos os dados da instância. Confirmar sempre que o backup foi criado com sucesso antes de executar.
