Master File Table

Master File Table
NTFS
Hersteller Microsoft
Vollständige Bezeichnung New Technology File System
Erstveröffentlichung Juli 1993 (Windows NT 3.1)
Partitionskennung 0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Technische Umsetzung
Verzeichnisse B+-Baum
Dateien Bitmap/Extents
Defektblockliste Bitmap/Extents
Maximalwerte
Größe einer Datei 16 TiB in der aktuellen Umsetzung (16 EiB konzeptbedingt)
Anzahl aller Dateien 4.294.967.295 (232-1)
Länge des Dateinamens 255 Zeichen
Größe des Dateisystems 256 TiB in der aktuellen Umsetzung (16 EiB konzeptbedingt)
Erlaubte Zeichen im Dateinamen alle Zeichen außer '\0' (NUL) und '/', Windows verbietet außerdem die folgenden Zeichen \ : * ? " < > und den senkrechten Strich
Eigenschaften
Datumsangaben einer Datei Erzeugung, Änderung, Änderung nach POSIX, letzter Zugriff
Datumsbereich 1. Januar 1601 bis 28. Mai 60056
Forks Unterstützt
Dateiattribute Schreibgeschützt, Versteckt, System-Datei, Archiv
Dateirechte-Verwaltung ACL
Transparente Komprimierung auf Dateiebene, LZ77 (ab Windows NT 3.51)
Transparente Verschlüsselung auf Dateiebene
DESX (ab Windows 2000),
Triple DES (ab Windows XP),
AES (ab Windows XP Service Pack 1, Windows Server 2003)
Unterstützende Betriebssysteme nativ:
Windows NT basierte Betriebssysteme (Windows NT 3.1 bis Windows NT 4.0,
Windows 2000, Windows XP, Windows Server 2003, Windows Vista), Windows 7
andere Betriebssysteme:
über Fremdtreiber (Linux, MS DOS, Windows 9x, Mac OS X),
Einschränkungen: siehe nachstehende Angaben

Microsoft NTFS steht für New Technology File System und ist ein proprietäres Dateisystem von Microsoft für dessen Betriebssysteme Microsoft Windows NT, einschließlich seiner Nachfolger 2000, XP, Server 2003, Vista, Server 2008 und Windows 7.

Im Vergleich zu FAT bietet NTFS unter anderem einen gezielten Zugriffsschutz auf Dateiebene sowie größere Datensicherheit durch Journaling. Allerdings ist seine Kompatibilität nicht so breit gegeben, wie bei FAT.

Inhaltsverzeichnis

Aufbau

NTFS erbte viele Konzepte von IBMs Dateisystem HPFS, das in dem anfangs zusammen mit Microsoft entwickelten Betriebssystem OS/2 verwendet wurde.

Aus Sicht des Dateisystems ist alles Teil einer Datei, auch die Informationen des Systems. Die Hauptdatei ist die Master File Table (MFT). In dieser Datei befinden sich die Einträge, welche Blöcke 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 und Verzeichnisse 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 ein fester Platz reserviert, der nicht von anderen Dateien belegt werden kann. Wenn dieser voll ist, beginnt das Dateisystem freien Speicher vom Datenträger zu benutzen, wodurch es zu einer Fragmentierung der MFT kommen kann. Standardmäßig wird ein reservierter Bereich von 12,5 % der Partitionsgröße angenommen.

Beim Speichern von Metadaten wird ein Journal geführt, das bedeutet, dass eine geplante Aktion zuerst in das Journal geschrieben wird. Dann wird der eigentliche Schreibzugriff auf die Daten ausgeführt und abschließend wird das Journal aktualisiert. Wenn ein Schreibzugriff nicht vollständig beendet wird, zum Beispiel wegen eines Absturzes, muss das Dateisystem nur die Änderungen im Journal zurücknehmen und befindet sich anschließend wieder in einem konsistenten Zustand.

NTFS-Versionen

In seltenen Fällen wird fälschlicherweise die NTFS-Version mit der Version des Betriebssystems gleichgesetzt. Die folgende Liste spiegelt die korrekte Zuordnung zwischen NTFS- und Windows-Version wider:

