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.

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