Pular para o conteúdo

Windows Subsystem for Linux

O Windows Subsystem for Linux (WSL) é uma ferramenta de código aberto apoiada pela Microsoft que permite a emulação de um sistema operacional Linux dentro do Windows. A atual versão na data de escrita deste livro é a WSL 2, que traz grandes melhorias em relação à versão anterior.

O WSL permite instalar diversas distribuições Linux, até mesmo concomitantemente. Este guia oficial da Microsoft mostra algumas opções. Para este guia, vamos instalar a distribuição Fedora 42.

Se você estiver usando o Windows 11, ou o Windows 10 versão 2004 (Build 19041) ou superior, o WSL 2 já estará habilitado, e você pode pular para a próxima seção.

Para verificar a versão do seu Windows, pressione Super + R Windows + R e digite winver. Então, pressione Enter Enter .

Janela do programa "Executar", em que se escreve "winver".
Verificando a versão do Windows pelo Executar.

O sistema exibirá uma janela similar a essa.

Janela informativa sobre a versão do windows, em que se vê com destaque o texto Windows 11". Abaixo, lê-se que a versão especĩfica ẽ a 24H2 do Windows 11 Home, compilação de número 26100.4376.
Versão do Windows instalada no meu computador.

Eu tenho instalado o Windows 11, que já tem o WSL habilitado por padrão. Se também for o seu caso, clique no botão abaixo.

Caso utilize uma versão mais antiga, seguiremos os passos recomendados pelo guia oficial da Microsoft.

Ainda assim, para sistemas com arquitetura x64, é necessário ter instalada a versão 1903 do Windows 10 ou posterior, com a Build 18362.1049 ou posterior. Versões mais antigas do Windows 10 não possuem suporte para o WSL 2.

Para habilitar o WSL no sistema, abra o PowerShell como administrador e execute o comando abaixo.

PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Para habilitar a virtualização no sistema, execute o comando abaixo no PowerShell como administrador.

PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Baixe o pacote de atualização do WSL 2 pelo repositório da Microsoft. Você pode verificar a origem do link pelo guia oficial da Microsoft.

Após o download, execute o instalador e siga as instruções.

Por fim, defina a versão 2 do WSL como padrão com o comando abaixo, ainda no PowerShell como administrador.

PowerShell
wsl --set-default-version 2

Então, reinicie o computador para aplicar as mudanças.

Primeiramente, devemos instalar o WSL propriamente dito. Para isso, abra o PowerShell e execute o comando abaixo.

PowerShell
wsl.exe --install --no-distribution
Terminal do PowerShell, em que se executa o comando de instalação do WSL, inicialmente sem instalar alguma distribuição.
Processo de instalação do WSL pelo PowerShell.

Então, reinicie o computador para aplicar as mudanças.

Agora que o WSL está habilitado, podemos instalar a distribuição Fedora, segundo seu manual oficial.

Para fazer isso, abra o PowerShell e execute o comando abaixo.

PowerShell
wsl --install FedoraLinux-42

Então, defina-o como a distribuição padrão com o seguinte comando.

PowerShell
wsl -d FedoraLinux-42

Após aguardar alguns segundos, o sistema pedirá para criar um usuário. Eu recomendo usar o mesmo nome de usuário que você utiliza no Windows.

Terminal do Powershell, em que são exibidas a mensagens da instalação, inclusive os prompts para criação de usuário.
Processo de instalação do Fedora pelo terminal.

Agora, feche essa janela do Powershell.

Após instalar o WSL, você poderá abri-lo diretamente pela entrada criada no menu Iniciar do Windows, chamada WSL.

Abra-o, e digite o comando abaixo para definir uma senha.

WSL
sudo passwd $USER

Outro detalhe é que, nos sistemas Linux, a senha não aparece enquanto você digita, fica apenas o espaço em branco mesmo. Não se preocupe, digite-a até o final e pressione Enter Enter . Após repetir a senha, pressione Enter Enter novamente.

O sistema fará as últimas configurações e criara um usuário de administrador para você dentro do Fedora.

Terminal do WSL, em que são exibidos os prompts para definição da senha do usuário.
Processo de definição da senha do Fedora pelo terminal.

Lembre-se da sua senha, pois ela será solicitada sempre que você precisar de permissões de administrador.

Em caso de esquecê-la, você pode entrar no wsl como um usuário root. Para isso, execute o seguinte comando no PowerShell.

PowerShell
wsl --user root

Então, execute o comando de redefinição de senha, mas digitando seu usuário em vez de [YOUR_USERNAME], sem os colchetes.

PowerShell - WSL
sudo passwd [YOUR_USERNAME]

A maioria das ferramentas que você instalará no Fedora será por meio do gerenciador de pacotes dnf. Para atualizar os pacotes, execute o comando abaixo.

WSL
sudo dnf upgrade

A palavra sudo é usada para executar um comando com permissões de administrador. Ela provavelmente solicitará a senha do usuário que você criou anteriormente.

Quando perguntado se deseja continuar, pressione y y e então Enter Enter para confirmar. Isso pode ocorrer mais de uma vez durante a instalação.

Terminal do Fedora, primeira captura da execução do comando "sudo dnf upgrade".Terminal do Fedora, segunda captura da execução do comando "sudo dnf upgrade".Terminal do Fedora, terceira captura da execução do comando "sudo dnf upgrade".Terminal do Fedora, quarta captura da execução do comando "sudo dnf upgrade".
Instalando as versões atualizadas dos pacotes do Fedora.