Unterschiede ab NTFS 1.X (gegenüber FAT)

  • effiziente Speichernutzung bei Partitionen über 400 MiB
  • Metadaten-Journaling: automatische Fehlerkorrektur des Dateisystems (aber nicht der Daten)
  • lange Dateinamen: Dateinamen können im Gegensatz zu FAT16 auch nativ (ohne VFAT) bis zu 255 Zeichen lang sein und aus fast beliebigen Unicode-Zeichen bestehen, wobei allerdings zwischen Groß- und Kleinbuchstaben nicht unterschieden wird.
  • eine maximale Länge des kompletten Pfadnamens von 32.767 Zeichen (dank Unicode), einige Backupprogramme funktionieren jedoch nur bis zu 256 Zeichen.
  • flexible Rechteverwaltung durch Verwendung von ACLs
  • Mechanismen zur fehlertoleranten Datenspeicherung, z. B. „Festplattenspiegelung“
  • Maximale Dateigröße von theoretisch 16 Exbibyte (EiB)
  • Verwendung von Datenträgern mit dynamischer Größe (ohne feste Partitionstabelle)
  • schnelle und effiziente Speicherung von kleinen Dateien (ab Windows NT 3.51 werden standardmäßig 4096 Byte große Cluster verwendet)
  • Speicherung von alternierenden Datenströmen
  • transparente Komprimierung von Dateien (wird, obwohl von Beginn an entwickelt, erst in Version NT 3.51 implementiert und nur bei unverschlüsselten Dateien und Clustergrößen bis 4 kiB unterstützt)

NTFS 2.X

  • Datenverschlüsselung (nur auf Dateiebene)

NTFS 3.X

  • Transparente Dateiverschlüsselung mit EFS (nicht in der Windows XP Home Edition und nur bei unkomprimierten Daten)
  • Kontingente, um den verwendbaren Festplattenplatz für einzelne Nutzer zu beschränken,
  • Analysepunkte (engl. Reparse Point) zur Verknüpfung von Aktionen/Funktionen mit Dateien oder Verzeichnissen,
  • Harte Links: Jede Datei kann von bis zu 1023 Dateinamen referenziert werden (eine Datei, viele Namen),
  • für Dateien mit vielen Leerinhalten werden, wenn sie als Datei mit geringer Datendichte gekennzeichnet sind, nur tatsächlich geschriebene Abschnitte gespeichert.

Analysepunkte

Analysepunkte stellen eine flexible Erweiterung für das Dateisystem dar, indem es Dateisystemeinträge mit Funktionen verknüpft. Diese können auf vielfältige Art verwendet und auch in zukünftigen Versionen erweitert werden. Ein Dateisystemtreiber, der eine bestimmte Art Analysepunkt nicht kennt, führt diesen nicht aus. Beim Zugriff auf einen Analysepunkt werden die funktionsspezifischen Analysedaten dynamisch durch die entsprechende Funktion ausgewertet (daher „Analyse“). Dies impliziert, dass eine solche Analyse auch fehlschlagen kann und ein Zugriff auf die durch den Analysepunkt bereit gestellten Daten (möglicherweise durch aktuelle, vorübergehende Umstände) nicht möglich ist.

Folgende Funktionen werden derzeit von NTFS unterstützt:

  • Bereitstellungspunkte, um logische Datenträger in andere Verzeichnisse einzuhängen.
  • Junction Points, um Verzeichnisse in andere Verzeichnisse einzuhängen.
  • Symbolische Verknüpfungen, um Dateien und Verzeichnisse in andere Verzeichnisse einzuhängen. Diese wurden mit Vista eingeführt und unterstützen anders als die zuvor genannten Analysepunkte auch Verweise zu nicht lokalen Objekten.

NTFS 5.X

Fehlerhafte Sparse-File-Unterstützung

