Saltar al contenido

¿Dónde está el directorio raíz del sistema de archivos de Ubuntu en el Subsistema de Windows para Linux y viceversa?

Solución:

Para Ubuntu instalado desde la tienda de Windows:

Cada distribución que instale a través de la tienda se instala en el directorio appdata de esa aplicación. Por ejemplo:
C:Users<username>AppDataLocalPackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalState – benhillis

Para WSL2, puede acceder al directorio de inicio desde Windows (Windows 10 build 18342) de esta manera:

\wsl$

En iteraciones anteriores del Subsistema de Windows para Linux, el sistema de archivos de Ubuntu estaba en %localappdata%Lxss (p.ej, C:UsersUsernameAppDataLocalLxss – Reemplace la Nombre de usuario con su nombre de usuario en Windows). Consulte la publicación del blog de WSL sobre compatibilidad con el sistema de archivos:

El sistema de archivos principal utilizado por WSL es VolF. 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 permisos de Linux, enlaces simbólicos, FIFO, sockets y archivos de dispositivo.

VolFs se usa para montar el directorio raíz de VFS, usando
%LocalAppData%lxssrootfs como el almacenamiento de respaldo. Además, existen algunos puntos de montaje VolF adicionales, en particular /root y
/home que se montan usando %LocalAppData%lxssroot y
%LocalAppData%lxsshome respectivamente. El motivo de estos montajes separados es que cuando desinstala WSL, los directorios de inicio no se eliminan de forma predeterminada, por lo que se conservarán los archivos personales almacenados allí.

PRECAUCIÓN

Crear / modificar cualquier archivo dentro del subsistema de Linux usando aplicaciones y herramientas de Windows puede causar corrupción de datos y pérdida de datos en el subsistema de Ubuntu. (¡Gracias a Rich Turner por sugerir estas palabras de advertencia!) Esto es absolutamente no soportado. De la misma publicación del blog:

Interoperabilidad con Windows

Si bien los archivos VolFs se almacenan en archivos normales de Windows en los directorios mencionados anteriormente, no se admite la interoperabilidad con Windows. Si se agrega un nuevo archivo a uno de estos directorios desde Windows, carece de los EA que necesitan los VolF, por lo que VolF no sabe qué hacer con el archivo y simplemente lo ignora. Muchos editores también eliminarán los EA al guardar un archivo existente, lo que nuevamente hará que el archivo sea inutilizable en WSL.


Su sistema de archivos de Windows se encuentra en /mnt/c en el entorno de shell Bash.

ingrese la descripción de la imagen aquí

Fuente: blog de Dustin Kirkland, howtogeek

Esto parece haber cambiado desde que se introdujo originalmente Bash, y no se aplica a las distribuciones de la Tienda Windows, o tal vez no sea consistente para todos los sistemas ya que mi directorio de inicio se encuentra en otra ubicación:

%localappdata%lxsshome{username}

o:

C:Users{user}AppDataLocallxss{username}

Dónde {user} es su nombre de usuario de Windows y {username} es su nombre de usuario de UNIX configurado durante la instalación.

Entonces el directorio raíz sería:

%localappdata%lxss

Tenga en cuenta que es posible que el directorio raíz no esté 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:

  • Ubuntu gratis en la tienda de Windows
  • Open Suse gratuito en la tienda de Windows

colocaron distribuciones en:

$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/{861c29b4-ebe2-49a5-8a22-7e53a27934a0}/BasePath
C:UsersuserAppDataLocalPackagesCanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscLocalState

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_USERSoftwareMicrosoftWindowsCurrentVersionLxss -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_USERSoftwareMicrosoftWindowsCurrentVersionLxss$DEFAULT_LXSS_ID -name BasePath | Format-List -property "BasePath"
%LocalAppData%PackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState

PPS. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *