WSL 2 no Windows: Guia Completo com Instalação, Configuração e Desempenho Real

Introdução

WSL (Windows Subsystem for Linux) é uma compatibilidade nativa entre o kernel do Windows e o ecossistema Linux. Ele permite que você rode distribuições GNU/Linux diretamente dentro do Windows, com suporte a chamadas reais de sistema, rede, bash, e até mesmo daemons de sistema.

O WSL não é um emulador. E, desde o WSL 2, também não é mais só uma camada de tradução. É um kernel Linux real rodando em uma VM leve, integrada ao Windows.


Quando Usar WSL (e Quando Evitar)

Use WSL quando:

  • Precisa de um ambiente Linux dentro do Windows, com performance aceitável.
  • Deseja desenvolver scripts, projetos ou ferramentas de linha de comando.
  • Está criando software que roda em Linux, mas sua máquina principal ainda é Windows.
  • Precisa usar ferramentas como ssh, git, curl, make, python, gcc, etc., de forma nativa.

Evite WSL quando:

  • Precisa de alto desempenho em operações de disco (I/O intenso entre /mnt/c…).
  • Vai trabalhar com banco de dados em produção.
  • Precisa de suporte total a systemd (WSL agora suporta parcialmente).
  • Está usando ferramentas que acessam o hardware diretamente (drivers, dispositivos USB, etc.).

WSL 1 vs WSL 2

CaracterísticaWSL 1WSL 2
ArquiteturaCamada de traduçãoKernel Linux real em VM leve
Velocidade em arquivos WinRápidoLento (acesso via /mnt/c etc.)
Suporte ao Docker nativoLimitadoCompleto (com Docker Desktop)
Uso de systemdNãoSuportado (parcialmente)
Consumo de RAMMuito baixoMédio, depende da carga da VM
Compatibilidade de sistemaLimitada (syscalls faltando)Completa (roda tudo de um Linux)

Como Instalar o WSL (Método Oficial e Correto)

Pré-requisitos:

  • Windows 10 2004+ ou Windows 11
  • Terminal do Windows
  • Acesso à internet
wsl --install

Esse comando instala o WSL 2, configura o kernel, e baixa uma distribuição padrão (Ubuntu). Caso queira especificar:

wsl --install -d Debian

Verificar versão ativa:

wsl --list --verbose

Alterar versão de uma distro:

wsl --set-version Debian 2

Como o WSL Funciona por Trás dos Panos

  • WSL 1: traduz chamadas de sistema Linux para NT Kernel.
  • WSL 2: inicia uma VM leve com kernel Linux otimizado pela Microsoft, usando ext4.vhdx como disco virtual.
  • Integração com Windows: acesso transparente entre arquivos, porta TCP (localhost compartilhado), e comandos nativos do Windows podem ser chamados no bash (notepad.exe, por exemplo).

Sistema de Arquivos no WSL 2

  • Linux real → usa ext4 dentro da VHD
  • Acesso a arquivos do Windows via /mnt/c/, /mnt/d/ etc.
  • Acesso aos arquivos Linux pelo Windows via:
\\wsl$\Ubuntu\

⚠️ Atenção: copiar arquivos grandes de/para /mnt/c/ causa gargalo de desempenho. Prefira mover para o sistema de arquivos nativo do WSL.


Trabalhando com Docker no WSL 2

A melhor forma é com Docker Desktop, que integra nativamente com WSL 2:

  • O engine Docker roda dentro do WSL.
  • Pode ser acessado tanto do Windows quanto do Linux.

Verificar se está funcionando:

docker version

Evite usar Docker fora do Desktop oficial se não tiver domínio sobre networking em Hyper-V e gerenciamento de socket docker.sock.


Usando systemd no WSL

Por padrão, o systemd era desativado. Hoje pode ser ativado via:

# /etc/wsl.conf

[boot]

systemd=true

Depois, reinicie o WSL:

wsl --shutdown

Isso permite iniciar serviços como mysql, cron, ssh, nginx etc., de forma mais próxima de uma distro tradicional.


VS Code + WSL

O VS Code se integra automaticamente com o WSL. Ao abrir a pasta remota da distro, você trabalha como se estivesse em um Linux real, com IntelliSense e debugger.

code .

Se estiver com a extensão “Remote – WSL” instalada, o VS Code abre o ambiente isolado e trata como um workspace Linux.


Comandos Essenciais no WSL

wsl --list --verbose        # Ver distribuições instaladas
wsl --set-version Ubuntu 2  # Mudar para WSL 2
wsl --set-default-version 2 # Definir padrão para novas distros
wsl --export Ubuntu backup.tar # Exportar distro para tar
wsl --import UbuntuNova ./UbuntuNova ./backup.tar --version 2
wsl --terminate Ubuntu      # Parar distro
wsl --shutdown              # Parar todas as distros

Backups e Migração

Exportar a distro:

wsl --export Ubuntu ubuntu-backup.tar

Reimportar em outro lugar:

wsl --import Ubuntu2 D:\WSL\Ubuntu2 ubuntu-backup.tar --version 2

É possível mover sua distro para outro disco sem reinstalar tudo.


Dicas de Performance

  • Evite manipular muitos arquivos em /mnt/c/
  • Mantenha projetos em ~/ dentro do WSL
  • Desative antivírus para pastas WSL (se confiar no código)
  • Evite extensões inúteis no VS Code ao trabalhar com WSL
  • Use SSD para diretório de disco da VM (VHDX)

Conclusão

WSL transformou o ecossistema de desenvolvimento no Windows. O WSL 2, especialmente, oferece uma experiência quase indistinguível de uma distro nativa. Para devs, sysadmins e hackers que vivem entre dois mundos, é um divisor de águas. Mas não substitui um Linux real em servidores de produção.

Rolar para cima