Die bereits in früheren NTFS-Versionen eingeführte Unterstützung so genannter „sparsamer Dateien“ (engl. sparse files) wurde mit der Einführung von Windows Vista und NTFS 5 verändert. Durch einen Fehler in der Implementierung werden Dateien nun immer in der vollen Größe angelegt und nicht in der Größe, den die tatsächlichen Nutzdaten auf dem Datenträger beanspruchen würden.

Transactional NTFS (TxF)

Mit der Einführung von Windows Vista wurde das NTFS-Dateisystem um das Konzept atomarer Operationen erweitert, so genannten Transaktionen. Dieses transaktionsbasierte NTFS (engl. Transactional NTFS; kurz: TxF) ermöglicht es Anwendungen, Dateioperationen atomar auszuführen. Veränderungen am Dateisystem werden also nur dann ausgeführt, wenn die komplette Transaktion erfolgreich durchgeführt werden konnte. Zu einer Transaktion kann dabei eine Einzeloperation oder eine Abfolge von Dateioperationen gehören (beispielsweise das Erzeugen, Löschen oder Umbenennen einer oder mehrerer Dateien bzw. Verzeichnisse).

Transactional NTFS wurde auf Basis des ebenfalls mit Windows Vista eingeführten Kernel Transaction Manager (KTM) implementiert, der Transaktionen auf der Ebene des Betriebssystemkerns ermöglicht. Es erweitert die bereits in vorigen NTFS-Versionen enthaltene Journal-Funktionalität, die sich auf die Integrität der Strukturen des Dateisystems beschränkt, um folgenden Möglichkeiten:

  • Atomare Operationen auf Einzeldateien:
Ein Beispiel hierfür ist das Speichern einer Datei durch eine Anwendung: Kam es bislang während des Schreibvorgangs zu einem Programm- oder Rechnerabsturz, wurde unter früheren NTFS-Versionen nur ein Teil der Daten geschrieben, was zu einer unvollständigen Datei führen konnte. Dies war insbesondere problematisch, wenn eine frühere Dateiversion ersetzt bzw. überschrieben werden sollte – Datenverlust war die Folge.
  • Atomare Operationen, die mehrere Dateien umfassen:
Wenn eine Applikation an mehreren Dateien zeitgleich Veränderungen durchführen muss, können allen notwendigen Dateioperationen in einer Transaktion zusammengefasst und eine Dateninkonsistenz im Falle eines Fehlers vermieden werden.
  • Atomare Operationen über Rechnergrenzen hinweg:
Die Durchführung gleicher Operationen auf mehreren Rechnern ist eine übliche administrative Aufgabe; beispielsweise in einem Rechnerverbund eines Unternehmens. Transactional NTFS interagiert mit dem Distributed Transaction Coordinator (DTC), und stellt sicher, dass Änderungen erfolgreich auf allen beteiligten Rechnern, die Transactional NTFS unterstützen, durchgeführt werden konnten (z. B. die zentrale Synchronisation mehrerer Arbeitsplatzrechner).

Neben Windows Vista wird auch das Microsoft Server-Betriebssystem Windows Server 2008 NTFS 5 und somit Transaktionen unterstützen.

Nachteile

  • Proprietäres Dateisystem, d. h. die genaue Funktionsweise ist ein Betriebsgeheimnis von Microsoft. (Mittlerweile wurde NTFS größtenteils vom Linux-NTFS-Projekt dokumentiert.)
  • Ohne Verwendung von Treibern Dritter auf die Betriebssysteme der Windows NT-Serie beschränkt.
  • Das Bestimmen des tatsächlich belegten Plattenplatzes einer Datei oder eines Verzeichnisses ist mit Windows-Bordmitteln schwierig, da alternative Datenströme, Sparse Files, Hardlinks, Pfade mit mehr als 255 Zeichen, etc. bei der Berechnung nicht berücksichtigt werden.
  • Von Linux aus gibt es derzeit (März 2009) noch keine Möglichkeit, ein beschädigtes NTFS-Dateisystem zu reparieren, d.h. eine regelmäßige Verwendung an einem Linux-Rechner scheidet aus, sofern nicht noch ein zusätzlicher Windows-Rechner zur Verfügung steht, auf dem man ggf. CHKDSK laufen lassen kann.

