AA_key.tif

© Nikolay Okhitin, Fotolia

Aufgeschlossen

Auf NTFS-Partitionen zugreifen

Egal ob XP, Vista oder Windows7 – dank Ntfs-3g gelingt der lesende und schreibende Zugriff auf NTFS-Partitionen inzwischen reibungslos.

Mit NTFS formatierte Festplatten waren früher der Albtraum eines jeden Linux-Anwenders: Mit etwas Glück ließ sich der Inhalt der Platte zwar lesen, jeder Versuch eines Schreibzugriffs aber brachte die Gefahr von Datenverlusten mit sich. Zum Austausch von Dateien zwischen Windows und Linux musste daher meist das mit diversen Einschränkungen versehene FAT32-Dateisystem herhalten. Das speichert Dateien nur bis zu einer Maximalgröße von 4 GByte und hält kein Journal vor, was das Risiko von Datenverlusten deutlich erhöht.

Die Situation hat sich seit Erscheinen von Ntfs-3g ([1],[2]) im Jahre 2007 jedoch grundlegend geändert. Sowohl der schreibende als auch der lesende Zugriff auf NTFS-Partitionen stellen inzwischen kein Problem mehr dar. Das ausgereifte Programm hat Mitkonkurrenten wie Captive oder das NTFS-Kernelmodul weitgehend aus dem Rennen geworfen und kommt in allen großen Distributionen neueren Datums zum Einsatz. Eine Übersicht der NTFS-Programme zeigt der Kasten "NTFS-Tools kurz vorgestellt".

Da auch Windows 7 – wie schon XP und Vista – NTFS in Version 3.1 verwendet, hat sich entsprechend beim Zugriff darauf nichts geändert. Während sich Ntfs-3g ausschließlich zum Einhängen von NTFS-Partitionen eignet, bringen die Ntfsprogs [3] diverse Werkzeuge mit, um die enthaltenen Daten in vielfältiger Hinsicht zu bearbeiten.

NTFS-Tools kurz vorgestellt

Die Ntfsprogs[3] bestehen aus einer Sammlung von Tools, um NTFS-Partitionen zu manipulieren: So ändern Sie über ntfsresize die Größe eines NTFS-Laufwerks oder legen über mkntfs ein neues an. Zwar enthält die Sammlung mit ntfsmount auch ein Werkzeug zum Einhängen von NTFS-Partitionen, jedoch sollten Sie zu diesem Zweck Ntfs-3g den Vorzug einräumen: Es wird kontinuierlich weiterentwickelt und stellt deutlich mehr Funktionen bereit. Das letzte Release der Ntfsprogs, Version 2.0, erschien im September 2007. Allerdings stehen in den Repositories von Ubuntu noch entsprechende Pakete bereit und dienen die Ntfsprogs als Grundlage für Programme wie GParted.

Bei Ntfs-3g[1] handelt es sich um einen Fork des bereits erwähnten Ntfsmount, das auf Fuse aufsetzt. Im März 2010 veröffentlichten die Entwickler die stabile Version 2010.3.6, die auch in Ubuntu 10.04 zum Einsatz kommt. Laut der Release-Notes [2] unterstützt das Tool jetzt UTF-8/UTF-16 besser und löst Zeitstempel von Dateien schneller auf. Auch mit verschlüsselten Partitionen kommt es inzwischen besser zurecht.

Das NTFS-Kernelmodul[4] greift hauptsächlich lesend auf die Laufwerke zu. Seit Kernel 2.6.16 vergrößert und verkleinert es Dateien auch. Die Roadmap des Projekts änderten die Entwickler zuletzt im Mai 2006, womit das Projekt wohl auf Eis liegt. Der Quellcode des Moduls zeigt darüber hinaus einen Copyright-Vermerk von 2005, was ebenfalls darauf hindeutet, dass sich seit dieser Zeit nichts mehr getan hat.

Das Tool Captive[5] nutzt zum Zugriff auf das Dateisystem die Originaltreiber von Windows. Der Haken: Das Schreiben der Dateien erfolgt extrem langsam. Der Entwickler Jan Kratochvil betreut Captive laut Aussage auf der Mailingliste nicht mehr aktiv.

Ntfs-3g einsetzen

Wie alle großen Distributionen setzt auch Ubuntu Ntfs-3g mittlerweile als Standardwerkzeug zum Einhängen von NTFS-Partitionen ein. Der Dateibrowser Nautilus (Abbildung 1) zeigt sie in der Regel mit ihrem Namen bzw. ihrer UUID in der linken Spalte an. Ein Klick auf den Eintrag genügt, um die Partition mit vollem Lese- und Schreibzugriff ins Dateisystem einzuhängen. Als Pfad verwenden die Distributionen in der Regel /media/UUID/.

Abbildung 1

Abbildung 1: Der Dateibrowser Nautilus zeigt NTFS-Laufwerke in der linken Spalte an und bindet sie mithilfe von Ntfs-3g per Mausklick ein.

Ansonsten hängen Sie NTFS-Partitionen entweder einmalig oder permanent mit Hilfe einiger Mount-Parameter und über die Datei /etc/fstab ein. Zunächst der Mount-Befehl, den Sie auf der Kommandozeile eingeben:

$ sudo mount -t ntfs  -o rw,auto,user,nls=utf8,umask=007,gid=`id -g` /dev/sdaX /mnt

Als Dateisystem legen Sie zunächst NTFS fest (-t ntfs). Mittels der Option -o hängen Sie weitere Parameter an den Mount-Befehl. Zum Beispiel bewirkt umask=0027, dass der Benutzer selbst Dateien und Ordner lesen, schreiben und ausführen darf. Auch Benutzer, die zur selben Gruppe gehören (gid=`id -g`), können im Verzeichnis lesen und Programme ausführen, aber sie dürfen nicht schreiben. Außenstehende haben keinen Zugang zum Dateisystem. Geben Sie als Wert 0000 ein, dürfen alle Nutzer alles. Mehr zu Dateirechten und zu Umask lesen Sie unter [6]. Bei /dev/sdaX handelt es sich um die Gerätedatei, an der die Festplatte hängt, /mnt ist das Verzeichnis, in das Sie die Platte einhängen.

Um festzulegen, welchem Benutzer der Einhängepunkt gehört, verwenden Sie zusätzlich den Schalter uid, gefolgt von der ID des gewünschten Anwenders. Diese finden Sie über den Befehl id -u heraus, weshalb ein Eintrag für einzelne Anwender uid=`id -u` lautet. Verwenden Sie mehrere dieser Anweisungen, trennen Sie diese durch Kommata: -o uid=`id -u`,umask=0027.

Um NTFS-Partitionen, die Ubuntu nicht automatisch erkennt, beim Systemstart einzubinden, schreiben Sie mit administrativen Rechten folgende Zeile in die Datei /etc/fstab:

UUID=6CC40ABEC40A8A92  /media/windows  ntfs  rw,auto,user,nls=utf8,umask=007,gid=46  0  0

Hinter UUID, dort wo die lange Zahl steht, tragen Sie zunächst die UUID Ihrer eigenen Windows-Partition ein, die Sie über den Befehl blkid herausfinden. Den Ordner /media/windows legen Sie im Vorfeld über sudo mkdir /media/windows an – er dient als Einhängepunkt für die Festplatte. Dann folgen die bereits bekannten Parameter. Eine Abweichung bildet der Eintrag der Gruppen-ID 46, welche die Gruppe plugdev repräsentiert, die externe Datenträger verwalten darf.

Performance und Besonderheiten

In der Praxis erweist sich Ntfs-3g als überraschend leistungsfähig. So ließen sich im Test über zwanzig Ebenen tief verschachtelte Verzeichnisse erstellen, die Sie unter Windows noch problemlos öffnen. Auch diverse Sonderzeichen, die Windows in Dateien und Verzeichnissen verwendet, bereiten keinerlei Schwierigkeiten. Umgekehrt öffnet Windows auch ohne Probleme Ordner, die Sie unter Ubuntu anlegen.

Die größte Einschränkung in Ubuntus Ntfs-3g-Version betrifft die Rechtevergabe und Nutzerzugehörigkeit. So übereignet Ubuntu NTFS-Partitionen zunächst dem Anwender, der sie mountet, und räumt diesem – und nur diesem – volle Schreib- und Leserechte ein. Ein nachträgliches Ändern der Berechtigungen oder der User-Zugehörigkeit für Ordner und Dateien ist nicht möglich.

Glossar

Journal

Das Journal im Dateisystem loggt alle Änderungen vor dem eigentlichen Schreiben mit. Gibt es Probleme (etwa aufgrund eines Absturzes), lässt sich die Unversehrtheit des Dateisystems später wiederherstellen.

NTFS

New Technology File System. Das von Microsoft entwickelte Dateisystem kann unter anderem Dateien komprimieren, verschlüsseln und Nutzern Festplattenkontingente zuweisen. Sowohl XP als auch Vista und Windows7 setzen NTFS in Version 3.1 ein.

UUID

der Universally Unique Identifier ordnet jeder Festplatte und Partition eine einmalige Nummer zu, über die Ubuntu sie von da an identifiziert – sofern Sie der Festplatte beim Partitionieren keinen Namen geben. Die Datei /etc/fstab nutzt seit einiger Zeit vornehmlich UUIDs, um Festplatten einzuhängen.

Einem Freund empfehlen