NTFS
NTFS steht für Network Terminal 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.
Im Vergleich zu FAT bietet NTFS u.a. einen gezielten Zugriffsschutz auf Dateiebene durch vollständige Unterstützung von Access Control Lists.
Aktuell ist NTFS v5, wobei die 5 nicht für die Version, sondern die Zugehörigkeit zu Windows NT 5 (auch bekannt unter dem Namen Windows 2000) bzw. zu Windows XP (NT 5.1) signalisiert.
Vorteile
- effiziente Speichernutzung bei Partitionen über 2000 MB
- Journaling-Dateisystem: automatische Fehlerkorrektur und Datenwiederherstellung nach Abstürzen
- lange Dateinamen: Dateinamen können im Gegensatz zu FAT16 mehr als 12 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 TB abzüglich der Blockgröße von 64 KB
- 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
NTFS5
- Daten- und Datenträgerverschlüsselung mit EFS (nicht für XP Home Edition)
- Kontingente (auch: Disk Quota) um den verwendbaren Festplattenplatz für einzelne Nutzer zu beschränken
- Analysepunkte (engl. Reparse Point) zur Verknüpfung von Aktionen/Funktionen mit Dateien und Verzeichnissen, z.B. für
- Hardlinks: Dateien können bis zu 1023 mal gespiegelt werden
- NTFS Junction Points bzw. Softlinks um Verzeichnisse, Partitionen oder Laufwerke in andere Verzeichnisse einzublenden (Mounten, Symlinks bei Unix/Linux). NTFS Junction Points können nur auf lokale Ressourcen verweisen, nicht auf Freigaben anderer Rechnern. Das ist nur mit DFS Junction Points möglich
- Remote Storage Server
- Für Dateien mit vielen Leerinhalten werden – wenn als Sparse File gekennzeichnet – nur die bereits geschriebenen Abschnitte gespeichert
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
- NTFS erlaubt Alternative Datenströme (ADS) in denen versteckt Dateien abgelegt werden können und somit auch eine Gefahr darstellen.
- Hohe Fragmentierung. Mit der Zeit können NTFS-Partitionen - insbesondere bei heutigen Plattengrößen - sehr schnell fragmentieren. Microsoft liefert zwar ein Defragmentierungsprogramm mit, das aber bei starker Fragmentierung keine nennenswerte Defragmentierung mehr schafft. Selbst bei wiederholten Versuchen, die Partitionen zu defragmentieren, stellt sich nur eine unwesentliche Besserung ein. Hier muss der Anwender auf Produkte von Drittherstellern zurückgreifen, die auch sehr stark fragmentierte NTFS-Partitionen (z.B. 90% Fragmentierung) sicher defragmentieren können und mehr Funktionen bieten als das eher primitive Defragmentierungsprogramm, das Microsoft Windows mitliefert. (Siehe hierzu auch "Defragmentierprogramme für NTFS", c't 21/05.)
NTFS5
Windows NT 4.0 kann NTFS5-Partitionen erst ab Service Pack 4 lesen.
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 |
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. Allerdings können zum jetzigen Zeitpunkt (Kernel 2.6.7) 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. Ab Kernel 2.6.12 wird die NTFS-Schreibunterstützung nicht mehr als experimentell anerkannt. Derzeit existiert auch eine alternative Implementierung namens Captive, die die Originaltreiber von Windows (NT/2000/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.
Des Weiteren gibt es ein kommerzielles Produkt NTFS for Linux 3 von Paragon oder http://www.ntfs-linux.com/linux-magazin.htm (wurde im Linux Magazin 11/04 vorgestellt).
Zugriff mit DOS
Für DOS-Systeme (z.B. Bootdisketten) kann man beschränkten NTFS-Zugriff erlangen. Die Firma Sysinternals bietet Treiber namens NTFSDOS an, der in der kostenlosen Version allerdings nur lesen kann. Einen kostenlosen NTFS-Treiber für DOS mit Schreibzugriff stellt das deutsche Unternehmen Datapol bereit NTFS4DOS.