# WSL (Subsistema Windows para Linux): o que é, instalação e configuração do Linux no Windows

URL: https://skillaria.top/pt/guides/linux/wsl-linux-no-windows

O WSL (Windows Subsystem for Linux, Subsistema Windows para Linux) é um recurso integrado ao Windows 10 e 11 que executa uma distribuição Linux real sem máquina virtual separada e sem dualboot. É instalado com um único comando, wsl --install, no PowerShell como administrador; por padrão é instalado o WSL 2 com o Ubuntu, onde roda um kernel Linux real dentro de uma máquina virtual leve.

O Windows Subsystem for Linux (WSL, Subsistema Windows para Linux) é um recurso do Windows 10 e 11 que permite executar uma distribuição Linux dentro do próprio Windows: o terminal bash, `apt`, `ssh`, `grep`, Docker e qualquer utilitário de linha de comando. Não é preciso instalar o VirtualBox nem dividir o disco para ter um segundo sistema: o Ubuntu abre como uma janela de terminal comum em poucos segundos. A seguir, veja a diferença entre WSL 1 e WSL 2, como instalar o subsistema, como trabalhar com arquivos, VS Code e aplicativos gráficos, e o que fazer com os erros mais comuns.

## O que é WSL no Linux e no Windows

Resumindo, o WSL é uma forma de ter um ambiente Linux completo para desenvolver e estudar sem sair do Windows. Você instala uma distribuição (Ubuntu, Debian, openSUSE, Kali, AlmaLinux e outras) pela linha de comando ou pela Microsoft Store e depois trabalha nela como em um servidor: usuários, permissões, pacotes e serviços.

É importante entender o que o WSL não é. Não é um emulador de comandos como o Cygwin, nem um conjunto de utilitários portados: no WSL 2 roda um kernel Linux real, compilado pela Microsoft. Por isso, os binários Linux executam sem recompilação, e o que você aprende no WSL se transfere diretamente para um servidor de verdade.

Tarefas típicas para o subsistema:

- estudar Linux e a linha de comando sem ter outro computador;
- desenvolvimento web quando a produção roda em Linux (Python, Node.js, PHP, Go);
- Docker Desktop, que usa o WSL 2 como mecanismo;
- conexão com servidores via SSH, scripts bash e trabalho com git em um ambiente familiar.

## WSL 1 e WSL 2: qual a diferença

Existem duas arquiteturas do subsistema. O WSL 1 traduz as chamadas de sistema do Linux em chamadas ao kernel do Windows: não há um kernel Linux propriamente dito. O WSL 2 executa um kernel Linux real dentro de uma máquina virtual leve baseada no Hyper-V, que inicia em segundos e gerencia a própria memória.

| Parâmetro | WSL 1 | WSL 2 |
| --- | --- | --- |

| Kernel | não, tradução de chamadas de sistema | kernel Linux real |

| Compatibilidade de chamadas de sistema | parcial | completa |

| Docker, systemd | não | sim |

| Velocidade nos arquivos Linux (`~/`) | menor | alta |

| Velocidade nos arquivos Windows (`/mnt/c`) | alta | visivelmente menor |

| Precisa de virtualização | não | sim |

| Rede | compartilhada com o Windows | rede virtual própria (NAT por padrão) |

Para quase todos os casos, escolha o WSL 2, que já é o padrão. O WSL 1 faz sentido se a virtualização não puder ser ativada (por exemplo, quando o Windows já roda dentro de uma máquina virtual sem virtualização aninhada) ou se o projeto precisa ficar no disco do Windows e ser usado intensamente a partir dele.

## Como instalar o WSL no Windows 10 e 11

No Windows 11 e no Windows 10 versão 2004 ou posterior (build 19041+), a instalação resume-se a um comando. Abra o PowerShell ou o Terminal como administrador e execute:

```
wsl --install
```

O comando ativa os componentes necessários do Windows, baixa o kernel do WSL 2 e instala o Ubuntu. Depois de reiniciar, abre-se a janela da distribuição: crie um nome de usuário e uma senha Linux. Eles não estão ligados à conta do Windows; essa senha será pedida pelo `sudo`.

```
Enter new UNIX username: alex
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
```

Atualize os pacotes logo de início, como em qualquer servidor novo:

```
sudo apt update && sudo apt upgrade -y
```

### Como escolher a distribuição

O Ubuntu é instalado por padrão, mas você pode escolher outra distribuição. Para listar as disponíveis:

```
wsl --list --online
```

Para instalar uma distribuição específica pelo nome da lista:

```
wsl --install -d Debian
```

Se o WSL já estiver instalado, o comando apenas adiciona a nova distribuição. Você pode manter vários sistemas ao mesmo tempo, por exemplo o Ubuntu para trabalho e o Kali para experimentos.

### Verificar a versão: wsl -l -v

Para ver as distribuições instaladas, o estado delas e a versão do WSL:

```
wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
  Debian    Stopped         2
```

