Como montar o diretório Ubuntu /home na partição ext4 no Windows 10 WSL?

Como montar o diretório Ubuntu /home na partição ext4 no Windows 10 WSL?

Quero montar meu /homediretório Ubuntu real, que existe em uma partição ext4 na minha unidade, para WSL.

Basicamente, preciso de tudo daí e quero ter melhor compatibilidade com o ext4 e algumas ferramentas. Veja tambémesse assuntopara alguns exemplos de problemas ao editar arquivos no /homediretório WSL Ubuntu existente.

É possível? Como?

Responder1

No momento em que esta pergunta foi feita, isso não era possível na WSL, pois não havia acesso aorealpartições ext4.

No entanto, os problemas mencionados naquele problema do Github foram resolvidos fornecendo acesso ao sistema de arquivos WSL (na época WSL1, mas posteriormente também WSL2) por meio de \\wsl$\<distroname>\. Isso permite que esses arquivos sejam editados com segurança. Veja também a postagem correspondente no blog da Microsoft daquela época,Não altere arquivos do Linux usando aplicativos e ferramentas do Windows.

E, no Windows 11 (mas não no Windows 10), agora você tem a capacidade de montar unidades brutas em WSL2 usando wsl --mount. Depois que a unidade bruta estiver disponível para WSL2, você poderá sudo mount(ou via /etc/fstab) a partição ext4 real na unidade que contém seu arquivo /home/.

Ressalvas:

  • Você deve (atualmente) manualmente wsl --mounta partição brutaantesiniciando a distribuição (por exemplo, Ubuntu) em WSL. Do contrário, você não terá um /homeao iniciar o WSL e provavelmente irá falhar.

  • Se bem me lembro, atualmente você não pode montar uma unidade que já esteja em uso no Windows. Portanto, a partição ext4 precisa estar em uma unidade, pelo menos, diferente da unidade do Windows.

Responder2

Exporte sua partição home com Samba e monte-a no Windows (é assim que eu faço).

Para esclarecer, se você não deseja montar /homeem uma unidade, crie /homeum link simbólico para \\yourmachine\home(supondo que você tenha exportado sua unidade inicial como /home).

Por exemplo, estou /Documentsapontando para //Bliss/Documents
Under cygwin + bash, vejo (no meu diretório raiz):Documents -> //Bliss/Documents/

No Windows, com dir, esse arquivo se parece com: <SYMLINKD> Documents [\\Bliss\Documents]
(Bliss é o nome do meu servidor).

no Windows, eu crio isso na raiz fazendo cd para root, então:
(do bash - observe aspas simples em torno do nome do caminho do Windows com barras invertidas)

cmd /c mklink /d Documents '\\Bliss\Documents'

informação relacionada