Question Où est 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 fonctionnalité dans les paramètres), mais où se trouve le répertoire racine du système de fichiers Ubuntu dans le lecteur?


299
2018-04-21 10:06


origine


NOTEZ S'IL VOUS PLAÎT  Nous (l'équipe WSL) Recommande FORTEMENT de ne pas spelunk dans les dossiers de données distro Linux ). Si vous le faites, la perte de données et / ou la corruption est TRÈS probable Nous travaillons à améliorer ce scénario d'interopérabilité et nous annoncerons tout progrès sur notre blog: blogs.msdn.microsoft.com/commandline - Rich Turner
@RichTurner J'ai trouvé qu'il y avait une raison très spécifique (et agaçante): les stratégies d'entreprise marquant le dossier .ssh avec des autorisations erronées impliquent de marquer la structure comme étant "hors limites" pour les scripts d'entreprise. Mais en général, je suis d'accord avec vous. - Danny Staple
Bien que cela ressemble à des boîtes avec des mises à jour plus récentes, cela ne se produit plus. - Danny Staple
@DannyStaple Si vous devez modifier les autorisations sur les fichiers / dossiers de votre distribution Linux à partir de Windows, utilisez wsl.exe, par exemple. wsl chmod 600 ~/.ssh/id* - faire ne pas copier des fichiers dans ces dossiers via le système de fichiers Windows. - Rich Turner


Réponses:


Pour Ubuntu installé à partir du magasin Windows:

Chaque distribution que vous installez via le magasin est installée sur celui-ci.   répertoire appdata de l'application. Par exemple:    C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState  - benhillis

Dans les versions précédentes de Windows Subsystem for Linux, le système de fichiers Ubuntu était à %localappdata%\Lxss (par exemple., C:\Users\Username\AppData\Local\Lxss - remplace le Nom d'utilisateur avec votre nom d'utilisateur sous Windows). Voir le post du blog WSL sur le support du système de fichiers:

Le système de fichiers principal utilisé par WSL est VolFs. Il est utilisé pour stocker le   Fichiers système Linux, ainsi que le contenu de votre maison Linux   annuaire. En tant que tel, VolFs supporte la plupart des fonctionnalités du VFS Linux   fournit, y compris les autorisations Linux, les liens symboliques, les FIFO, les sockets,   et fichiers de périphérique.

VolFs est utilisé pour monter le répertoire racine VFS, en utilisant    %LocalAppData%\lxss\rootfs comme stockage de sauvegarde. De plus   il existe peu de points de montage VolF supplémentaires, notamment /root et    /home qui sont montés en utilisant %LocalAppData%\lxss\root et    %LocalAppData%\lxss\home respectivement. La raison de ces séparer   Mounts est que lorsque vous désinstallez WSL, les répertoires personnels ne sont pas   supprimé par défaut, de sorte que tous les fichiers personnels stockés il y aura   conservé.

MISE EN GARDE

La création / modification de fichiers dans le sous-système Linux à l'aide des applications et outils Windows peut entraîner une corruption des données et une perte de données dans le sous-système Ubuntu! (Grâce à Rich Turner pour suggérer ces mots de prudence!) C'est absolument ne pas prise en charge. Du même article de blog:

Interopérabilité avec Windows

Alors que les fichiers VolF sont stockés dans des fichiers réguliers sur Windows dans le   répertoires mentionnés ci-dessus, l'interopérabilité avec Windows n'est pas   prise en charge. Si un nouveau fichier est ajouté à l'un de ces répertoires à partir de   Windows, il manque les EA nécessaires aux VolF, donc les VolF ne savent pas ce que   à faire avec le fichier et l'ignore simplement. De nombreux éditeurs seront également   supprimer les EA lors de l'enregistrement d'un fichier existant, ce qui rend le fichier à nouveau   inutilisable dans WSL.


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

enter image description here

La source: Le blog de Dustin Kirkland, howtogeek


322
2018-04-21 10:34



