Verwenden Sie auf einem Rechner parallel Linux und Windows, dann stellt sich nicht selten die Frage: Wie auf Daten des jeweils nicht gebooteten Systems zugreifen. Beinahe alle modernen Linux-Derivate unterstützen zwischenzeitlich das Dateisystem NTFS im Lesemodus und den Zugriff auf FAT-Partitionen seit jeher voll. Daher beschränkt sich das Problem in erster Linie auf die Windows-Welt.
Eine Möglichkeit besteht derzeit darin, die Daten entweder auf einen Wechseldatenträger (USB-Stick, Diskette, CD-ROM) zu kopieren oder eine fehleranfällige FAT-Partition anzulegen, die den gemeinschaftlichen Zugriff auf Dateien erlaubt. Zwischenzeitlich ermöglichen eine Reihe von Programmen den direkten Zugriff von Windows auf Linux-Dateisysteme. Drei davon stellt dieser Artikel auf ihre Alltagstauglichkeit vor.
Standard-Dateisysteme
| Distribution | Dateisystem |
|---|---|
| Debian 3.0 (Woody) | Ext2 |
| Debian 3.1 (Sarge) | Ext3 |
| Ubuntu 6.06 (Dapper Drake) | Ext3 |
| Kubuntu 6.06 (Dapper Drake) | Ext3 |
| Suse Linux 9.3 | ReiserFS 3 |
| Suse Linux 10.0 | ReiserFS 3 |
| Suse Linux 10.1 | ReiserFS 3 |
| Mandriva 2005 | Ext3 |
| Mandriva 2006 | Ext3 |
Ein eleganter Ansatz, Linux-Dateisysteme unter Windows zu verwenden, besteht natürlich darin, sie nahtlos zu integrieren. Das ermöglichen Treiber, welche den Zugriff – für den Anwender transparent – ermöglichen. Die Partitionen erscheinen, wie bei Windows-Dateisystemen gewohnt, mit einem Laufwerksbuchstaben im Verzeichnisbaum des Explorer und erlauben die gleichen Dateioperationen (Copy & Paste, Drag & Drop etc.). Diese Methode ermöglicht allen Programmen den Zugriff auf die Dateien und Verzeichnisse der so integrierten Partition.
Die Programmierer des verhältnismäßig jungen Projektes ReiserDriver (Rfsd) [1] (Projektstart: Mai 2005) setzen sich zum Ziel, Reiser-Dateisysteme mit Windows zu verheiraten. Zwar kündigten sie die finale Release für den August 2005 ang, die aktuelle Version, der ReiserDriver Pre-Release Version 2, stammt jedoch vom Juli letzten Jahres.
Zur Installation genügt es, die im Paket enthaltene Datei rfsdfsd.sys in das Systemverzeichnis windows\system32\drivers\ zu kopieren, und den Registry-Patch rfsdfsd.sys durch einen Doppelklick auf die Datei einzuspielen.
Etwas komplizierter gestaltet sich die Laufwerkszuordnung. Starten Sie dazu den Registry Editor Regedit, wechseln Sie in den Zweig HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices und erstellen Sie darin eine neue Zeichenfolge, die den Namen den Laufwerksbuchstaben trägt, beispielsweise X:. Öffnen Sie danach den neuen Eintrag und geben Sie an, wo sich die Partition, die Sie einhängen möchten, befindet. Beachten Sie, dass unter Windows-Systemen die Nummerierung der Festplatten bei 0 (Null) beginnt, die der Partitionen hingegen mit 1 (Eins). Das folgende Beispiel spricht die erste Partition der zweiten Festplatte an:
\Device\Harddisk1\Partition1
Nach dem Neustart von Windows erscheint im Explorer-Verzeichnisbaum das neue Laufwerk (Abbildung 1). Ein Zugriff darauf setzt jedoch den Start des zuständigen Dienstes durch net start rfsdfsd in der Command-Shell voraus. Andernfalls bietet Windows an, das unbekannte Laufwerk zu formatieren. Da dieser Service nicht automatisch mit dem System startet, empfiehlt es sich, das beschriebene Startkommando in eine Batchdatei zu schreiben (beispielsweise start.bat), und diese über einen Link im Verzeichnis Start | Alle Programme | Autostart beim Systemstart auszuführen.
Nach Abschluss der Installation steht die Reiserfs-Partition wie jede allerdings nur im Lesemodus zur Verfügung. Programme oder Treiber, die einen Schreibzugriff auf dieses Dateisystem unter Windows ermöglichen, sind derzeit nicht bekannt.
Zudem zeigten sich im Test erhebliche Schwächen des Dienstes: Beispielsweise führt ein Rechtsklick auf eine Datei in einem Unterverzeichnisses zu einem Totalabsturz des Systems. Dramatischer, weil in der normalen Arbeit relevant, waren jedoch die unvermittelten Abstürze (Abbildung 2) entweder beim Öffnen von Unterverzeichnissen ab der dritten Ebene oder dem Öffnen von Dateien. Ein Muster, das detaillierte Rückschlüsse auf das Verhalten zuließe, war nicht zu erkennen.
Da das Projekt seit Oktober 2005 mehr oder weniger im Dornröschenschlaf liegt, stehen die Chancen einer Problemlösung in absehbarer Zeit eher schlecht. Das Projekt als Pre-Release, und damit nach der allgemeinen Terminologie als beinahe stabil zu deklarieren, entspricht nicht dem tatsächlichen Zustand der Software. Gemessen an anderen Projekten käme eher eine frühen Alpha-Phase in Betracht. Bleibt zu hoffen, dass die Entwickler neuen Elan schöpfen und an diesem vielversprechenden Projekt weiterarbeiten.
Die nahtlose Integration der Dateisysteme Ext2 und Ext3 in Windows verfolgt Stephan Schreiber mit seinem Projekt Ext2ifs [2]. Der Treiber eignet sich für die Windows-Versionen NT 4.0, 2000 und XP. Er erlaubt sowohl den Lese- als auch den Schreibzugriff auf diese Dateisysteme. Gegenüber der Reiser-Version verfügt das Programm über einen Setup-Wizard, der das Einrichten des Treibers übernimmt. Möchten Sie Dateien größer als vier GByte auf der Partition speichern, aktivieren Sie im Setup den Punkt Enable the large file feature. Negative Auswirkungen hat das Aktivieren nur, wenn Sie mit einer Distribution arbeiten, die als Kernel Version 2.2 oder kleiner verwendet. In diesem Fall mountet das System die Partition nur noch im read-only.
Nach der Installation weisen Sie mit dem Tool IFS Drivers, welches Sie in der Systemsteuerung finden, den automatisch erkannten Partitionen Laufwerksbuchstaben zu (Abbildung 3). Leider fehlt bei der Anzeige der Linux-Partitionen ein Verweis auf das Dateisystem. Das Programm zeigt ReiserFS-Systeme daher zwar an, unterstützt aber den Zugriff nicht.
Immerhin stellt es auf Wunsch eine Laufwerkszuordnung her. Der Klick auf den Laufwerksbuchstaben im Explorer führt jedoch lediglich zur Meldung Der Datenträger ist nicht formatiert. Soll er jetzt formatiert werden?. Sofern Sie Wert auf die darin enthaltenen Daten legen, beantworten Sie diese Nachricht mit einem Klick auf Nein.
Enthält die gewählte Partition ein Ext2- oder Ext3-Dateisystem, hängt das Programm diese anstandslos in den Verzeichnisbaum ein. Allerdings nur dann, wenn Sie diese zuvor unter Linux sauber ausgehängt haben. Sonst ist die Partition als dirty markiert, und der Treiber bindet sie nicht ein. Als Folge erscheint beim Klick auf das Laufwerk die gleiche Meldung wie bei Reiser-Dateisystemen.
Nach dem erfolgreichen Einbinden unterscheidet sich das Laufwerk lediglich durch die fehlende Rechte- und Benutzerverwaltung von NTFS- oder FAT-Partitionen. Auch die Netzwerkfreigaben einzelner Verzeichnisse oder der ganzen Partition funktioniert wie mit Windows-Partitionen. Unter Windows erstellte Ordner und Dokumente gehören unter Linux immer dem User und der Gruppe des übergeordneten Verzeichnisses. Auch ändert das Bearbeiten von Dateien weder deren Rechte noch die Besitzer- oder Gruppenzugehörigkeit.
Jedoch sollten Sie speziell beim Bearbeiten von Konfigurationsdateien darauf achten, einen Editor zu verwenden, der Unix-Konventionen unterstützt. Speichern Sie die Datei im Windows-üblichen ANSI-Format, kommt es unter Linux zu Problemen. Abhilfe schafft der auf der Heft-CD enthaltene Editor Notepad2 [3].
Ein Festplatten-Benchmark ergab, dass sich die Schreib-Lese-Geschwindigkeit des Ext3-Dateisystems kaum von NTFS-Partitionen unterscheidet. Der CPU-Ressourcenverbrauch bewegte sich ebenfalls auf dem gleichen Niveau wie bei Zugriffen auf andere Windows-Partitionen. Die Stabilität des Treibers läßt keine Wünsche offen. Im Test traten keinerlei negative Begleiterscheinungen oder gar Systemabstürze wie zuvor bei dem Reiser-Treiber auf. Leider trübt ein Umstand das ansonsten hervorragende Bild: Der Treiber gewährt lediglich Benutzern mit administrativen Rechten Zugriff auf die Dateisysteme.
Wichtige Dateisysteme im Überblick
NTFS: Microsofts New Technology File System gehört seit über zehn Jahren zum Standardumfang aller NT-Betriebssysteme, zu denen auch Windows 2000 und Windows XP zählen. Die Hauptdatei, der Master File Table, kurz MFT, enthält neben den Zugriffsberechtigungen unter anderem die Zuordnungen zwischen Sektoren und Dateien.
Wie Reiserfs und Ext3 führt auch dieses Dateisystem ein Journal, um Fehlern im Dateisystem vorzubeugen. Zwar unterstützen praktisch alle modernen Distributionen mittlererweile den lesenden Zugriff auf NTFS. Da das Schreiben darauf jedoch zu Fehlern und Inkonsistenzen führt, sehen die meisten Distributoren noch von dieser Unterstützung ab.
FAT: Das einfache Dateisystem File Allocation Table spielt heute nur noch auf älteren Windows-Betriebssystemen eine Rolle, die keine NTFS-Unterstützung mitbringen,. Da es weder eine Rechteverwaltung unterstützt noch über ein Journal verfügt, kommt es beinahe ausschließlich im privaten Umfeld zum Einsatz. Dank seiner einfachen Struktur ist FAT derzeit das einzige Dateisystem, das alle modernen Betriebssysteme lesend und schreiben unterstützen.
Ext2: Das Second Extended Filesystem war lange Jahre das am meisten genutzte Dateisystem unter Linux. Viele seiner Eigenschaften stammen aus traditionellen Unix-Dateisystemen, beispielsweise das Konzept der Blöcke, Inodes und Verzeichnisse. Ein Versionsmechanismus erlaubt, neue Funktionen abwärtskompatibel zu implementieren, wie das beim neuen Standard Ext3 der Fall ist.
Ext3: Das auf Ext2 basierende Dateisystem stellt zwischenzeitlich den Standard bei den meisten Distributionen dar. Das Journal als wichtigster Unterschied zum Vorgänger verhindert bei Systemabstürzen das Prüfen der kompletten Partition, das abhängig von der Größe mehrere Stunden dauert. Das System prüft nur noch Dateien, die zum Zeitpunkt des Absturzes als geöffnet markiert waren.
ReiserFS: Das von Hans Reiser entwickelte Dateisystem war das erste Journaling Filesystem, das in den Linux-Kernel (2.4.1) aufgenommen wurde. Die Suse Linux GmbH unterstützte die Entwicklung der Version 3 und verwendet es als Standard-Dateisystem in ihren Produkten. Es gilt gegenüber Ext2 und Ext3 speziell beim Verwalten vieler kleiner Dateien als sehr performant. Bisher existieren noch keine Programme,die einen lesenden und schreibenden Zugriff auf dieses Dateisystem von Windows aus ermöglichen.
Neben der vollständigen Integration von Linux-Dateisystemen in Windows bleiben als weitere Möglichkeit spezielle Datei-Explorer, die den Zugriff auf fremde Dateisysteme nur innerhalb des Programms ermöglichen. Sie lassen in der Regel nur Datei- und Verzeichnisoperationen zu, die sie selbst mitbringen. Der direkte Zugriff mit anderen Programmen, beispielsweise einem externen Texteditor funktioniert damit nicht.
Das Paket LTools [4] ist weit mehr als ein schnöder Datei-Explorer für Ext2/3- und ReiserFS. Es besteht aus einem Treiber, der verschiedene Zugriffsmethoden erlaubt. Außerdem haben Sie die Wahl zwischen einer Java- oder .Net-GUI (Abbildung 4). Möchten Sie lieber Ihren Browser (Abbildung 5) verwenden, starten Sie den mitgelieferten Webserver. Die Standardeinstellung beschränkt den Zugriff jedoch auf den Localhost (127.0.0.1).
Wenn Sie über das Netz von einem anderen Rechner auf eine Linux-Partition zugreifen wollen, starten Sie den Webserver auf dem Rechner, mit der entsprechenden Partition mit der IP-Adresse des Rechners, der zugreifen soll als Argument:
lreadsvr IP-Adresse
Wie bei allen anderen Programmen im Test darf bei den LTools nur der Benutzer mit administrativen Rechten auf die fremden Dateisysteme zugreifen. Zwar startet das Programm, wenn ein normaler Nutzer es aufruft, verweigert dann jedoch die Anzeige der Linux-Partitionen.
In der oberen Hälfte des Fensters zeigt das Programm die Windows-Laufwerke an, darunter finden Sie die erkannten Ext2/3- und ReiserFS-Partitionen in der Linux-üblichen Schreibweise, zum Beispiel /dev/hda5. Ein Klick darauf öffnet in der linken Fensterhälfte den Verzeichnisbaum und in der rechten die Dateiansicht. Generell mountet das Programm alle Dateisysteme read-only; ein Klick auf den Button R/W in der Menüleiste gibt diese zum Beschreiben frei. Bei ReiserFS-Partitionen beschränkt sich der Schreibmodus jedoch auf das Ändern der Berechtigungen und Zugehörigkeiten von Dateien und Verzeichnissen.
Da das Programm nur Operationen zulässt, die es selbst mitbringt, gerät die Suche nach einer Datei zuweilen zur Sisyphusarbeit, da außer einem Anzeigefilter keine Suchfunktionen existieren. Verzeichnisse und Dateien sortiert das Programm lediglich auf- oder absteigend nach Namen.
Die Funktion Modify ändert nicht, wie der Name suggeriert, den Inhalt der Datei, sondern lediglich deren Zugriffsrechte. Möchten Sie die Datei bearbeiten, klicken sie mit der rechten Maustaste darauf, und wählen aus dem Kontextmenü den Eintrag View. Damit kopiert LTools die Datei in sein temporäres Verzeichnis auf der Windows-Partition und öffnet diese. Um die Änderungen auf das Linux-System zu übertragen, löschen Sie die Ursprungsdatei und kopieren die geänderte an diese Stelle.
Da das Programm weder über einen Reload-Button noch über eine Refresh-Funktion verfügt, fällt es mitunter schwer, festzustellen, ob Änderungen oder Transfers tatsächlich stattgefunden haben. Hier hilft der Wechsel in ein anderes Verzeichnis und zurück. Sowohl der Ressourcenverbrauch als auch die Lese-Schreibgeschwindigkeit bewegen sich im Bereich des Dateimanagers von Windows. Um mal eben auf das andere Dateisystem zuzugreifen, sind die Ltools, von – kleinen Schwächen abgesehen – erste Wahl. Sie bieten zudem ein Plus an Sicherheit, da Sie das Dateisystem gegenüber den Integrationsvarianten nicht permanent öffnen und somit beispielsweise versehentliches Löschen verhindern.
Einen Nachteil zeichnet alle Programme gleichermaßen aus: Sie hebeln sämtliche Benutzer- und Gruppenrechte der Linux-Dateisysteme aus. Der Windows-Benutzer hat Vollzugriff auf alle darin enthaltenen Daten, entsprechend auch auf die sensible Passwortdatei /etc/shadow (Abbildung 6). Dass nur Benutzer mit administrativen Rechten unter Windows auf die Dateisysteme zugreifen dürfen, birgt nur einen schwachen Trost. Immerhin bringt das permanente Arbeiten mit solch mächtigen Privilegien unter Windows oft unterschätzte Gefahren mit sich.
Für die am häufigsten verwendeten Linux-Dateisysteme Ext2 und Ext3 existieren mindestens zwei praktikable und stabile Lösungen, die sowohl den lesenden als auch den schreibenden Zugriff auf die Dateien und Verzeichnisse erlauben. Anders sieht es beim ReiserFS-Dateisystem aus. Hier ermöglichen die vorgestellten Programme lediglich den lesenden Zugriff. Obwohl die nahtlose Implementation des ReiserDrivers vielversprechende Ansätze zeigt, läuft es derzeit zu wackelig, um es außerhalb von Testrechnern zu verwenden. Alternativ erlauben die deutlich stabileren LTools den lesenden Zugriff auf diese Partitionen.
Infos
[1] Reiserdriver: http://rfsd.sourceforge.net
[2] Ext2 IFS: http://www.fs-driver.org
[3] Notepad2: http://www.flos-freeware.ch/notepad2.html
[4] LTools: http://www.it.fht-esslingen.de/~zimmerma/software/ltools.html