Aufbau des NTFS Dateisystems und die Masterdateitabelle

Aufbau des NTFS Dateisystems und die Masterdateitabelle

Datenspeicherung aber wie?

Das NTFS-Dateisystem (New Technology File System) ist das standardmäßige Dateisystem, das von Windows-Betriebssystemen verwendet wird, insbesondere seit Windows NT. Es wurde entwickelt, um eine Reihe von Verbesserungen gegenüber älteren Dateisystemen wie FAT (File Allocation Table) zu bieten, darunter eine verbesserte Zuverlässigkeit, Sicherheit und Unterstützung für größere Volumen und Dateien.

Aufbau des NTFS-Dateisystems und die Masterdateitabelle

Aufbau des NTFS Dateisystems und die Masterdateitabelle

NTFS ist komplexer und fortschrittlicher als frühere Dateisysteme. Hier sind die wichtigsten Komponenten und Strukturen, die das NTFS-Dateisystem ausmachen:

  1. Boot-Sektor:
    • Enthält grundlegende Informationen über das Dateisystem, wie die Größe des Volumens, die Clustergröße und den Startpunkt der Master File Table (MFT).
    • Der Bootsektor wird auch als Volume Boot Record (VBR) bezeichnet und befindet sich in den ersten Sektoren des Volumens.
  2. Master File Table (MFT):
    • Die MFT ist das Herzstück des NTFS-Dateisystems und enthält eine Liste aller Dateien und Verzeichnisse auf dem Volumen. Jede Datei oder jedes Verzeichnis im NTFS wird durch einen Eintrag in der MFT repräsentiert.
    • Jeder Eintrag in der MFT hat eine feste Größe (normalerweise 1 KB) und enthält Informationen über die Datei, wie ihren Namen, ihre Sicherheitsattribute, Zeitstempel und vor allem die Zeiger auf die Datenblöcke (Cluster), in denen die Datei gespeichert ist.
  3. Dateiattribute:
    • Im Gegensatz zu einfacheren Dateisystemen wie FAT, bei denen Dateien als eine einfache Liste von Clustern verwaltet werden, behandelt NTFS jede Datei als eine Sammlung von Attributen.
    • Zu diesen Attributen gehören z.B. der Dateiname, die Sicherheitsinformationen (ACLs), die Zeitstempel und die tatsächlichen Daten der Datei. Diese Attribute sind in den MFT-Einträgen gespeichert.
  4. Dateidaten:
    • Kleine Dateien können direkt in einem MFT-Eintrag gespeichert werden (sogenannte „resident data“). Für größere Dateien, deren Daten nicht vollständig in den MFT-Eintrag passen, speichert NTFS die Daten in separaten Clustern auf dem Datenträger, und der MFT-Eintrag enthält dann Verweise auf diese Cluster („non-resident data“).
  5. Verzeichnisse:
    • Verzeichnisse werden ähnlich wie Dateien behandelt. Sie haben ebenfalls Einträge in der MFT und enthalten Listen von Dateien und anderen Verzeichnissen.
  6. B-Tree-Struktur:
    • NTFS verwendet B-Bäume, um die MFT-Einträge und andere Metadaten effizient zu organisieren und zu indizieren. Dies ermöglicht eine schnelle Suche und Zugriffe auf Dateien.
  7. Journal:
    • NTFS ist ein „journaling“ Dateisystem, was bedeutet, dass es ein Transaktionsprotokoll führt, das als Log-Datei bezeichnet wird. Diese Datei hilft, das Dateisystem nach einem unerwarteten Ausfall, wie einem Stromausfall, wiederherzustellen, indem unvollständige Transaktionen identifiziert und rückgängig gemacht oder wiederholt werden.
  8. Sicherheitsattribute:
    • NTFS integriert Sicherheit auf Dateiebene durch die Verwendung von Access Control Lists (ACLs). Diese ermöglichen die detaillierte Kontrolle, welche Benutzer oder Gruppen Zugriff auf welche Dateien und Verzeichnisse haben.

Master File Table (MFT) im Detail

Die MFT ist der Kernbestandteil von NTFS. Jeder MFT-Eintrag ist ein Datensatz, der eine Datei oder ein Verzeichnis beschreibt. Die MFT speichert die gesamte Struktur und die Metadaten des Dateisystems.

  • MFT-Einträge: Jeder MFT-Eintrag ist genau 1 KB groß. Ein MFT-Eintrag besteht aus:
    • Einer Kopfzeile, die Informationen wie den Eintragstyp und den Zustand der Datei enthält.
    • Einem Attribut, das die Laufwerksposition der Datei speichert, falls die Datei „non-resident“ ist.
    • Verschiedenen anderen Attributen, wie dem Dateinamen, dem Zeitstempel und den Sicherheitsinformationen.
  • Dateiverwaltung: Wenn eine Datei erstellt wird, wird ein neuer MFT-Eintrag für diese Datei angelegt. Wenn die Datei wächst und mehr Platz benötigt, wird der MFT-Eintrag aktualisiert, um die neuen Speicherorte der Datei zu reflektieren.
  • MFT-Spiegelung: NTFS erstellt eine Kopie der ersten vier Einträge der MFT am Ende des Volumens, um eine gewisse Fehlertoleranz zu gewährleisten.

Fazit

Das NTFS-Dateisystem ist ein hoch entwickeltes, robustes Dateisystem, das viele fortschrittliche Features bietet, wie das Journaling, Sicherheit auf Dateiebene, effiziente Dateiverwaltung und Unterstützung für sehr große Dateien und Volumen. Die Master File Table (MFT) spielt dabei eine zentrale Rolle, indem sie als Katalog und Kontrollpunkt für alle Dateien und Verzeichnisse im Dateisystem fungiert.