Über das Dateisystem gemountet auf /mnt/c
- Was genau ist /mnt/c/Users/ im Vergleich zu C:\Users\? Es scheint, dass sie ein und dasselbe sind - was ist also /mnt/c/?
Im Gegensatz zu Windows verwendet Linux (und die anderen auf Unix basierenden Systeme) eine einzige Ordnerstruktur, unabhängig von der Anzahl der Festplatten, die Sie haben. Wenn Sie mehrere Festplatten haben, müssen alle diese Festplatten irgendwann in die Ordnerstruktur gemountet werden.
- Typischerweise werden alle Festplatten (abgesehen von denen, die zum Booten des Systems verwendet werden) in einen Ordner namens
/mnt
oder /media
gemountet WSL hat einen speziellen Typ von Dateisystem namens DrvFS, der Ihnen Zugriff auf die in Windows verwendeten Festplatten gibt. Mit DrvFS können Sie nicht nur Ihr Windows-Dateisystem einbinden, sondern auch Netzwerkfestplatten und andere Medientypen.
- In WSL wird standardmäßig die
C:
-Platte in Windows unter /mnt/c
gemountet - Wenn Sie eine andere Platte haben, z. B. eine D:
-Platte in Windows, wird sie unter /mnt/d
gemountet Die Dateien, die Sie in /mnt/c
sehen, sind die gleichen, die Sie in C:
haben. Wenn Sie eine Datei ändern, werden Sie die Änderungen auch in Windows sehen.
Sie können den Befehl mount
verwenden, um auf andere Medientypen zuzugreifen (z. B. Wechsellaufwerke oder Netzwerkfreigaben).
Über den Speicherort von /home/<username>
- Wie kann ich die Dateien in /home/ mit dem Windows-Dateiexplorer anzeigen? Nicht, dass ich das jemals wirklich wollen würde - ich versuche nur, ein Gefühl dafür zu bekommen, wie Windows diese Subsystem für Linux-Sache organisiert.
In WSL befindet sich das gesamte Linux-Dateisystem unter einem Windows-Ordner. Der Ort des Ordners hängt von der Version von Windows und der WSL-Distribution ab, die Sie verwenden.
- Initiale Versionen von WSL speichern das Linux-Dateisystem in
%LOCALAPPDATA%\Lxss\rootfs
- Wsl-Distributionen, die aus dem Windows Store installiert werden, verwenden ab Windows Build 16215 (Mitte 2017) einen Ordner wie
%LOCALAPPDATA%\Packages\...\LocalState\rootfs
. Der Name des Pakets variiert je nach Distribution (z. B. ist er bei Ubuntu anders als bei Debian)
- Linux-Distributionen, die mit anderen Tools installiert werden, wie z. B. lxRunOffline oder WSL-DistroLauncher können das Linux-Dateisystem an einem beliebigen Ort speichern.
Sie können viele Optionen, um den Speicherort des WSL-Ordners zu erfahren ankreuzen. Ich denke, die einfachste Option ist zum Beispiel die Verwendung von lxRunOffline , um den Installationsordner zu erfahren.
## You can use lxrunoffline to check which WSL distributions have installed
## using: lxrunoffline list
C:\> lxrunoffline list
backup
Ubuntu-18.04
## And you can use it to get the location of any of these WSL installations
## using: lxrunoffline get-dir -n <name of distribution>
C:\> lxrunoffline get-dir -n backup
c:\wsl\installed\backup
C:\> lxrunoffline get-dir -n Ubuntu
C:\Users\Jaime\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Sobald Sie den Speicherort des Installationsordners kennen, ist die /home/<username>
unter <installation folder>\rootfs\home\username
.
- Wenn Ihr Installationsordner z. B.
c:\wsl\ubuntu
lautet, befindet sich das /home/<username>
unter c:\wsl\ubuntu\rootfs\home\username
HINWEIS: Sowohl Linux als auch Windows speichern Dateiberechtigungen auf unterschiedliche Weise. Heutzutage speichert die WSL DrvFS die Linux-Berechtigungen als Streams (Metadaten), die an die Dateien angehängt sind, die Sie in Windows sehen können. Microsoft empfiehlt nicht, Linux-Dateien mit Windows-Programmen zu ändern. Es ist möglich, dass einige Windows-Programme die Linux-Berechtigungen beschädigen, ohne es zu bemerken.