Windows Subsystem for Linux: Microsoft erklärt die Dateisystemschicht

Microsoft hat am 15. Juni 2016 die Dateisystemunterstützung des Windows Subsystem for Linux (WSL) beschrieben. Der offizielle Beitrag erklärt, wie WSL Linux-Dateioperationen auf den Windows-NT-Kernel abbildet und zugleich den Zugriff auf Windows-Laufwerke ermöglicht.

Für Entwickler ist diese Trennung wichtig, weil Linux- und Windows-Dateisysteme unterschiedliche Modelle verwenden. Linux arbeitet über das Virtual File System mit Inodes, Verzeichniseinträgen und Dateideskriptoren. Windows verwaltet Dateien dagegen als Objekte, die über den Object Manager und den I/O Manager an den jeweiligen Dateisystemtreiber weitergereicht werden.

WSL verbindet VFS mit dem NT-Kernel

WSL übernimmt die Linux-nahe VFS-Struktur und ergänzt sie um Dateisystem-Plugins. Die Systemaufrufschicht reicht Operationen wie open, read, chmod und stat an dieses VFS weiter. Die technische Verarbeitung über den NT-Kernel war bereits im vorherigen WSL-Beitrag zu den Systemaufrufen beschrieben worden.

Architektur der WSL-Dateisystemschicht mit VolFs, DrvFs und NT-Kernel
Architektur der WSL-Dateisystemschicht mit VolFs, DrvFs und NT-Kernel – Bild: Microsoft

VolFs für Linux-Dateien, DrvFs für Windows-Laufwerke

VolFs speichert die Linux-Systemdateien und das Home-Verzeichnis. Dabei bleiben Linux-Funktionen wie Berechtigungen, symbolische Verknüpfungen, FIFOs, Sockets und Gerätedateien erhalten. Die Daten liegen in Windows-Verzeichnissen unter dem Benutzerprofil, sind aber nicht für eine Bearbeitung durch Windows-Anwendungen ausgelegt. Änderungen von außen können die für VolFs benötigten erweiterten Attribute entfernen.

DrvFs ist für die Zusammenarbeit mit Windows gedacht. WSL bindet unterstützte Laufwerke wie NTFS-Volumes automatisch unter /mnt/c oder /mnt/d ein. Dort gelten grundsätzlich die Windows-Berechtigungen und Dateinamensregeln. Die in Linux angezeigten Lese-, Schreib- und Ausführungsrechte werden aus den effektiven Zugriffsrechten des Windows-Benutzers abgeleitet. Ein Wechsel zu sudo ändert deshalb nicht automatisch die Windows-Berechtigungen.

DrvFs unterstützt außerdem die Groß- und Kleinschreibung von Dateinamen sowie symbolische Verknüpfungen innerhalb von WSL. Die verwendeten Reparse Points sind jedoch nicht allgemein aus dem Windows-Datei-Explorer oder der Eingabeaufforderung auflösbar. Für Entwicklerteams ergab sich daraus bereits in der frühen WSL-Version eine klare Trennung: Linux-spezifische Projektdateien blieben in VolFs, gemeinsam genutzte Windows-Dateien lagen in DrvFs.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein