
Ich bin neu bei Windows und habe WSL2 gemäß den bereitgestellten Anweisungen installiertHier.
Es funktioniert einwandfrei, aber ich kann nicht herausfinden, wo es auf meinem Computer installiert wurde. Die Ausgabe pwd
lautet home/nkp68
:
Wie greife ich von WSL2 aus auf Dateien auf meinem Windows-Computer zu?
Antwort1
Wenn ich Ihren Beitrag wörtlich lese, können sich da ein paar andere Fragen ergeben:
- Wo ist Ihre WSL-Ubuntu-Instanz auf Ihrem Computer installiert?
- (Vermutlich basierend auf der ersten Frage) Wie greife ich von Windows aus auf Dateien in WSL2 zu?
- "Wie greife ich von WSL2 aus auf Dateien auf meinem Windows-Rechner zu?" (eine ArtGegenteilFrage der ersten beiden)
Wo ist Ihre WSL-Ubuntu-Instanz?
Kurze Antwort: In Ihrem Fall befinden sich die eigentlichen Dateien bei der Basisinstallation auf einer virtuellen Festplatte mit dem Namen ext4.vhdx
. Sie müssen sich an dieser Stelle wirklich keine Gedanken über das „Wo“ machen (da es sich um ein virtuelles Laufwerk handelt), aber Sie finden es normalerweise unter %userprofile%\AppData\Local\Packages\Canonical...\LocalState\ext4.vhdx
. Ihr %userprofile%
Name lautet normalerweise etwa C:\Users\<username>
.
Mehr Details:
Das gilt für eine Standardinstallation. Sie können mehrere Distributionen und sogar mehrere Instanzen derselben Distribution installiert haben. Eine der großartigen Eigenschaften von WSL ist die Möglichkeit, eine Distribution schnell zu kopieren, etwas auszuprobieren und den Test zu verwerfen. Dies verhindert, dass Sie Ihre „gute“, tägliche Distribution mit Paketen, Tests oder anderen Dingen verunreinigen, die auf lange Sicht „Müll“ erzeugen können.
Um zu sehenalleGehen Sie für die von Ihnen installierten Distributionen zu PowerShell und führen Sie Folgendes aus:
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse
In Ihrem Fall wird wahrscheinlich Folgendes angezeigt:
{cff9bfd6-39db-42af-a85b-d6fca State : 1
94beff8} DistributionName : Ubuntu
Version : 2
BasePath : C:\Users\krutik\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Flags : 15
DefaultUid : 1000
PackageFamilyName : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
KernelCommandLine : BOOT_IMAGE=/kernel init=/init
DefaultEnvironment : {HOSTTYPE=x86_64, LANG=en_US.UTF-8, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games, TERM=xterm-256color}
Ich habe noch einige mehr, an verschiedenen Standorten.
Wie greife ich von Windows aus auf Dateien in WSL2 zu?
Aber der Titel Ihrer Frage, "wo", ist nicht wirklich wichtig, es sei denn, Sie müssen etwas mit der ext4.vhdx
Datei tun (wie vielleichtPlatz zurückgewinnen).
Um von Windows aus auf Dateien in WSL zuzugreifen, verwenden Sie den \\wsl$\Ubuntu
Pfad (oder wie auch immer Ihre Distribution heißt). Hier finden Sie \\wsl$\Ubuntu\home\nkp68
, wo Sie Dateien sicher hinein- und herauskopieren können.
Aktualisierter Hinweis: Unter Windows 11 \\wsl$\<distro_name>
funktioniert es zwar immer noch, allerdings gibt es auch einen neuen \\wsl.localhost\<disro_name>
Weg. Beide funktionieren gleich, wsl.localhost
sollten aber in bestimmten Situationen etwas robuster sein.
Wie greife ich von WSL2 aus auf Dateien auf meinem Windows-Computer zu?
Wenn Sie Ubuntu verwenden und auf eine Datei auf einem Windows-Laufwerk zugreifen müssen (z. B. C:
), werden diese (standardmäßig) automatisch für Sie bereitgestellt:
ls /mnt/c/Users
ls /mnt/c
Es gibt einige Nuancen bei der Arbeit mit Dateien auf einem Windows-Laufwerk innerhalb von WSL, insbesondere in Bezug auf Berechtigungen und Leistung. Normalerweise möchten Sie alle Projektdateien behalteninnendas Ubuntu ext4-Dateisystem (z. B. unter Ihrem /home/nkp68
Verzeichnis). Sie können aber natürlich nach Bedarf auf die Dateien zugreifen, sie kopieren und zwischen den Laufwerken verschieben.
Wo befindet sich die WSL-Funktion?
Der Titel der Frage könnte so interpretiert werden, dass Sie wissen möchten, wo die eigentliche WSL-Funktion installiert ist. Ich weiß, dass dies bei Ihnen, dem ursprünglichen Verfasser, nicht der Fall war, aber die Frage wurde auch von anderen gestellt, daher werde ich sie hier hinzufügen, falls sie dies anhand des Titels herausfinden.
Der Speicherort der WSL-Funktion auf Ihrem System hängt von der von Ihnen verwendeten WSL-Version ab:
Ältere Versionen von WSL waren seit mindestens Windows 10 21H2 (und möglicherweise schon früher) als Windows-Funktion in Windows selbst enthalten, und es ist auch heute noch möglich, diese Funktion zu aktivieren.
Wenn Sie die WSL-Windows-Funktion aktivieren, finden Sie die WSL-fähigen Binärdateien unter
C:\Windows\System32\lxss
. Sie müssen sich selten um diesen Ordner kümmern, aber manchmal ist er praktisch.Der WSL2-Kernel befindet sich ebenfalls in diesem Ordner und Sie können ältere Kernel sichern, wenn Sie mehr als eine Version zurücksetzen möchten.
Neuere Versionen von WSL werden als Anwendungspaket installiert, normalerweise aus dem Microsoft Store.
Wenn Sie das WSL-Anwendungspaket installieren, befinden sich die Dateien (wie dies normalerweise bei Windows-Anwendungspaketen der Fall ist) im Verzeichnis
C:\Program Files\WindowsApps\<package_dir>
.Beachten Sie, dass
C:\Program Files\Windows Apps
es sich um ein geschütztes Verzeichnis handelt und Sie den Inhalt standardmäßig nicht sehen können. Siesollte nichtVersuchen Sie, die Berechtigungen für dieses Verzeichnis zu ändern. Dadurch werden die Sicherheit und Stabilität Ihres Systems gefährdet.Sie können jedoch weiterhin den Inhalt derPaketVerzeichnis, vorausgesetzt, Sie kennen seinen Namen. Um es zu finden, führen Sie Folgendes in PowerShell aus:
Get-AppxPackage |? { $_.Name -like "*WindowsSubsystemforLinux*" } | tee-object -Variable packageMatches
Sie sollten eine
InstallLocation
mit den Ergebnissen erhalten. Wenn nur ein Ergebnis vorhanden ist (was der Fall sein sollte), können Sie es mit folgendem öffnen:explorer "$($packageMatches.InstallLocation)"
In diesem Verzeichnis finden Sie außerdem
tools\kernel
, den WSL2-Kernel für diese Version.Auf Windows 10-Systemen haben Sie wahrscheinlichbeidevon diesen.
Auf Windows 11-Systemen können SieMaiSie verfügen über beide Installationsorte, wenn Sie WSL1 installiert haben.