He instalado el subsistema Ubuntu en Windows 10 (después de habilitar la función en la configuración), pero ¿dónde está ubicado el directorio raíz del sistema de archivos Ubuntu en la unidad?
He instalado el subsistema Ubuntu en Windows 10 (después de habilitar la función en la configuración), pero ¿dónde está ubicado el directorio raíz del sistema de archivos Ubuntu en la unidad?
Para Ubuntu instalado desde la tienda de Windows:
Cada distribución que instale a través de la tienda se instala en el directorio de datos de aplicaciones de esa aplicación. Por ejemplo:
C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState- benhillis
En versiones anteriores de Windows Subsystem para Linux, el sistema de archivos de Ubuntu estaba en %localappdata%\Lxss(por ejemplo, C:\Users\Username\AppData\Local\Lxss- reemplace el nombre de usuario con su nombre de usuario en Windows). Consulte la publicación del blog WSL sobre Soporte del sistema de archivos :
El sistema de archivos primario utilizado por WSL es VolFs. Se utiliza para almacenar los archivos del sistema Linux, así como el contenido de su directorio de inicio de Linux. Como tal, VolFs admite la mayoría de las funciones que proporciona Linux VFS, incluidos los permisos de Linux, enlaces simbólicos, FIFO, sockets y archivos de dispositivo.
VolFs se utiliza para montar el directorio raíz de VFS,
%LocalAppData%\lxss\rootfscomo almacenamiento de respaldo. Además, existen algunos puntos de montaje VolF adicionales, más notablemente/rooty/homeque se montan usando%LocalAppData%\lxss\rooty%LocalAppData%\lxss\homerespectivamente. La razón de estos montajes separados es que cuando desinstala WSL, los directorios principales no se eliminan de manera predeterminada, por lo que se conservarán todos los archivos personales almacenados allí.
¡Crear / modificar cualquier archivo dentro del subsistema Linux usando aplicaciones y herramientas de Windows puede causar corrupción de datos y pérdida de datos en el subsistema Ubuntu! (Gracias a Rich Turner por sugerir que estas palabras de precaución!) Esto está absolutamente no compatible. De la misma publicación del blog:
Interoperabilidad con Windows
Si bien los archivos VolFs se almacenan en archivos normales en Windows en los directorios mencionados anteriormente, la interoperabilidad con Windows no es compatible. Si se agrega un nuevo archivo a uno de estos directorios desde Windows, carece de los EA necesarios para VolF, por lo que VolFs no sabe qué hacer con el archivo y simplemente lo ignora. Muchos editores también eliminarán los EA al guardar un archivo existente, de nuevo haciendo que el archivo sea inutilizable en WSL.
Su sistema de archivos de Windows se encuentra /mnt/cen el entorno de shell Bash.
Fuente: blog de Dustin Kirkland , howtogeek
attrib -s -h lxssque lo desmarcará como un directorio del sistema también.
/mnt/<drive>/, pero NO es seguro (todavía) acceder al sistema de archivos de Linux desde Windows, por lo que no proporcionamos un acceso fácil a los sistemas de distribución de archivos.
Esto parece haber cambiado desde que Bash se introdujo originalmente, y no se aplica a las distribuciones de la Tienda Windows, o tal vez no sea coherente para todos los sistemas ya que mi directorio de inicio se encuentra en otra ubicación:
%localappdata%\lxss\home\{username}
o:
C:\Users\{user}\AppData\Local\lxss\{username}
¿Dónde {user}está su nombre de usuario de Windows y {username}su nombre de usuario UNIX establecido durante la instalación?
Entonces el directorio raíz sería:
%localappdata%\lxss
Tenga en cuenta que el directorio raíz puede no estar visible en el Explorador de Windows desde el %localappdata%directorio. Debería poder acceder a él de todos modos escribiéndolo en la 'barra de direcciones' del Explorador.
Si instala Linux desde MS Market:
colocaron distribuciones debajo de:
$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePath
C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Distribución predeterminada definida por:
bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}
La raíz de Linux es más profunda:
c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs
PD. Usé Cygwin para explorar las claves de registro.
Si usa PowerShell para el mismo objetivo, los comandos serían:
# obtain the value of the ID of the default Linux distribution (and store it in a variable to avoid escaping characters issues):
$DEFAULT_LXSS_ID = (Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\ -name DefaultDistribution)
# which will have a value like:
echo $DEFAULT_LXSS_ID
{bde539d6-0c87-4e12-9599-1dcd623fbf07}
# display the directory containing the rootfs Windows directory (mapped to the / Linux directory)
Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\$DEFAULT_LXSS_ID -name BasePath | Format-List -property "BasePath"
%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
Lo único que funcionó para mí fue %localappdata%\lxss\home\{username}dónde {username}está el nombre de usuario de BASH que le diste durante la instalación. Por alguna razón, después de mostrar lxss de la carpeta oculta se niega a aparecer C:\Users\WINDOWS-USER\AppData\Local\, y también da la C:\ruta completa con Windows y el nombre de usuario BASH tampoco funciona.
Y cree un acceso directo de escritorio para lo que funciona.
Puede abrir rápidamente Bash desde una ventana del Explorador de archivos de la carpeta abierta escribiendo bashen la barra de ubicación.
Es suficiente.
También puede agregar un elemento de menú contextual. Personalmente, no lo recomiendo si no es necesario, porque agregar accesos directos al menú contextual usa más RAM.
https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/
ls -a, no mostraba los archivos que agregué. Bash no estaba reconociendo los archivos que coloqué en el explorador de archivos de Windows, lo que para mí ha derrotado por completo el propósito de instalar bash en Windows.
wsl.exe, por ejemplo,wsl chmod 600 ~/.ssh/id*- no copie archivos en estas carpetas a través del sistema de archivos de Windows.