So greifen Sie auf Ihre Ubuntu Bash-Dateien in Windows (und Ihr Windows-Systemlaufwerk in Bash) zu

Linux-Umgebungen, die Sie aus dem Store installieren (wie Ubuntu und openSUSE), speichern ihre Dateien in einem versteckten Ordner. Sie können auf diesen Ordner zugreifen, um Dateien zu sichern und anzuzeigen. Sie können auch über die Bash-Shell auf Ihre Windows-Dateien zugreifen.

Update : Ab dem Windows 10-Update vom Mai 2019 gibt es jetzt eine offizielle und sichere Möglichkeit, über Windows-Anwendungen auf Ihre Linux-Dateien zuzugreifen.

Ändern Sie Linux-Dateien nicht mit Windows Tools

Microsoft warnt nachdrücklich davor, Linux-Dateien mit Windows-Software hinzuzufügen oder zu ändern. Dies kann zu Metadatenproblemen oder Dateibeschädigungen führen und Sie dazu zwingen, Ihre Linux-Distribution zu deinstallieren und neu zu installieren, um das Problem zu beheben. Sie können Ihre Linux-Dateien jedoch weiterhin mit Windows-Software anzeigen und sichern, was keine Probleme verursacht.

Mit anderen Worten, behandeln Sie den Linux-Ordner so, als wäre er in Windows schreibgeschützt. Verwenden Sie kein Windows-Tool, einschließlich grafischer Apps oder Befehlszeilentools, um diese zu ändern. Erstellen Sie in diesen Ordnern auch keine neuen Dateien mit Windows-Tools.

Wenn Sie mit einer Datei sowohl aus der Linux- als auch aus der Windows-Umgebung arbeiten möchten, sollten Sie sie in Ihrem Windows-Dateisystem erstellen. Wenn Sie beispielsweise einen Ordner unter C: \ project in Windows haben, können Sie auch in der Linux-Umgebung unter / mnt / c / project darauf zugreifen. Da es im Windows-Dateisystem gespeichert ist und unter / mnt / c zugegriffen wird, können Sie die Datei sicher mit Windows- oder Linux-Tools ändern.

Wo Windows die Linux-Dateien speichert

Ihr Linux-Dateisystem wird aus einem bestimmten Grund in einem versteckten Ordner gespeichert, da Microsoft nicht möchte, dass Sie daran manipulieren. Wenn Sie jedoch einige Dateien anzeigen oder sichern müssen, werden sie in einem versteckten Ordner gespeichert. Um darauf zuzugreifen, öffnen Sie den Datei-Explorer und fügen Sie die folgende Adresse in die Adressleiste ein:

% Benutzerprofil% \ AppData \ Local \ Packages

(Dies führt Sie zu C:\Users\NAME\AppData\Local\Packages. Sie können auch versteckte Ordner im Datei-Explorer anzeigen und hier manuell navigieren, wenn Sie dies bevorzugen.

Doppelklicken Sie in diesem Ordner auf den Ordner für die Linux-Distribution, deren Dateien Sie anzeigen möchten:

  • Ubuntu : CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  • openSUSE Leap 42 : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  • SUSE Linux Enterprise Server 12 : 46932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Die Namen dieser Ordner können sich in Zukunft geringfügig ändern. Suchen Sie einfach nach einem Ordner, der nach der Linux-Distribution benannt ist.

Doppelklicken Sie im Ordner der Linux-Distribution auf den Ordner "LocalState" und doppelklicken Sie dann auf den Ordner "rootfs", um dessen Dateien anzuzeigen.

Mit anderen Worten, die Dateien werden gespeichert unter:

C: \ Benutzer \ NAME \ AppData \ Local \ Packages \ DISTRO_FOLDER \ LocalState \ rootfs

Hinweis : In älteren Versionen von Windows 10 wurden diese Dateien unter C: \ Benutzer \ Name \ AppData \ Local \ lxss gespeichert. Dies änderte sich ab dem Fall Creators Update.

Doppelklicken Sie zum Anzeigen der in Ihrem Home-Ordner gespeicherten Dateien auf den Home-Ordner und doppelklicken Sie dann auf Ihren UNIX-Benutzernamen.

Denken Sie daran, keine dieser Dateien zu ändern oder Dateien aus dem Datei-Explorer zu diesen Ordnern hinzuzufügen!

Wo Ihr Windows-Systemlaufwerk unter Linux angezeigt wird

Das Windows-Subsystem für Linux stellt Ihr vollständiges Windows-Systemlaufwerk zur Verfügung, sodass Sie in beiden Umgebungen mit denselben Dateien arbeiten können. Die Bash-Umgebung speichert Sie jedoch nicht nur in Ihrem Laufwerk C: \. Stattdessen werden Sie im Home-Verzeichnis Ihres UNIX-Kontos im Dateisystem der Linux-Umgebung abgelegt.

Ihr Windows-Systemlaufwerk und andere verbundene Laufwerke werden dort im Verzeichnis / mnt / angezeigt, wo andere Laufwerke traditionell in der Linux-Verzeichnisstruktur verfügbar gemacht werden. Insbesondere finden Sie das Laufwerk C: an der folgenden Stelle in der Bash-Umgebung:

/ mnt / c

Um mit dem cdBefehl in dieses Verzeichnis zu wechseln , geben Sie einfach Folgendes ein:

cd / mnt / c

Wenn Sie ein D: -Laufwerk haben, finden Sie es unter / mnt / d usw.

Um beispielsweise auf eine Datei zuzugreifen, die unter C: \ Users \ Chris \ Downloads \ File.txt gespeichert ist, verwenden Sie den Pfad /mnt/c/Users/Chris/Downloads/File.txt in der Bash-Umgebung. Und ja, es wird zwischen Groß- und Kleinschreibung unterschieden, daher benötigen Sie "Downloads" und keine "Downloads".

VERBINDUNG: So mounten Sie Wechseldatenträger und Netzwerkspeicherorte im Windows-Subsystem für Linux

Sie können auch externe Laufwerke und Netzwerkspeicherorte bereitstellen, um aus der Linux-Umgebung heraus auf weitere Dateien zuzugreifen.

Beachten Sie, dass Ihre Bash-Shell-Umgebung beim Zugriff auf Windows-Systemdateien über die Berechtigungen verfügt, mit denen sie gestartet wurde. Wenn Sie es normal über die Verknüpfung gestartet haben, verfügt es über dieselben Dateizugriffsberechtigungen wie Ihr Windows-Benutzerkonto.

Wenn Sie beispielsweise auf einen Systemordner zugreifen möchten, auf den Ihr Benutzerkonto keine Zugriffsberechtigung hat, müssen Sie mit der rechten Maustaste auf die Verknüpfung zur Bash-Shell klicken und "Als Administrator ausführen" auswählen, um die Bash-Shell mit Windows-Administratorrechten zu starten .

Dies funktioniert genau wie die Eingabeaufforderung, die als Administrator gestartet werden muss, wenn Sie Schreibzugriff auf Nur-Administrator-Dateien oder Schreibzugriff auf Systemdateien benötigen. Sie können nicht nur sudoin der Bash-Umgebung verwenden.