Captive (Dateisystem)
# Captive (Dateisystem)

Captive ist ein von Jan Kratochvil entwickeltes freies Programmpaket, mit dem es um 2005 erstmals möglich wurde, unter Linux auf das proprietäre Dateisystem NTFS sicher schreibend zuzugreifen. Dies erreichte Captive durch die Einbindung des originalen Treibers ntfs.sys von Windows XP.

Captive wird seit Januar 2006 nicht mehr weiterentwickelt und wird dank ausgereifter Alternativen auch nicht mehr benötigt.

## Hintergrund

NTFS ist das Standard-Dateisystem der Microsoft-Betriebssysteme der NT-Reihe. Die Spezifikationen von NTFS sind nicht öffentlich zugänglich. Obwohl Linux-Entwickler seit 1995 versucht haben, NTFS-Treiber zu schreiben, dauerte es über zehn Jahre, bis dieses Unterfangen mit NTFS-3G erfolgreich verwirklicht wurde. Als dieses Ziel erreicht war, wurde die Entwicklung von Captive-NTFS folgerichtigerweise aufgegeben.

## Vor- und Nachteile

Captive NTFS stellte zum ersten Mal die Möglichkeit bereit, uneingeschränkt und sicher auf NTFS-Dateisysteme zuzugreifen. Es hatte jedoch einen äußerst hohen Bedarf an Arbeitsspeicher. Die Zugriffe wurden zudem durch die Emulation einer Windowsumgebung erheblich verlangsamt.

Für die Nutzung des Microsoft-Treibers, der nicht Teil von Captive war und nachgeladen werden musste, war wie beim normalen Einsatz von Windows eine Windows-Lizenz erforderlich.

## Implementierung

Captive NTFS umging die Probleme des Linux-eigenen NTFS-Treibers, indem es den originalen Treiber ntfs.sys aus Microsoft Windows XP in einer Sandbox laufen ließ. Mit Hilfe von Komponenten des freien Windows NT-Nachbaus ReactOS entwickelte Jan Kratochvil eine Kompatibilitätsschicht, die dem Treiber eine Windows-Umgebung vortäuschte und ihn so nutzbar machte. Transparenter Zugriff auf das Dateisystem (also ein aus Sicht von Programmen und Benutzern unmittelbarer Zugriff, der sich nicht von dem auf native Dateisysteme unterscheidet) wurde ermöglicht, indem diese Software mit Hilfe des Userland-Dateisystems FUSE in den Kernel eingebunden wurde.

## Alternativen

Im Laufe des Jahres 2005 hat das Linux-NTFS-Projekt eine weitgehende Unterstützung von NTFS erreicht. So können, mit bestimmten Einschränkungen, mittlerweile Dateien neu angelegt, gelöscht und in ihrer Größe verändert werden. Diese Funktionen werden allerdings nur nach und nach in den Linux-Kernel integriert.

Die weitergehenden Funktionen, die in den vom Linux-NTFS-Projekt herausgegebenen Bibliotheken implementiert sind, lassen sich über die Hilfsprogramme ntfsmount (Paket ntfstools) sowie NTFS-3G nutzen, die ihrerseits auf FUSE (Filesystem in Userspace) zurückgreifen, um Partitionen im Dateisystem verfügbar zu machen. NTFS-3G ist das neuere der beiden Programme und weist nur noch auf die unterschiedliche Architektur von Windows und Linux bezogene Einschränkungen auf.

Eine kommerzielle Alternative ist NTFS for Linux von Paragon Software. 2021 stellte Paragon einen NTFS-Treiber quelloffenen unter die GPL. Als ntfs3 wurde der rund 27.000 Zeilen umfassende Quelltext in den Linux-Kernel aufgenommen und steht dort seit Kernel-Version 5.15 für interessierte Nutzer zur Verfügung.

