¿Cómo montar el directorio Ubuntu/home en la partición ext4 en Windows 10 WSL?

¿Cómo montar el directorio Ubuntu/home en la partición ext4 en Windows 10 WSL?

Quiero montar mi /homedirectorio Ubuntu real, que existe en una partición ext4 en mi disco, en WSL.

Básicamente, necesito todo desde allí y quiero tener una mejor compatibilidad con ext4 y algunas herramientas. Ver tambiéneste problemapara ver algunos ejemplos de problemas al editar archivos en el /homedirectorio WSL Ubuntu existente.

¿Es posible? ¿Cómo?

Respuesta1

En el momento en que se hizo esta pregunta, esto no era posible en WSL, ya que no había acceso arealparticiones ext4.

Sin embargo, los problemas mencionados en ese problema de Github se resolvieron proporcionando acceso al sistema de archivos WSL (en ese momento WSL1, pero posteriormente también WSL2) a través de \\wsl$\<distroname>\. Esto permite editar esos archivos de forma segura. Consulte también la publicación del blog de Microsoft correspondiente de esa época,No cambie archivos de Linux usando aplicaciones y herramientas de Windows.

Y, en Windows 11 (pero no en Windows 10), ahora tiene la posibilidad de montar unidades sin formato en WSL2 usando wsl --mount. Una vez que la unidad sin formato esté disponible para WSL2, podrá sudo mount(o mediante /etc/fstab) la partición ext4 real en esa unidad que contiene su archivo /home/.

Advertencias:

  • Debe (actualmente) manualmente wsl --mountla partición sin formatoantesiniciar la distribución (por ejemplo, Ubuntu) en WSL. Si no lo hace, no podrá /homeiniciar WSL y probablemente simplemente fallará.

  • Si no recuerdo mal, actualmente no se puede montar una unidad que ya esté en uso en Windows. Por lo tanto, la partición ext4 debe estar en una unidad, al menos, que no sea la unidad de Windows.

Respuesta2

Exporte su partición de inicio con Samba y móntela en Windows (así es como lo hago).

Para aclarar, si no desea montarlo /homeen una unidad, cree /homeun enlace simbólico \\yourmachine\home(suponiendo que haya exportado su unidad doméstica como /home).

Por ejemplo, estoy /Documentsapuntando a //Bliss/Documents
En cygwin+bash, veo (en mi directorio raíz):Documents -> //Bliss/Documents/

En Windows, con dir, ese archivo se ve así: <SYMLINKD> Documents [\\Bliss\Documents]
(Bliss es un nombre para mi servidor).

en Windows, lo creo en la raíz haciendo cd a la raíz, luego:
(desde bash - tenga en cuenta las comillas simples alrededor del nombre de ruta de Windows con barras invertidas)

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

información relacionada