Lxss était caché sur mon système de fichiers ... provoquant un léger grattement de la tête pendant une minute ou deux. Maintenant, j'ai créé un raccourci, mais je n'arrive toujours pas à le révéler. - Ogaday
@Ogaday vous ne pouvez pas le dévoiler en utilisant la fenêtre des propriétés car elle est marquée comme un répertoire système. Vous pouvez le dévoiler en utilisant attrib -s -h lxss ce qui va le désélectionner en tant que répertoire système également. - developerbmw
Il semble que l’emplacement ait été modifié ou différent d’un système à l’autre, le mien se trouvant dans un endroit différent. J'ai posté ci-dessous avec mon emplacement. - NicholasJohn16
@souravc Pourriez-vous s'il vous plaît ajouter une note importante en haut de votre réponse, recommandant FORTEMENT de créer / modifier des fichiers dans LXSS en utilisant les applications et outils Windows: La corruption et la perte de données sont très probables si vous le faites! - Rich Turner
Veuillez lire le message ci-dessus: blogs.msdn.microsoft.com/commandline/2016/11/17/…. Il est sécuritaire d’accéder au système de fichiers Windows à partir de WSL, raison pour laquelle nous montons vos disques sous /mnt/<drive>/, mais n'est PAS (encore) sûr pour accéder au système de fichiers Linux à partir de Windows, c'est pourquoi nous n'offrons pas un accès facile aux systèmes de fichiers de distribution. - Rich Turner


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

%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.

Le répertoire racine serait donc:

%localappdata%\lxss

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


45
2017-08-10 18:35



Ma machine ne peut pas trouver: "C: \ Utilisateurs \ {utilisateur} \ AppData \ Local \ Lxss \ {nom d'utilisateur}" ou "% localappdata% \ Lxss \ home \ {nom d'utilisateur}" mais "C: \ Users \ {utilisateur } \ AppData \ Local \ lxss \ {nom d'utilisateur} "fonctionne. C'EST À DIRE. utilisez "lxss" NOT "Lxss" - Joe Codeswell user601770
Mon système a le sous-répertoire rootfs, mais rootfs / home est vide alors que ./home possède mon compte d'utilisateur et mes fichiers. Il semble plus sûr de simplement aller dans% localappdata% \ lxss et ensuite explorer à partir de là pour voir quelle disposition vous avez, et naviguer directement vers cette adresse évite les problèmes avec le répertoire lxss étant caché. - jla
@ JoeCodeswelluser601770 C'est étrange. Les systèmes de fichiers Windows sont normalement insensibles à la casse. Je peux entrer% localappdata% \ Lxss ou% localappdata% \ lxss et les deux vont à% HOMEPATH% \ AppData \ Local \ lxss - jla
Notez que ce dossier (lxss) n'apparaît pas dans la liste des dossiers de l'explorateur Windows dans AppData \ Local, même si la vue des dossiers masqués est activée. J'ai dû coller manuellement ajouter le dossier lxss à la barre de l'explorateur pour accéder aux fichiers ici, par ex. éditer le dossier "url" là-bas - Colin D
Vous pouvez également aller sur le bureau, cliquer avec le bouton droit sur "Nouveau-> Raccourci" et coller un chemin tel que C: \ Users \ votrenom \ AppData \ Local \ lxss \ home \ votrenom - Colin D


Si vous installez Linux à partir de MS Market:

ils ont placé des distributions sous:

$ 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éfini 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.

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


9
2017-09-13 14:54





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é lors de l'installation. Pour une raison quelconque, après avoir affiché le dossier caché, lxss refuse d'apparaître dans C:\Users\WINDOWS-USER\AppData\Local\, et aussi donner le plein C:\ chemin avec Windows et le nom d'utilisateur BASH ne fonctionne pas non plus.

Et s'il vous plaît créer un raccourci de bureau pour ce qui fonctionne.


5
2018-06-09 17:02



wow bon conseil, a eu le même problème - Nicolas Mommaerts


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

C'est assez.

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 au menu contextuel utilise plus de RAM.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/


4
2018-02-21 20:19



Ne fonctionne pas pour moi. Il ouvre l'invite de commande et lance bash. - blablatros
@blablatros oui mais dans le dossier en bash dans lequel vous aviez un explorateur ouvert en écrivant dans l'explorateur bash et en appuyant sur Entrée. Essayez dans le dossier Mes documents ouvert le dossier Windows Explorer et dans la barre d'adresse écrivez bash et il ouvrira ubuntu bash dans ce dossier déjà :) - Kangarooo
@Kangarooo: Je veux accéder aux fichiers via Windows 10 Gui et vice versa. Dans ma réponse ci-dessus, j'ai découvert comment localiser le répertoire bash via l'explorateur de fichiers Windows 10, et j'ai donc procédé à la copie de certains fichiers de mon disque dur externe dans ce répertoire. Cependant, lorsque j'ai ouvert le terminal bash et que j'ai appuyé sur ls -a, il n'a pas montré les fichiers que j'ai ajouté. Bash ne reconnaissait pas les fichiers que je déposais dans l'explorateur de fichiers Windows, ce qui pour moi a complètement fait échec à l'objectif d'installer bash sur windows. - thinksinbinary