![NTFS NTFS](/modules/owlapps_apps/img/nopic.jpg)
NTFS ist ein proprietäres Dateisystem von Microsoft für alle Betriebssysteme der Windows-NT-Reihe (ab 1993). Die Abkürzung steht für New Technology File System.
Im Vergleich zum bis in die Windows-9x-Reihe verwendeten Dateisystem FAT bietet NTFS unter anderem einen gezielten Zugriffsschutz auf Dateiebene sowie größere Datensicherheit durch Journaling. Ein weiterer Vorteil von NTFS ist, dass die Dateigröße nicht wie bei FAT auf 4 GiB beschränkt ist. Allerdings ist NTFS für den Datenaustausch nicht so weit verbreitet wie FAT oder dessen moderne Variante exFAT, die einige der Einschränkungen wie das 4-GiB-Limit bei der Dateigröße nicht mehr hat. Derart große Dateien werden beispielsweise beim Erstellen von DVD-Abbildern benötigt. Neben NTFS nutzt Microsoft für einige Einsatzzwecke in seinen Produkten auch das Dateisystem ReFS.
Als die Entwicklung von Windows NT, dem späteren Microsoft Windows NT 3.1 begann, war noch nicht klar, welches Dateisystem das zukünftige Betriebssystem benutzen würde. Zu diesem Zeitpunkt existierten das Dateisystem FAT16, welches von MS-DOS verwendet wurde, und HPFS, das Dateisystem von OS/2. Das Dateisystem FAT war zu diesem Zeitpunkt bereits weit verbreitet, aber nach Ansicht von David Cutler erfüllten sowohl FAT als auch das fortschrittlichere HPFS nicht die Voraussetzungen an Zuverlässigkeit, die er an ein Dateisystem stellte. Das neue Dateisystem musste nach seiner Ansicht in der Lage sein, beschädigte Dateien automatisch wiederherzustellen. Zudem hatten beide Dateisysteme Beschränkungen in der maximalen Dateigröße und -anzahl, und es war zu erwarten, dass das neue Betriebssystem in Zukunft größere Datenmengen verwalten würde. Die Entwicklung eines dritten Dateisystems drohte allerdings den Zeitplan des Betriebssystems zu gefährden.
So begann zunächst die Spezifikationsphase des neuen Dateisystems. Unter FAT16 waren Dateinamen auf das 8.3-Format beschränkt. Diese Namen waren durch die erzwungene Kürze oft kryptisch und darüber hinaus schwer zu merken. HPFS unterstützte zwar Dateinamen, die bis zu 255 Zeichen lang sind, aber ältere DOS- oder Windows-Programme konnten solche Dateien nicht sehen. NTFS sollte dieses Problem lösen, indem jeder lange Dateiname automatisch eine Kurzform erhielt, durch welche die Datei auch von älteren Anwendungen bearbeitet werden konnte.
Die Entwicklung des neuen Dateisystems stand jedoch auf wackeligen Beinen. Der April 1991 hätte beinahe das Aus für NTFS bedeutet, als sich mehrere Entwickler dafür aussprachen, die Entwicklung dieses Dateisystems aus Zeitgründen zu beenden. Erst als Cutler, der sich zu dieser Zeit im Urlaub befand, zurückkehrte und die Wiederaufnahme der Entwicklung anordnete, gingen die Arbeiten weiter. Im Februar 1992 begann die Testphase des neuen Dateisystems. Erst im Oktober 1992 war das Dateisystem stabil genug für eine Implementierung.
NTFS erbte viele Konzepte des Dateisystems HPFS von IBM, das in dem anfangs zusammen mit Microsoft entwickelten Betriebssystem OS/2 verwendet wurde, geht aber in einigen Aspekten weit darüber hinaus.
Im Gegensatz zu Inode-basierten Dateisystemen, welche bei Unix zum Einsatz kommen (Konzept: alles ist eine Datei), werden bei NTFS alle Informationen zu Dateien in einer Datei (Konzept: alles ist in einer Datei), der Master File Table, kurz MFT gespeichert. In dieser Datei befinden sich die Einträge, welche Blöcke zu welcher Datei gehören, die Zugriffsberechtigungen und die Attribute. Zu den Eigenschaften (Attributen) einer Datei gehören unter NTFS Dateigröße, Datum der Dateierstellung, Datum der letzten Änderung, Freigabe, Dateityp und 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. Es existieren 4 Stadien des Dateiwachstums.
Beim Formatieren der Festplatte wird für die MFT ein fester Platz reserviert, der nicht von anderen Dateien belegt werden kann. Wenn dieser Bereich mit Informationen komplett gefüllt ist, beginnt das Dateisystem freien Speicher vom Datenträger zu benutzen, wodurch es zu einer Fragmentierung der MFT kommen kann. Standardmäßig wird ein Bereich von 12,5 % der Partitionsgröße für die MFT reserviert.
Beim Speichern von Metadaten wird ein Journal geführt, was bedeutet, dass eine geplante Aktion zuerst in das Journal geschrieben wird. Erst 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, braucht das Dateisystem nur die Änderungen im Journal zurückzunehmen und befindet sich anschließend wieder in einem konsistenten Zustand.
Die folgende Liste spiegelt die Zuordnung zwischen NTFS- und Windows-Version wider:
Die Unterschiede gegenüber FAT sind:
Analysepunkte (englisch auch reparsepoint genannt) 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 – so etwa über den Befehl fsutil
verwaltet – 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 bereitgestellten Daten (möglicherweise durch aktuelle, vorübergehende Umstände) nicht möglich ist.
Folgende Funktionen werden derzeit von NTFS unterstützt:
Mit der Einführung von Windows Vista wurde das NTFS-Dateisystem um das Konzept atomarer Operationen (Transaktionen) erweitert. Dieses transaktionsbasierte NTFS (englisch Transactional NTFS; kurz: TxF) ermöglicht es Anwendungen, Dateioperationen atomar auszuführen. Veränderungen am Dateisystem werden also nur dann ausgeführt, wenn die gesamte 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 Kernels 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 folgende Möglichkeiten:
Windows unterstützt Transaktionen ab Windows Vista bzw. Windows Server 2008. Mittlerweile empfiehlt Microsoft allerdings den Einsatz von Alternativen, die API muss damit als deprecated betrachtet und von einem Einsatz abgeraten werden.
Je nach Größe des Laufwerks werden folgende Standard-Clustergrößen vergeben:
„nicht unterstützt (MBR)“ = Der Master Boot Record unterstützt nur Laufwerke bis 2 Tebibyte, darüber hinaus wird die GUID Partition Table verwendet, welche erst ab Windows 2000 und von Computern mit Extensible Firmware Interface unterstützt wird.
Für DOS-basierte Betriebssysteme, zu denen auch die Betriebssysteme Windows-9x-Reihe zählen, existieren Treiber wie NTFS4DOS, die einen vollständigen Zugriff auf NTFS-Laufwerke ermöglichen. Linux sowie einige BSD-Variante inklusive macOS unterstützten über User-Mode-Treiber NTFS-3G vollständigen Lese- und Schreibzugriff, Lesezugriff auf verschlüsselte Dateien und die Formatierung von Datenträgern in NTFS. Mit Linux-Kernel-Version 5.15 fügte Paragon seinen Treiber in den Hauptzweig ein. macOS kann ab Version 10.3 NTFS-Dateisysteme lesen, aber nicht schreiben. In Version 10.6 (Snow Leopard) wurde eine versteckte Schreibfunktionalität gefunden, die aber nicht offiziell freigegeben ist.
Owlapps.net - since 2012 - Les chouettes applications du hibou