NTFS

Aus Tuxfutter

Wechseln zu: Navigation, Suche

NTFS steht für New Technology File System und ist das Dateisystem von Windows NT, einschließlich seiner Nachfolger Windows 2000 und Windows XP. NTFS erbte viele Konzepte von IBMs Dateisystem HPFS, das in dem zusammen mit Microsoft entwickelten Betriebssystem OS/2 verwendet wurde. Aktuell ist NTFS v5, wobei die 5 nicht für die Version, sondern die Zugehörigkeit zu Windows 2000 (NT 5) bzw. zu Windows XP (NT 5.1) signalisiert.

Im Vergleich zu FAT bietet NTFS u.a. einen gezielten Zugriffsschutz auf Dateiebene durch vollständige Unterstützung von Access Control Lists.

Inhaltsverzeichnis

[Bearbeiten] Aufbau

Aus Sicht des Dateisystems ist alles Teil einer Datei, auch die Metadaten des Systems. Die Hauptdatei ist die MFT (Master File Table). In dieser Datei befinden sich die Einträge, welche Sektoren zu welcher Datei gehören, die Zugriffsberechtigungen und die Attribute. Jede Eigenschaft einer Datei ist unter NTFS ein Attribut, auch der eigentliche Dateiinhalt.

Sehr kleine Dateien (bis ca. 1,4KB) werden in der MFT direkt abgespeichert. Größere Dateien werden dann als Attribut in einem Datenlauf gespeichert.

Beim Formatieren der Festplatte wird für die MFT eine feste Groeße vorgegeben. Wenn diese aufgebraucht ist, beginnt das Dateisystem NTFS freien Speicher vom Datenträger zu benutzen, wodurch es zu einer Fragmentierung der MFT kommen kann.

Beim Speichern einer Datei wird ein Journal geführt. Das bedeutet, zunächst wird die geplante Aktion in das Journal geschrieben, dann wird der eigentliche Schreibzugriff auf die Datei ausgeführt und abschliessend wird das Journal aktualisiert. Wenn ein Schreibzugriff nicht vollständig beendet wird, zum Beispiel wegen eines Stromausfalls, muss das Dateisystem nur die Änderungen im Journal zurücknehmen und befindet sich anschliessend wieder in einem konsistenten Zustand.

[Bearbeiten] Vorteile

  • effiziente Speichernutzung bei Partitionen über 400 MB
  • Journaling-Dateisystem: automatische Fehlerkorrektur und Datenwiederherstellung nach Abstürzen.
  • lange Dateinamen: Dateinamen können im Gegensatz zu FAT16 bis zu 256 Zeichen lang sein und aus fast beliebigen Unicode-Zeichen bestehen
  • hohe Datensicherheit durch Vergabe von Zugriffsrechten auf Betriebssystem-Ebene
  • Mechanismen zur fehlertoleranten Datenspeicherung, z.B. "Festplattenspiegelung"
  • Maximale Dateigröße von theoretisch 16 ExaByte
  • Verwendung von Datenträgern mit dynamischer Größe (ohne feste Partitionstabelle)
  • schnelle und effiziente Speicherung von kleinen Dateien (ab Windows NT 3.51 werden höchstens 4 KB große Cluster verwendet)
  • Speicherung von alternativen Datenströmen
  • transparente Komprimierung von Dateien

[Bearbeiten] Nachteile

  • Proprietäres Dateisystem, d.h. die genaue Funktionsweise ist ein Betriebsgeheimnis von Microsoft und ist nur gegen Bezahlung einsehbar
  • NTFS verlangt ein auf Windows NT basiertes Betriebssystem
  • Bedingte Kompatiblität zu DOS & Linux
  • Aufgrund des Sicherheitskonzeptes von NTFS (Sichern/Protokollieren) ist NTFS etwas langsamer als die FAT-Dateisysteme, wie stark sich das ganze auswirkt, ist abhängig von der Rechnerleistung.

[Bearbeiten] Standard-Clustergrößen

Laufwerksgröße Clustergröße
512 MB oder weniger 512 Bytes
513 MB - 1024 MB 1024 Bytes
1025 MB - 2048 MB 2048 Bytes
2049 MB und mehr 4096 Bytes


[Bearbeiten] Zugriff mit Linux

Der Linux-Kernel kann seit Version 2.2.0 NTFS-Laufwerke mounten, allerdings ohne Schreib-Unterstützung. In Linux 2.4 ist ein NTFS-Treiber enthalten, der auch schreiben, dabei allerdings ernsthafte Schäden am Dateisystem anrichten kann. Für die Kernel-Version 2.6 wurde der NTFS-Treiber komplett neu geschrieben (entwickelt von Anton Altapamarkov [1], Cambridge Universität, und Richard Russon) und bietet einen überarbeiteten Schreibsupport.

Ab Kernel 2.6.7 konnten nur schon existierende und nicht schreibgeschützte Dateien sicher geändert oder überschrieben werden, wenn die Dateigröße sich dabei nicht ändert. Das Anlegen oder Löschen von Dateien oder Verzeichnissen wird noch nicht unterstützt.

Seit Kernel 2.6.12 wird die NTFS-Schreibunterstuetzung nicht mehr als experimentell anerkannt.

Derzeit existiert auch ein freies Programmpaket namens Captive, das die Originaltreiber von Windows (XP/2003) einsetzt und ihnen eine Windows-Umgebung simuliert. Dieser Treiber ist folglich hochkompatibel, aber auch langsamer als ein nativer Treiber. Für den legalen Einsatz der Originaltreiber ist eine Windows-Lizenz erforderlich.

Seit Kernel 2.6.15 ist auch das Verändern von Dateien mit Änderung der Dateigröße möglich. Anlegen und Löschen von Dateien wird allerdings noch nicht unterstützt.

Weiterhin gibt es ein kommerzielles Produkt NTFS for Linux 3 von Paragon, das im Linux-Magazin 11/04 vorgestellt wurde.

Mit TestDisk ist es moeglich, Partitionstabellen zu reparieren und Dateien wiederherzustellen.

'Persönliche Werkzeuge