Aqui vale um pequeno apanhado de como funciona a estrutura de diretórios no Linux. Ela varia um pouco a depender da distribuição, mas a estrutura básica é a mesma.

  • O sistema todo é organizado dentro de uma pasta, a qual chamamos de ROOT ou /.
    • Ela não tem realmente um nome, por isso a referenciamos apenas com uma barra.
  • Dentro dela, temos diversas pastas, que são responsáveis por organizar, por exemplo:
    • bin: programas executáveis instalados a nível de sistema (pelo apt ou dnf)
    • opt: programas instalados manualmente a nível de sistema.
    • usr: programas instalados pelos usuários.
    • etc: arquivos de configuração do sistema.
    • lib: bibliotecas compartilhadas por programas.
    • home: pastas dos usuários.
    • mnt: referências a dispositivos de armazenamento montados no computador, como pendrives e HDs.

Há outras pastas (chamadas comumente de diretórios) importantes, mas com o tempo você pega o jeito.

Terminal do Fedora, em que se executa o comando "ls", que exibe a estrutura de pastas da raiz do Fedora.
Estrutura de pastas da raiz do Fedora (WSL).

A que nos interessa no momento é a pasta home. Dentro dela, o sistema cria uma pasta para cada usuário, nomeada com o nome do usuário. Por exemplo, o meu usuário é gabriel-dev, então a pasta do meu usuário é /home/gabriel-dev.

Essa pasta é tão importante que ela tem uma variável de ambiente que a referencia, chamada de HOME.

Digite no terminal o comando echo $HOME e veja o que aparece. Depois, digite echo $HOME no PowerShell e veja o que aparece.

Tanto o Windows quanto o Linux possuem essa variável de ambiente, mas perceba que o caminho é diferente!

Terminal do Fedora, em que se executa o comando "echo $HOME". A resposta é "/home/gabriel-dev".Terminal do PowerShell, em que se executa o comando "echo $HOME". A resposta é "C:\Users\gabriel-dev".
Comando para exibir a variável de ambiente HOME no Fedora e no PowerShell, respectivamente.

De fato, eu uso o mesmo nome de usuário no Fedora e no Windows, mas o caminho da pasta do usuário é diferente porque se tratam de duas pastas completamente distintas.

O WSL cria todo um novo ambiente de emulação dentro do Windows, com suas próprias pastas e configurações. Mas como acessar esse ambiente?

Se tudo tiver sido instalado corretamente, você verá uma nova entrada no Explorador de Arquivos chamada Linux. Dentro dela, haverá uma pasta chamada FedoraLinux-42 (ou na versão mais atual). Essa é justamente a pasta / (raiz) do Fedora, a qual mencionamos anteriormente.

Explorador de Arquivos do Windows aberto na pasta "Linux\FedoraLinux-42".
Pasta raiz do Fedora WSL exibida no Explorador de Arquivos.

Acesse pelo Explorador de Arquivos a pasta home. Ela contém todos os diretórios de usuários registrados no Fedora. No momento, existe apenas o usuário que criamos. No meu caso, é o gabriel-dev. Clique com o botão direito nela, e selecione Fixar no Acesso rápido.

Abra a pasta do seu usuário. Garanta que os arquivos ocultos estejam sendo exibidos. Você pode fazer isso clicando em: Visualizar > Mostrar > Itens ocultos.

Passos instruindo como exibir arquivos ocultos no explorador de Arquivos do Windows.
Exibindo arquivos ocultos no Explorador de Arquivos.

Vemos que há alguns arquivos dentro do diretório do usuário. O arquivo .bashrc é o arquivo de configuração do Bash, o shell padrão do Fedora.

O ideal quando se usa o WSL é deixar todos os seus arquivos e projetos dentro do diretório do usuário do Linux. Assim, tem-se uma performance melhor e evita-se problemas de compatibilidade.

Entretanto, pode ser chato ter que navegar até o diretório do usuário toda vez que você quiser acessar um arquivo. Para facilitar, você pode criar um link simbólico no Windows que aponta para alguma pasta dentro do Fedora.

Eu gosto de organizar meus projetos numa pasta chamada dev na raiz do diretório do usuário.

Para criar uma pasta com esse nome, abra o WSL e execute o comando abaixo.

WSL
mkdir ~/dev

Vamos criar um arquivo de texto dentro dessa pasta para testar o link simbólico.

WSL
echo "Hello, World!" > ~/dev/hello.txt`
Terminal do Fedora, em que se executa comandos para criar a pasta "dev", se mover para dentro dela e criar um arquivo de texto.
Criando um arquivo de texto na pasta ~/dev do Fedora.

Então, abra no terminal um perfil do PowerShell como administrador e execute o comando abaixo para criar um link simbólico, substituindo a versão do Fedora, se você utilizar uma mais recente que a 42.

Powershell
New-Item -ItemType SymbolicLink -Path "C:\Users\$env:USERNAME\dev" -Target "\\wsl$\FedoraLinux-42\home\$env:USERNAME\dev"

O resultado será como o seguinte.

Powershell
Diretório: C:\Users\gabriel-dev
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 23/04/2025 12:03 dev

Então, você poderá acessar a pasta dev diretamente pelo Explorador de Arquivos. Abra o Executar com Super + R Windows + R e digite %USERPROFILE% para acessar seu diretório de usuário no Windows.

Você verá verá que a pasta dev está lá, e que apresenta um ícone de atalho.

Explorador de Arquivos do Windows aberto na pasta do usuário, em que se exibe a pasta "dev" com um ícone de atalho.
Link simbólico mostrado na pasta do usuário do Windows.

Clique com o botão direito na pasta dev e selecione Fixar no Acesso rápido para tê-la sempre à mão.

Ao acessar a pasta, você verá o arquivo hello.txt que criamos anteriormente no Fedora.

Explorador de Arquivos do Windows aberto na pasta "dev" do Fedora.
Pasta ~/dev do Fedora mostrada na estrutura de pastas do Windows.