O asterisco marca a distribuição padrão, que é aberta pelo comando `wsl` sem parâmetros. Para trocá-la: `wsl --set-default Debian`.

### Como passar do WSL 1 para o WSL 2

A versão usada em novas instalações é definida com:

```
wsl --set-default-version 2
```

Uma distribuição já instalada é convertida separadamente (os dados são preservados, mas o processo pode levar alguns minutos):

```
wsl --set-version Ubuntu 2
```

A conversão inversa é `wsl --set-version Ubuntu 1`.

### Comandos úteis para gerenciar o WSL

| Comando | O que faz |
| --- | --- |

| `wsl` | abre a distribuição padrão |

| `wsl -d Debian` | abre uma distribuição específica |

| `wsl --shutdown` | encerra todas as distribuições e a máquina virtual do WSL 2 |

| `wsl --terminate Ubuntu` | encerra uma única distribuição |

| `wsl --update` | atualiza o WSL e o kernel |

| `wsl --status` | versão padrão e estado geral |

| `wsl --export Ubuntu ubuntu.tar` | cópia de segurança da distribuição em um arquivo |

| `wsl --import Ubuntu2 D:\wsl\u2 ubuntu.tar` | restaura ou clona uma distribuição |

| `wsl --unregister Ubuntu` | remove a distribuição junto com todos os dados |

Cuidado com o `--unregister`: os arquivos dentro da distribuição são apagados sem passar pela lixeira. Antes disso, faça um `--export`.

## Arquivos do Windows no Linux e vice-versa

Os discos do Windows são montados automaticamente dentro do WSL no diretório `/mnt`: o disco C: é `/mnt/c`, o D: é `/mnt/d`.

```
cd /mnt/c/Users/alex/Downloads
ls -l
cp report.csv ~/projects/
```

No sentido contrário, os arquivos Linux aparecem no Explorador de Arquivos pelo caminho de rede `\\wsl$\Ubuntu` (no Windows 11, também `\\wsl.localhost\Ubuntu`) e na seção «Linux» da barra lateral. Para abrir rapidamente o diretório atual do Linux no Explorador:

```
explorer.exe .
```

Do WSL é possível executar programas do Windows (`notepad.exe`, `code`), e no PowerShell, comandos Linux com o prefixo `wsl`: `wsl ls -la`. Para converter caminhos entre os dois sistemas existe o utilitário `wslpath`:

```
wslpath 'C:\Users\alex'
/mnt/c/Users/alex
```

A regra principal de desempenho do WSL 2: mantenha os projetos no sistema de arquivos Linux (`~/projects`), não em `/mnt/c`. O acesso aos discos do Windows passa por um protocolo de rede, e operações como `git status` ou `npm install` em um projeto grande ficam várias vezes mais lentas.

## VS Code e WSL

O Visual Studio Code consegue trabalhar com o WSL como se fosse uma máquina remota: a interface permanece no Windows, enquanto o terminal, as extensões, os interpretadores e o depurador rodam dentro do Linux. Para isso é necessária a extensão WSL (da Microsoft). Depois, no terminal da distribuição, vá até o diretório do projeto e execute:

```
cd ~/projects/site
code .
```

Na primeira execução, o VS Code instala no Linux a parte servidora. No canto inferior esquerdo aparece o indicador «WSL: Ubuntu», o que significa que tudo o que você executar pelo terminal integrado roda no Linux. Extensões como Python ou ESLint devem ser instaladas «no WSL»: o VS Code oferece isso com um botão.

## Aplicativos gráficos no WSL (WSLg)

No Windows 11 e nas versões atuais do WSL no Windows 10 existe o WSLg, que oferece suporte a aplicativos gráficos Linux sem configurar um servidor X. Instale o programa normalmente, e a janela dele aparece ao lado das janelas do Windows, com um atalho no menu Iniciar.

```
sudo apt install gedit -y
gedit ~/.bashrc &
```

O WSLg suporta X11 e Wayland, além de som e área de transferência. Ainda assim, para o uso diário com uma área de trabalho Linux completa, não é um substituto: o WSL foi pensado para aplicativos isolados, não para rodar GNOME ou KDE inteiros.

## systemd e recursos do WSL 2

As versões atuais do WSL 2 suportam systemd: em instalações novas do Ubuntu ele já vem ativado. Se não estiver, adicione ao arquivo `/etc/wsl.conf`, dentro da distribuição:

```
[boot]
systemd=true
```

e reinicie o subsistema pelo PowerShell com `wsl --shutdown`. Depois disso, funcionam o `systemctl` e serviços como nginx ou PostgreSQL.

Você pode limitar a memória e os processadores da máquina virtual do WSL 2 no arquivo `%UserProfile%\.wslconfig`, do lado do Windows:

```
[wsl2]
memory=4GB
processors=2
```

As configurações são aplicadas após `wsl --shutdown`.

## Erros comuns na instalação do WSL

