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.

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.

  1. Introduzir o nome de utilizador pretendido (minúsculas, sem espaços)
  2. Definir uma password (não aparece no ecrã enquanto escreves — é normal)
  3. 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. (usar wsl.exe se não reconhecer o comando wsl)

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.

  1. Reiniciar e entrar na BIOS/UEFI (geralmente F2, F10, Del ou F12 no arranque)
  2. Activar Intel Virtualization Technology (VT-x) ou AMD-V / SVM
  3. Guardar e reiniciar
  4. 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.

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário