530 votes

Où se trouve le répertoire racine du système de fichiers Ubuntu dans le sous-système Windows pour Linux et vice versa ?

J'ai installé le sous-système Ubuntu sur Windows 10 (après avoir activé la fonction dans les paramètres), mais où se trouve le répertoire racine du système de fichiers Ubuntu dans le lecteur ?

604voto

sourav c. Points 40637

Pour Ubuntu installé depuis la boutique Windows :

Chaque distribution que vous installez par l'intermédiaire du magasin est installée sur ce site. dans le répertoire appdata de cette application. Par exemple : C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState - benhillis

Pour WSL2, vous pouvez accéder au répertoire personnel depuis Windows (Windows 10 build 18342) comme ceci :

\\wsl$

Dans les itérations précédentes du sous-système Windows pour Linux, le système de fichiers Ubuntu était à %localappdata%\Lxss (par exemple, C:\Users\Username\AppData\Local\Lxss - remplacer le Nom d'utilisateur : avec votre nom d'utilisateur sous Windows). Voir l'article du blog du WSL sur le support des systèmes de fichiers :

Le principal système de fichiers utilisé par WSL est VolFs. Il est utilisé pour stocker les Linux, ainsi que le contenu de votre répertoire personnel Linux. Linux. En tant que tel, VolFs prend en charge la plupart des fonctionnalités du VFS Linux Linux, y compris les permissions Linux, les liens symboliques, les FIFO, les sockets, et les fichiers de périphérique.

VolFs est utilisé pour monter le répertoire racine de VFS, en utilisant %LocalAppData%\lxss\rootfs comme support de stockage. En outre, il existe quelques points de montage VolFs supplémentaires existent, notamment /root/home qui sont montés en utilisant %LocalAppData%\lxss\root%LocalAppData%\lxss\home respectivement. La raison de ces montages séparés séparés est que lorsque vous désinstallez WSL, les répertoires personnels ne sont pas ne sont pas supprimés par défaut, et les fichiers personnels qui y sont stockés seront conservés.

ATTENTION

La création/modification de n'importe quel fichier dans le sous-système Linux à l'aide d'applications et d'outils Windows peut entraîner la corruption et la perte de données dans le sous-système Ubuntu ! (Merci à Rich Turner pour avoir suggéré ces mises en garde) C'est absolument no soutenu. Du même article de blog :

Interopérabilité avec Windows

Alors que les fichiers VolFs sont stockés dans des fichiers ordinaires sous Windows, dans le dossier de l'utilisateur. répertoires mentionnés ci-dessus, l'interopérabilité avec Windows n'est pas garantie. supportée. Si un nouveau fichier est ajouté à l'un de ces répertoires depuis Windows, il n'a pas les EA nécessaires à VolFs, donc VolFs ne sait pas ce qu'il faut faire. à faire avec le fichier et l'ignore tout simplement. De nombreux éditeurs vont également supprimeront également les EA lors de l'enregistrement d'un fichier existant, rendant à nouveau le fichier inutilisable dans le WSL.


Votre système de fichiers Windows est situé à l'adresse /mnt/c dans l'environnement Bash Shell.

enter image description here

Source : Le blog de Dustin Kirkland , howtogeek

54voto

NicholasJohn16 Points 641

Cela semble avoir changé depuis l'introduction de Bash, et ne s'applique pas aux distributions du Windows Store, ou peut-être que ce n'est pas cohérent pour tous les systèmes car mon répertoire personnel est situé à un autre endroit :

%localappdata%\lxss\home\{username}

ou :

C:\Users\{user}\AppData\Local\lxss\{username}

{user} est votre nom d'utilisateur Windows et {username} est votre nom d'utilisateur UNIX défini lors de l'installation.

Donc le répertoire racine serait :

%localappdata%\lxss

Notez que le répertoire racine peut ne pas être visible dans l'Explorateur Windows à partir de la page d'accueil. %localappdata% répertoire. Vous devriez pouvoir y accéder de toute façon en le tapant dans la "barre d'adresse" d'Explorer.

15voto

gavenkoa Points 951

Si vous installez Linux depuis MS Market :

sous lesquels ils ont placé les distros :

$ 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

Distro par défaut définie par :

bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}

La racine de Linux est plus profonde :

c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

PS. J'ai utilisé Cygwin pour explorer les clés de registre.

Si l'on utilise PowerShell pour le même objectif, les commandes seraient les suivantes :

# 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

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

6voto

Yardboy Points 1981

Vous pouvez rapidement ouvrir Bash à partir d'une fenêtre de l'explorateur de fichiers du dossier ouvert en tapant bash dans la barre d'adresse.

C'est suffisant.

Vous pouvez également ajouter un élément de menu contextuel. Personnellement, je ne le recommande pas si ce n'est pas nécessaire, car l'ajout de raccourcis dans le menu contextuel utilise plus de RAM.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-Shell-de-Windows-10s-file-explorer/

5voto

thinksinbinary Points 1309

La seule chose qui a fonctionné pour moi était %localappdata%\lxss\home\{username} où le {username} est votre nom d'utilisateur BASH que vous lui avez donné pendant l'installation. Pour une raison quelconque, après avoir montré le dossier caché de lxss refuse d'apparaître dans C:\Users\WINDOWS-USER\AppData\Local\ et en donnant également l'intégralité C:\ path avec Windows et BASH username ne fonctionne pas non plus.

Et s'il vous plaît, créez un raccourci sur le bureau pour ce qui fonctionne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X