Es ist ziemlich klar, dass das "Host" -Dateisystem von Windows 10 /mnt/c/
aus Sicht von "Linux" eingehängt ist . Aber ist es möglich, von Windows aus auf das "Linux" -Dateisystem zuzugreifen? Wenn ja, wo ist es?
linux
ubuntu
windows-10
windows-subsystem-for-linux
Es gibt vier Lichter
quelle
quelle
mount
in einerbash
Shell?rootfs on / type rootfs
cat /etc/fstab
?LABEL=cloudimg-rootfs / ext4 defaults 0 0
Antworten:
Das einzelne Root-Dateisystem befand sich hier bis zum Windows 10 Fall Creators-Update (veröffentlicht im Oktober 2017):
Beispielsweise,
C:\Users\Vigo\AppData\Local\Lxss\rootfs\
Andere Einhängepunkte befinden sich eine Ebene höher im
lxss
Verzeichnis. Zum Beispiel befindet sich Ihr eigeneshome
Verzeichnis innerhalb von Linux in%LOCALAPPDATA%\Lxss\home
.Ab dem Fall Creators-Update können mehrere Linux-Instanzen installiert und parallel ausgeführt werden. Die vorhandene Instanz (auch bekannt als Legacy) bleibt in ihrem Verzeichnis, aber neu erstellte Instanzen befinden sich unter:
Zum Beispiel befindet sich meine Ubuntu 18.04-Installation unter der
Verzeichnis.Das Durchsuchen und Lesen von Dateien ist der einzige harmlose Vorgang. Weitere Informationen finden Sie auf dieser Microsoft-Blogseite .
Beachten Sie, dass es ab Build 1903 eine alternative Möglichkeit gibt, auf die Dateien einer laufenden Distribution zuzugreifen, die die zuvor genannten Probleme nicht aufweist.
Verwenden
\\wsl$\<distribution_specific_name>\
Sie einfach den Pfad und Sie können Dateien erstellen und ändern. Die AppData ist immer noch keine unterstützte Möglichkeit, mit Build 1903 auf Dateien zuzugreifen.quelle
%USERPROFILE%\AppData\Local\Lxss\rootfs
%LOCALAPPDATA%
%USERPROFILE%\AppData\Local
Heutzutage können Sie mehrere Linux-Distributionen installieren. Daher hat jede Distribution ihr eigenes Dateisystem in einem anderen Ordner.
%USERPROFILE%\AppData\Local\Packages\...\LocalState\rootfs
Abrufen der Informationen aus der Registrierung
Der Speicherort jedes Dateisystems kann der Windows-Registrierung entnommen werden. Die Daten befinden sich unter
Sie können ein PowerShell-Fenster starten und den folgenden Befehl ausführen, um die Speicherorte der Dateisysteme abzurufen
Sie erhalten eine Tabelle mit folgenden Informationen
LxRunOffline verwenden
LxRunOffline ist ein Tool zum Verwalten von auf WSL installierten Linux-Distributionen. Mit LxRunOffline können Sie das Verzeichnis abrufen, das von einer installierten Distribution verwendet wird
quelle
Die spätere Version des Linux-Subsystems installiert das Dateisystem unter
packages
so dass der vollständige Pfad ungefähr so aussieht:oder:
... natürlich abhängig vom Einhängepunkt. Eine Verzeichnissuche nach
.bashrc
würde diese Pfade aufdecken ...Alternativ können Sie
readlink .
den aktuellen Linux-Pfad in der Linux-Shell als DOS-Pfad in die Windows-Zwischenablage kopieren. Paste irgendwo sinnvoll, um den tatsächlichen physikalischen Pfad zu lesen.quelle
Sieht so aus, als hätte Microsoft es noch ein wenig verändert / versteckt. Derzeit ist es bei:
% USERPROFILE% \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows _ ????????????? \ LocalState \ rootfs
Da sich dies in Zukunft möglicherweise noch ändern wird, schlagen PGP lediglich vor, eine Dateisuche nach .profile- oder .bashrc-Dateien durchzuführen.
quelle
Für WSL2 können Sie vom Windows Explorer aus wie folgt auf das Basisverzeichnis zugreifen:
Tut mir leid, dass ich zu spät zur Party komme!
quelle
Ich habe dieses Skript erstellt, das den WLS-Ordner im Explorer öffnet
Einfach als yourScript.cmd speichern und ausführen
quelle