Versionskompatibilität

  • Windows NT 4.0 hat ab Service Pack 4 einen Treiber für NTFS-3.X-Partitionen.
  • Einzige Aufwärtskompatibilität besteht für Version 3.0 zu 3.1, da die Datenträgerformate identisch sind. Somit kann selbst NT 4.0 noch auf Windows-XP-Partitionen zugreifen, mit Ausnahme des für Windows-Domänencontroller nötigen USN-Journals bei einem Dualbootsszenario auf demselben Rechner.[1]
  • Grundsätzlich sind alle übrigen Versionen von NTFS zu früheren Versionen abwärtskompatibel (spätere Windows-Versionen haben Vollzugriff auf ältere NTFS-Versionen), aber zu späteren Versionen sind sie ohne aktualisierten Treiber nicht aufwärtskompatibel.

Standard-Clustergrößen

Laufwerksgröße  Clustergröße  Sektoren
512 Mebibyte oder weniger 512 Bytes 1
513 Mebibyte - 1024 MiB 1024 Bytes 2
1025 Mebibyte - 2048 MiB 2048 Bytes 4
2049 Mebibyte und mehr 4096 Bytes 8

Zugriff mit Linux

Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Mit allen aktuellen Versionen ist inzwischen vollständiger Schreib- und Lesezugriff möglich.

Kernel-Treiber

Der Linux-Kernel kann seit Version 2.2.0 NTFS-Laufwerke mounten, allerdings ohne Schreibunterstützung. Im Linux-Kernel ab Version 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[2] und bietet eine überarbeitete Unterstützung für Schreibzugriffe.

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-Schreibunterstützung nicht mehr als experimentell bezeichnet.

Ab Kernel 2.6.15 ist auch das Verändern von Dateien mit Änderung der Dateigröße möglich. Anlegen und Löschen von Dateien werden vom NTFS-Kerneltreiber noch nicht unterstützt.

Mit der am 29. September 2007 erschienenen Version 2.0.0 des Kernel-Treibers wurden einige Teile vom User-Mode-Treiber NTFS-3G übernommen. Somit unterstützt der Treiber jetzt vollständigen Lese- und Schreibzugriff, übertrifft laut eigenen Angaben die Leistung von NTFS-3G und ermöglicht außerdem Lesezugriff auf verschlüsselte Dateien[3].

User-Mode-Treiber

Der Entwicklung des NTFS-Kernel-Treibers ging der User-Mode-Treiber voraus. Mit diesem konnte man bereits Dateien und Verzeichnisse sowohl erstellen als auch löschen, als dies im Kernel-Treiber noch nicht funktionierte. Manche Schreiboperationen können zwar fehlschlagen, jedoch kommt es dabei zu keiner Inkonsistenz des Dateisystems. Dieser Treiber basiert auf FUSE und ist somit auch für andere Betriebssysteme mit FUSE-Unterstützung verfügbar.

Eine neue Version des User-Mode-Treibers unter dem Namen NTFS-3G unterstützt vollständige Schreib- und Lesezugriffe. Ausnahmen bilden der Zugriff auf verschlüsselte Dateien, das Erstellen komprimierter Dateien sowie das Verändern von Zugriffs- und Eigentumsrechten.

Die älteste Lösung mit voller Schreibunterstützung ist Captive von Jan Kratochvil, das ebenfalls im Userspace läuft und zum Einbinden der Dateisysteme FUSE nutzt. Captive verwendet, anders als die anderen Lösungen, den Originaltreiber ntfs.sys aus Windows XP, der mit einer Kompatibilitätsschicht umgeben wird. Damit wird eine vollständige Schreibunterstützung erreicht. Der Nachteil dieser Lösung liegt darin, dass sie erhebliche Ressourcen benötigt und verhältnismäßig langsam ist. Zum Einsatz ist darüber hinaus eine gültige Windows-Lizenz erforderlich. Aufgrund der weit fortgeschrittenen Entwicklung von Kernel-Treiber und NTFS-3G dürfte der Einsatz von Captive nur noch in wenigen Spezialfällen erforderlich sein.