### Erro 0x80370102

Mensagem completa: «Não foi possível iniciar a máquina virtual porque um componente necessário não está instalado» (WslRegisterDistribution failed with error: 0x80370102). A causa quase sempre é uma só: o WSL 2 não consegue iniciar a máquina virtual. Verifique nesta ordem:

1. Se a virtualização por hardware está ativada na BIOS/UEFI: Intel VT-x (Intel Virtualization Technology) ou AMD-V (modo SVM). O estado aparece no Gerenciador de Tarefas → «Desempenho» → CPU → «Virtualização: Habilitado».
2. Se o componente «Plataforma de Máquina Virtual» está ativado.
3. Se o hypervisor não está desativado no carregador de inicialização.

Os componentes são ativados pelo PowerShell como administrador:

```
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
bcdedit /set hypervisorlaunchtype auto
```

Depois, reinicie o computador. Se você trabalha dentro de uma máquina virtual, é preciso permitir a virtualização aninhada no host; caso contrário, use o WSL 1.

### Outros problemas frequentes

- **0x800701bc** — o kernel do WSL 2 não está atualizado. Execute `wsl --update`.
- **O comando wsl --install mostra apenas a ajuda** — o WSL já está instalado; adicione a distribuição com `wsl --install -d Ubuntu`.
- **Sem internet dentro do WSL com VPN** — o cliente VPN intercepta as rotas da rede virtual. No Windows 11 ajuda o modo `networkingMode=mirrored` na seção `[wsl2]` do arquivo `.wslconfig`.
- **O WSL ocupa muito espaço** — o disco virtual `ext4.vhdx` cresce, mas não diminui sozinho após apagar arquivos. Pode ser reduzido manualmente ou a distribuição pode ser transferida com `--export`/`--import`.
- **Esqueceu a senha Linux** — entre como root pelo PowerShell com `wsl -u root` e execute `passwd alex`.

## WSL, máquina virtual ou dualboot

O WSL não é a única forma de ter Linux em um computador com Windows. A escolha depende da tarefa.

| Opção | Vantagens | Desvantagens | Quando escolher |
| --- | --- | --- | --- |

| WSL 2 | inicia em segundos, arquivos compartilhados, VS Code, Docker | sem área de trabalho completa, particularidades de rede e discos | desenvolvimento, estudo da linha de comando, scripts |

| Máquina virtual (VirtualBox, Hyper-V, VMware) | isolamento total, snapshots, qualquer distribuição e área de trabalho, placa de rede própria | mais pesada, recursos reservados antecipadamente | laboratório de servidor, testes de rede, boot e particionamento |

| Dualboot | toda a potência do hardware, gráficos e drivers nativos | reinício para trocar de sistema, risco ao particionar | Linux como sistema principal, jogos e tarefas com GPU no Linux |

Para aprender Linux do zero, o WSL geralmente basta: arquivos, permissões, processos, pacotes, scripts bash e SSH funcionam como em um servidor. A máquina virtual passa a ser necessária quando entram coisas que o WSL faz de outra maneira: o carregador de inicialização, o particionamento de discos físicos, as interfaces de rede e o firewall no nível do host.

## Conclusão

O Subsistema Windows para Linux entrega um Linux de verdade dentro do Windows com um único comando, `wsl --install`. Escolha o WSL 2, confira as versões com `wsl -l -v`, mantenha os projetos em `~/` e não em `/mnt/c`, e conecte o VS Code pela extensão WSL. Se a instalação falhar com 0x80370102, ative a virtualização na BIOS e o componente «Plataforma de Máquina Virtual». Montar esse ambiente é o primeiro passo da prática no curso de Linux.

## FAQ

**O WSL é gratuito?**

Sim. O WSL vem incluído no Windows 10 e 11 em todas as edições, inclusive a Home, e as distribuições Linux também são gratuitas.

**É possível rodar Docker no WSL?**

Sim, mas somente no WSL 2. Você pode instalar o Docker Desktop com o mecanismo WSL 2 ou instalar o Docker Engine diretamente na distribuição, como em um servidor Ubuntu comum.

**Onde ficam fisicamente os arquivos de uma distribuição WSL?**

No WSL 2, em um disco virtual ext4.vhdx dentro do perfil de usuário do Windows. Não é preciso abri-lo diretamente: use o caminho \\wsl$\ no Explorador de Arquivos.

**Como remover o WSL por completo?**

Remova as distribuições com wsl --unregister , depois desinstale o aplicativo «Subsistema Windows para Linux» em «Aplicativos instalados» e, se quiser, desative os componentes do Windows.

**É possível mover o WSL para outro disco?**

Sim: wsl --export Ubuntu ubuntu.tar, depois wsl --unregister Ubuntu e wsl --import Ubuntu D:\wsl\ubuntu ubuntu.tar. Nas versões recentes também existe o comando wsl --manage Ubuntu --move.


---
Source: Skillaria.Top (https://skillaria.top)
