Windows 10 WSL: el montaje crea un sistema de archivos 9p en lugar de drvfs

Windows 10 WSL: el montaje crea un sistema de archivos 9p en lugar de drvfs

Quiero montar mi unidad Windows C: en /mnt/c en WSL como un sistema de archivos drvfs, pero si especifico drvfs como tipo de sistema de archivos, obtengo un sistema de archivos 9p.

Ingresé estos comandos:

$ sudo umount /mnt/c
$ sudo mount -t drvfs C: /mnt/c/
$ mount -l
...
C: on /mnt/c type 9p (rw,relatime,dirsync,aname=drvfs;path=C:;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=3,wfd=3)

Como puede ver, el tipo es 9p en lugar del drvfs especificado.

Respuesta1

Sí, cuando monta una unidad de Windows en WSL versión 2, utiliza el protocolo 9P. Este es un gran cambio con respecto a la versión 1, que usaba drvfs. El host WSL ejecuta un servidor 9P, al que se conecta la instancia WSL.

Hay bastantes sitios que discuten esto, pero son un poco difíciles de encontrar con un motor de búsqueda, en mi humilde opinión, ya que la noticia "más importante" con respecto a 9P fue que cada WSLinstancia(ya sea WSL1 o WSL2) también aloja su propio servidor 9P, al que el host Windows/WSL puede conectarse como cliente y proporcionar acceso a los archivos WSL en la \\wsl$\<distroname>ruta.

Aquí está uno de los mejores.discusiones que encontré en r/bashonubuntuonwindows. Tenga en cuenta la cita de u/benhelioz, uno de los desarrolladores de WSL (ahora creo que el líder del equipo):

Buen artículo. Quiero ser muy claro cuando digo esto: no estamos en absoluto satisfechos con el rendimiento de nuestro acceso a archivos de Windows Drive. Esta es una de las áreas más importantes en las que estamos invirtiendo y estamos trabajando arduamente para mejorar el rendimiento. Una cosa que enfatizaré es que nuestro 9p tiene algunos beneficios que Samba y SMB no tienen. Es mucho más seguro, admite administradores/no administradores y es totalmente compatible con cualquier cosa para la que la gente usaba DrvF en WSL1.

La parte obvia sin respuesta de su pregunta es por qué no puede montar la unidad como drvfs directamente. Esto se debe a que las instancias WSL no tienen acceso directo al hardware. Se basan en la interfaz de servicio WSL (LxssManager) para proporcionar acceso API a los elementos de Windows. Por lo tanto, dependemos de los métodos de WSL para proporcionar acceso, que en el caso de las unidades WSL2 y NTFS, es 9P.

información relacionada