Paragon NTFS-Treiber

Weiterhin gibt es ein kommerzielles, proprietäres Produkt NTFS for Linux 3 von Paragon, das im Linux-Magazin 11/04 vorgestellt wurde. Es hatte jedoch in der damaligen Version noch einige Fehler und konnte unter Umständen das Dateisystem beschädigen. Die aktuelle Version scheint diese Fehler nicht mehr zu haben.

Zugriff mit DOS bzw. Windows 95/98/ME

Für DOS-Systeme (z. B. Bootdisketten) kann man beschränkten NTFS-Zugriff erlangen. Das Unternehmen Sysinternals bot Treiber namens NTFSDOS an, der in der kostenlosen Version allerdings nur lesen konnte. Sysinternals wurde im Juli 2006 von Microsoft übernommen. Microsoft hat den NTFSDOS-Treiber daraufhin vom Markt genommen. Das Unternehmen Avira (früher: Datapol) stellt einen kostenlosen NTFS-Treiber für DOS mit Schreibzugriff bereit, dessen Weiterentwicklung aber Ende Januar 2007 eingestellt wurde, unter dem Namen NTFS4DOS (V1.9) aber noch in einigen Softwareverzeichnissen zu finden ist.

Ebenfalls von Sysinternals steht ein Treiber bereit, der lesenden NTFS-Zugriff unter Windows 95 und 98 erlaubt.

Zugriff mit Mac OS X

Mac OS X bietet standardmäßig nur lesenden NTFS-Zugriff. Der Lese-Schreibzugriff kann auch mit dem Tool NTFS-3G realisiert werden. Zudem bietet der Software-Hersteller Paragon mit NTFS for Mac OS X eine Lösung an.

Einzelnachweise

  1. a b Microsoft-Hilfeseite
  2. Entwickelt von Anton Altapamarkov, Universität Cambridge, und Richard Russon
  3. ntfsprogs 2.0.0 release notes

Weblinks

weiterführende Literatur

Software


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Master File Table — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. MFT (англ. Master File Table  «Главная файловая таблица»)  главная файловая таблица (база данных), в которой хранится информация о… …   Википедия

  • Master File Table — En informatique, la Master File Table (MFT, Table de fichiers principale) est l un des composants du système de fichiers de NTFS de Microsoft. Élément principal d une partition NTFS, il s agit du premier fichier présent sur celle ci (son nom… …   Wikipédia en Français

  • master file table —    Abbreviated MFT. In Microsoft Windows 2000, a system file that contains entries for every file and folder on an NTFS volume. The MFT is always the first file on the volume, and for backup purposes, two copies are maintained on each volume …   Dictionary of networking

  • File-Slack — Die Artikel File Slack und RAM Slack überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein erst… …   Deutsch Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

  • Master data management — In computing, master data management (MDM) comprises a set of processes and tools that consistently defines and manages the non transactional data entities of an organization (which may include reference data). MDM has the objective of providing… …   Wikipedia

  • Table of Contents Editor — The Table Of Contents Editor (TOCED) is a programmer and system administrator utility for Unisys mainframe computers of the former UNIVAC 1100/2200 series. TOCED was developed during the late 1970s by Michael E. Darnell, who modeled the program… …   Wikipedia

  • New Technology File System — NTFS Hersteller Microsoft Vollständige Bezeichnung New Technology File System Erstveröffentlichung Juli 1993 (Windows NT 3.1) Partitionskennung 0x07 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6B72699C7 (GPT) …   Deutsch Wikipedia

  • File allocation table — Pour les articles homonymes, voir FAT. FAT, acronyme anglais de file allocation table (table d allocation de fichiers), est un système de fichiers conçu par Bill Gates et Marc McDonald pour le Microsoft Disk BASIC, puis réutilisé dans QDOS dont c …   Wikipédia en Français

  • Computer file management — The term computer file management refers to the manipulation of documents and data in files on a computer. Specifically, one may create a new file or edit an existing file and save it; open or load a pre existing file into memory; or close a file …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”