Problema

Uso um notebook de trabalho com dois SSDs de 256 GB: Windows 11 num, Kubuntu no outro, em dual boot. Eu queria uma única instalação Linux, mesma home, mesmos pacotes, mesmo Docker, tanto no boot nativo quanto aberta de dentro do Windows pelo WSL. Manter um segundo Linux inteiro dentro de um ext4.vhdx duplicava tudo e ainda comia um espaço que não sobra.

Subindo o WSL 2 em uma Partição Física do Linux para Uso Dual Boot

Solução

O WSL 2 oficial só sobe uma distro a partir de um arquivo ext4.vhdx. O wsl --mount anexa um disco físico, mas só como montagem extra, nunca como raiz de uma distro registrada. A issue pedindo isso (microsoft/WSL#6290) está aberta desde 2020.

Contornos

Os contornos conhecidos fazem chroot ou systemd-nspawn na partição a partir de outra distro. Funciona, mas o wsl.exe, o \wsl.localhost, o Remote WSL do VS Code e a integração do Docker continuam enxergando a outra distro: você vive dentro de um wrapper.

Mudança

A mudança é pequena: seis patches (~500 linhas) sobre a tag 3.0.3. O serviço resolve o disco autorizado por modelo + serial (exatamente um disco, nunca o disco do Windows, GPT obrigatório) e anexa por PassThrough, o mesmo caminho do wsl --mount.

Mini_init

O mini_init recebe o PARTUUID e o UUID do ext4, acha a partição dentro do disco, confere o superbloco, as features do ext4 e a versão do kernel, e só então monta a partição como raiz. Daí pra frente é o WSL original: systemd, interop, WSLg, tudo igual.

Segurança

É um disco real montado em leitura e escrita por outro kernel. Algumas travas: a autorização fica no HKLM (só administrador grava) e é ligada ao SID do usuário; o serviço confere a identidade do disco a cada boot; as features do ext4 gravadas na autorização são conferidas contra o código-fonte do kernel do WSL; kernel novo ou filesystem alterado bloqueiam o boot até um novo registro; --export, --manage --resize/--move/--set-sparse, --set-version e --unregister são recusados: não existe imagem, só o seu disco; wsl --update é bloqueado, para uma atualização oficial não substituir o serviço com patch.

Sistema de Arquivos

Sem LUKS/LVM/RAID, o layout suportado é raiz ext4 simples.

Limites

O build não é assinado e não publico binários de propósito: quem vai bootar o próprio disco deve compilar o que roda. Nunca hiberne o Linux nativo enquanto usa a partição pelo WSL.

Feedback

Propus a ideia ao time do WSL na issue original. Feedback é muito bem-vindo, principalmente de quem usa outras distros e layouts.

Conclusão

Subimos o WSL 2 em uma partição física do Linux para uso em dual boot, enfrentando desafios técnicos e encontrando soluções criativas.

Boot Dual Fisica Linux Particao