NTFS FAQ (Häufig gestellte Fragen)

English Italian Japanese Vietnamese German Simplified Chinese French Spanish Brazilian Traditional Chinese Russian

Diese FAQ ist Teil des Linux NTFS Projekts.
Die aktuellste Version kann auf
ntfs.html heruntergeladen werden.

Wenn Sie Fragen über NTFS haben, die nicht in dieser FAQ beantwortet werden oder Sie etwas über diese FAQ loswerden möchten, schreiben Sie bitte an linux-ntfs-dev@sourceforge.net

Die deutsche Übersetzung wurde von
Gerald Able <linux-ntfs@gerald-able.de> und
Holger Ohmacht <linux-ntfs@holger-ohmacht.de> erstellt.

Inhalt

Legende

** - sehr häufig gestellte Frage
!! - interessantes Detail
NB - Achtung! Genau lesen!

 Befehle oder Ausgabe

1. allgemeine NTFS Fragen

  1.1 Was ist NTFS?
  1.2 Ist NTFS besser als FAT/FAT32?
  1.3 Sollte ich NTFS benutzen (oder darauf umstellen)?
!! 1.4 Ist NTFS in jeder Windows-Version identisch?
  1.5 Wo sind die Grenzen von NTFS?

2. NTFS Dateisystems

  2.1 Wie lese ich 'n NTFS Dateisystem in Windows 95/98/ME oder DOS?
  2.2 Wie konvertiere ich 'n FAT in 'n NTFS Dateisystem?
!! 2.3 Wie konvertiere ich 'n NTFS in 'n FAT Dateisystem?
  2.4 Wie lösche ich 'n NTFS Dateisystem?
  2.5 Wie defragmentiere ich 'n NTFS Dateisystem?
** 2.6 Wie ändere ich die Größe eines NTFS Dateisystems?

3. Linux und NTFS

!! 3.1 Welche Versionen von NTFS kann Linux lesen?
** 3.2 Kann der Treiber auch auf 'n NTFS Dateisystem schreiben?
  3.3 Welche Merkmale von NTFS unterstützt Linux?
  3.4 Was sollte ich tun, wenn etwas schief läuft?
** 3.5 Wie füge ich die NTFS Unterstützung für Linux hinzu?
  3.6 Welche Version ist die Beste?
  3.7 Welche andere Tools gibt's von uns?
  3.8 Wie wurde der Linux NTFS Treiber geschrieben?
  3.9 Wem danken wir?

4. NTFS Dateisystem mounten

  4.1 Kann ich 'n NTFS Dateisystem mounten?
  4.2 Wie sicher ist der NTFS Treiber?
  4.3 Welche Partition sollte ich benutzen?
  4.4 Welche Version des NTFS Treibers habe ich?
!! 4.5 Wie mounte ich 'n NTFS Dateisystem?
  4.6 gebräuchliche Mount-Optionen
  4.7 Mount-Optionen für den original Treiber
  4.8 Mount-Optionen für den neuen Treiber
** 4.9 Wie ändere ich die Rechte für 'n gemountetes NTFS Dateisystem?
!! 4.10 Wie mounte ich 'n NTFS Dateisystem automatisch?

5. Betriebssystem-Lader (BootLoader) einstellen

  5.1 Wie kann ich meinen Computer dazu bringen, neben Linux auch NTFS zu laden?
  5.2 Wie benutze ich lilo?
  5.3 Wie benutze ich grub?

6. Linux Distributionen

  6.1 Welche Distributionen unterstützen NTFS von Haus aus?
  6.2 Warum unterstützt RedHat kein NTFS?
  6.3 Warum hängt sich RedHat auf, wenn ich 'n NTFS Dateisystem ansprechen will?
  6.4 Installieren sich irgendwelche Distributionen auf NTFS?

7. Der neue Linux NTFS Treiber

  7.1 Was macht den neuen NTFS Treiber aus?
  7.2 Sollte ich ihn benutzen?
  7.3 Wie benutze ich ihn?
  7.4 Was ist'n Patch?
  7.5 Was, wenn ich's immer noch nicht raffe?
  7.6 Wann wird der neue Code im Linux Kernel sein?
  7.7 Könnten wir nicht 'nen Wrapper für den Windows Treiber schreiben?

Zurück an den Anfang


1. allgemeine NTFS Fragen

1.1 Was ist NTFS?

NTFS ist 'ne Abkürzung für New Technology Filesystem. NT, weil's ursprünglich bei Windows NT benutzt wurde. Ein Dateisystem ist die Art, wie der Computer die Dateien auf der Festplatte ablegt. Die verschiedenen Betriebssysteme benutzen dazu verschiedene Systeme.

NTFS wird von Windows NT, 2000 und XP benutzt.

Zurück an den Anfang

1.2 Ist NTFS besser als FAT/FAT32?

Teils, teils. Einerseits ist es um einiges stabiler, unterstützt Unicode Dateinamen (d.h. Dateinamen mit sprachabhängigen Sonderzeichen), angemessene Sicherheitseinstellungen, Kompression und Verschlüsslung. Das Hauptproblem ist aber, daß es nur von Windows NT, 2000 oder XP gelesen werden kann, d. h. man kann keine DOS Boot Diskette benutzen, um dann die Daten auf 'ner NTFS Partition lesen zu können.

Wie immer gibt's auch zu dieser Regel 'ne Ausnahme: Linux hat seit Dezember 1997 'nen Treiber für NTFS. Zusätzlich gibt's ein Programm, mit dem man die NTFS Unterstützung für DOS nachrüsten kann (siehe Abschnitt 2.1)

Zurück an den Anfang

1.3 Sollte ich NTFS benutzen (oder darauf umstellen)?

Nein, nicht unbedingt! Es hängt davon ab, ob Sie nur unter Windows 2000, XP usw. arbeiten oder ob noch andere Betriebssysteme (insbesondere ältere, wie z.B. BeOS oder andere, nicht-so-populäre Betriebssysteme) auf Ihre Daten zugreifen sollen. Im letzterem Fall sollten Sie dann doch das alte Dateisystem FAT von Win9x/ME verwenden, da es immer noch das am meißten unterstützte Dateisystem ist. Sollten Sie die Wahl zu NTFS getroffen haben, gibt's aber kein zurück mehr - da man NTFS Partitionen nicht zurück zu FAT konvertieren kann (siehe Abschnitt 2.3)

NB Dies bedeutet nicht, daß NTFS zwingend für Windows NT vorgeschrieben ist - Sie können auch auf 'nem FAT16/32 Dateisystem und Windows 2000 oder XP auch auf 'nem FAT32 Dateisystem installieren, wobei diese Partitionen sehr einfach auf NTFS umgestellt werden können!

(Anm.: Das Beste wäre es jedoch, wenn Sie Ext3 als Hauptdateisystem unter Windows XP verwenden könnten - es ist stabiler, schneller, Open-Source und besitzt besseres Journaling)

Zurück an den Anfang

1.4 Ist NTFS in jeder Windows-Version identisch?

Nein. Sie sehen alle ähnlich aus, aber neuere Versionen haben mehr Funktionen. Windows 2000 zum Beispiel hat Quotas (Festplattenkontingente).

NTFS Windows Version
v1.2 NT 3.51, NT 4
v3.0 2000
v3.1 XP

Version 1.2 wird manchmal auch als 4.0 bezeichnet.
Version 3.0 und 3.1 werden manchmal als 5.0 und 5.1 bezeichnet.

Zurück an den Anfang

1.5 Wo sind die Grenzen von NTFS?

NTFS unterstützt Dateien mit 'ner maximalen Größe von 263 Bytes. NTFS Dateisysteme können bis zu 263 Cluster mit jeweils 64 KiBytes groß sein. Damit ergibt sich 'ne Grenze von ungefähr 500 Trillionen Gigabytes für NTFS.

Zurück an den Anfang


2. NTFS Dateisystems

2.1 Wie lese ich ein NTFS Dateisystem in Windows 95/98/ME oder DOS?

Das geht leider nicht! Diese Windows-Versionen unterstützen nur FAT. NTFS kann nur von Windows NT, 2000 oder XP gelesen werden.

Nichtsdestotrotz kann man - mit etwas Arbeit - 'ne Reihe von Tools von SysInternals verwenden. "NTFS for Windows 98" und "NTFSDOS" erlauben es, NTFS innerhalb Windows 95, 98 und DOS zu lesen. Wenn Sie auch bereit sind, kommerzielle (d.h. bezahlte) Software zu verwenden, gibt's auch Versionen die auf NTFS schreiben können...

Zurück an den Anfang

2.2 Wie konvertiere ich ein FAT in 'n NTFS Dateisystem?

Öffnen Sie die Eingabeaufforderung im Start-Menü und tippen Sie folgendes ein (dabei ist x: mit dem richtigen Laufwerksbuchstaben zu ersetzen)

    convert x: /fs:ntfs
    

Wenn das Laufwerk gerade verwendet wird, findet die Umstellung beim nächsten Reboot statt.

NB Dieses Kommando ist nicht mehr rückgängig zu machen! Siehe auch den nächsten Punkt der FAQ.

Zurück an den Anfang

2.3 Wie konvertiere ich 'n NTFS in ein FAT Dateisystem?

Darauf gibt's 'ne einfache Antwort: Es geht nicht. Wobei es 'ne Ausnahme gibt - sofern man kommerzielle (bezahlte) Software verwenden möchte. Partition Magic, erhältlich von norton.com kann zwischen verschiedenen Dateisystemen konvertieren, darunter auch NTFS und FAT.

Zurück an den Anfang

2.4 Wie lösche ich 'n NTFS Dateisystem?

Dies hängt davon ab, welches Betriebssystem man verwendet: Bei DOS, Windows 95/98/ME ist dies das Kommando fdisk. Verwenden Sie 'ne selbsterstellte Boot-Disk (Siehe Systemeinstellungen), oder gehen Sie in die Kommandozeile in den DOS-Modus - dann starten Sie fdisk.Wenn Sie mehr als 'ne Diskette besitzen, wählen Sie zuerst diese.

Verwenden Sie 'ne Boot-Diskette oder gehen Sie innerhalb von Windows in den DOS Modus bz. Kommandozeile (irgendwo im Start-Menü). dann tippen Sie

fdisk D:

ein für die zweite Partition (fdisk E: für die dritte usw.). Dann wählen Sie "delete a non dos partition". Aber seien Sie vorsichtig: Es kann Ihre Linux Partition sein!

Windows NT: Systemeinstellungen

Windows 2000, XP: Klicken Sie im Desktop auf Icon "Arbeitsplatz" und Wählen Sie dann mit der rechten Maustaste die gewünschte Festplatte (D, E usw.) aus, gehen auf Menüpunkt "Formatieren" und schon können Sie entscheiden, welches Dateisystem für die Partition verwendet werden soll!

NB  ACHTUNG: ES SOLLTEN KEINE WICHTIGEN DATEN MEHR AUF DER ZU LÖSCHENDEN PARTITION SEIN - ANSONSTEN IST ALLES FUTSCH!

Zurück an den Anfang

2.5 Wie defragmentiere ich'n NTFS Dateisystem?

Nach 'ner gewissen Zeit der Verwendung werden die Dateien auf 'ner NTFS-Partition ziemlich zerstückelt zerspeichert (weil halt nicht immer der gleiche Speicherplatz auf der Festplatte wiederverwendet werden kann). Von Sicht des Benutzers ändert sich insofern so nichts, da die Daten der Dateien ja gleich bleiben. Trotzdessen wird der aufmerksame Windows-Benutzer irgendwann feststellen, daß sein Rechner immer langsamer arbeitet - denn der Lese-Schreibkopf in der Festplatte selber muß sich immer mehr bewegen. Dieses Zerstückeln nennt man Fragmentierung einer Datei. Nun kamen findige Entwickler auf die Idee, diese Fragmentierung durch Neuanordnung der Dateien auf der Festplatte zu bekämpfen: Die Defragmentierung.

Alle Windows Versionen seit 3.1 haben daher schon 'n Defragmentierungsprogramm eingebaut. Für Windows NT gibt's 'ne Reihe von freien Programmen, die diese Arbeit durchführen: z.B. Diskeeper Lite (http://diskeeper.com)

Zurück an den Anfang

2.6 Wie ändere ich die Größe 'ner NTFS Partition?

Bis noch vor kurzem war's sehr teuer, 'ne NTFS-Partition im Nachhinein zu ändern, da die entsprechenden Programme kommerziell vertrieben wurden und eben entsprechend nicht billig waren. Jetzt aber gibt's unser Tool ntfsresize, welches zwar noch im experimentellen Stadium ist, aber durchaus verwendet werden kann:

NB - ABER BITTE VORHER DIE NTFS PARTITION ENTWEDER MIT ntfsclone ODER MIT partimage SICHERN!

Für mehr Infos: ntfsresize FAQ.

Ein kommerzielles Programm, daß die NTFS Partition im Nachhinein ändern kann: Partition Magic von: http://powerquest.com

Zurück an den Anfang


3. Linux und NTFS

3.1 Welche Versionen von NTFS kann Linux lesen?

Der LINUX-Treiber kann alle Versionen von NTFS lesen - trotzdessen, daß jede Version leicht verschieden ist und der Treiber nur die Dateien und Verzeichnisse zu interpretieren hat. Alle Indexes, die NTFS unterstützt, können ruhig ignoriert werden.

Irgendwann einmal - sobald der Treiber komplett ist - wird er auch schreibend auf 'ne NTFS-Volume zuzugreifen

!!An dieser Stelle 'n Aufruf an alle Programmierer: Wir brauchen EURE Unterstützung.

Die Funktionalität wird dann von der NTFS-Version abhängig sein.

Zurück an den Anfang

3.2 Kann der Treiber auch auf 'n NTFS Dateisystem schreiben?

Leider Nein bzw. nicht wirklich. Wenn Sie nur Dateien von Linux nach Windows auf 'nem Computer (der diesen beiden Betriebssysteme installiert hat) kopieren wollen, empfehlen wir Ihnen den Abschnitt "Wie schreibt man auf 'ne NTFS Partition" zu lesen. Nachfolgend versuchen wir Ihnen 'nen Weg zu beschreiben, der dieses Manko ausgleicht (Schreibzugriff unter Linux):

Zur Zeit gibt's zwei Treiber. Der Originaltreiber 2.4 besitzt 'ne begrenzte Fähigkeit, 'nen Schreibzugriff durchzuführen - aber es ist sehr gefährlich, ihn auf wirklich wichtige Daten oder auf besondere Dateien in NTFS (Verschlüsselte oder kompriminierte) "loszulassen"!

Der neue Treiber, der bei 2.5.11 eingeführt wurde, besitzt genauso Code für den Schreibzugriff, aber seine Fähigkeit ist ebenfalls sehr begrenzt. Er kann zwar existierende Dateien überschreiben, aber deren Länge nicht ändern - und leider auch nicht neue Dateien erstellen oder schon existente löschen.

Dem Treiber die komplette Funktionalität hinzuzufügen wird noch 'ne ganze Weile dauern, da NTFS wie 'ne Datenbank aufgebaut ist und jegliche Änderung, die Sie an 'ner Stelle durchführen, Änderungen an sehr vielen anderen Stellen zur Folgen haben muß - nur damit das Dateisystem nicht instabil wird. 'n kleiner Fehler bzw. daß Vergessen einer dieser Modifikationen - und Schwupps: schon ist das ganze Dateisystem hin - samt Daten. Hinzukommt, daß viele von uns (die Entwickler von Linux NTFS) dieses Projekt als Hobby ansehen - und ihre spärliche Freizeit dafür opfern! Daher also: Helfen Sie uns: linux-ntfs-dev@sourceforge.net

Wie kann man schreibend auf NTFS zugreifen: Nun, wenn Sie nicht warten wollen und 'nen Computer verwenden, auf dessen Festplatte die zwei Betriebssysteme Windows und Linux installiert sind - und nur Dateien transferieren wollen, empfehlen wir Ihnen, irgend 'n Freeware- oder kommerzielles Windows-Tool zu verwenden, daß von Windows aus schreibend auf die Ext2/3 Partition zugreift.

Wir selber kennen derzeit folgende Windows Open-Source-Tools/Treiber für den Zugriff auf Linux Ext2/Ext3 Partitionen: (Stand 4. Juni 2003):

Zurück an den Anfang

3.3 Welche Merkmale von NTFS unterstützt Linux?

NTFS unterstützt 'ne breite Palette an Features - aber leider nur wenige können vom derzeitigen Linux NTFS Treiber imitiert werden. Zur Zeit unterstützt der Treiber Unicode Dateinamen (konvertiert in den lokal güötigen Zeichensatz/Codepage oder auch UTF8), komprimierte als auch "Sparse" Dateien.

Hingegen ist es nicht möglich, verschlüsselte Dateien zu lesen - Er ignoriert die Windows-Sicherheitsinformationen und die Quotas, die durch Windows gesetzt wurden.

Zurück an den Anfang

3.4 Was soll ich tun, wenn was schief läuft?

Der Treiber sollte eigentlich im Nur-Lese-Modus ausgereift sein - aber wie bei jeder Software ist es unmöglich, alle Fälle durchzutesten. Falls irgendetwas schief läuft, so bitten wir Sie, nicht gleich uns mit 'ner gerichtlichen Klage zu drohen (z.B. wenn wichtige Daten gelöscht wurden), sondern uns dabei zu helfen, den Fehler zu finden. Sowieso sollten/müssen Sie IMMER (wenn möglich) 'n Backup der NTFS Partition VORHER machen (z.B. ntfsclone oder partimage)!

Daher bitte mailen Sie Uns (d.h. das Entwickler-Team) unter linux-ntfs-dev@lists.sourceforge.net und schreiben Sie, welche Version des Treibers Sie gerade verwenden, die Linux-Version (Befehl: uname -a in der Kommandozeile), dieVersion von NTFS (Win NT, 2K oderr XP) und auch die derzeitige Rechnerkonfiguration (Prozessor, Festplatte, Mainboard etc.).

Zusätzlich wären die Logs (/var/log/messages) sehr hilfreich!

Danke!

Zurück an den Anfang

3.5 Wie füge ich die NTFS Unterstützung für Linux hinzu?

Die Vielzahl derjenigen User, die auf Linux umgestiegen sind, möchten bzw. können noch nicht den Kernel bzw. alles kompilieren, nur um die NTFS Unterstützung zu erhalten - daher beinhaltet fast jede Linux-Distribution den NTFS-Treiber.

Wenn Sie RedHat 9 (Codename: Shrike), 8.0 (Psyche) or 7.3 (Valhalla) verwenden, können Sie die Unterstützung durch die Installation der RPM-Datei erhalten (für mehr Informationen, schauen Sie mittels Befehl "man rpminst" in der Kommandozeile oder im Web nach).

Haben Sie 'ne ältere Version von RedHat bzw. irgend'ne andere Distribution, dann müssen Sie leider in den sauren Apfel beißen und den Kernel neu compilieren. Dies wär eigentlich nicht so schwierig, als es sich anhört - aber noch sind einige Fehler in den Makefiles (d.h. Bescheibungen, wie der Kernel kompiliert werden soll), so daß der Versuch nicht immer glückt. Aber probieren geht über studieren - Daher schauen Sie mal auf der Compile Seite für mehr Details nach...

Zurück an den Anfang

3.6 Welche Version ist die Beste?

Die neueste Version des Treiber sollte eigentlich die Beste sein, da sie meistens fehlerbereinigt und optimiert wurde - jedoch können Wir nicht immer Inkompatibilitäten zu der Linux-Version ausschliessen, die Sie gerade verwenden. Auch hier gilt wieder: Probieren geht über Studieren. Der neueste Treiber ist 2.5.11 und höher - aber auch durch 'n Patch kann man den 2.4. Treiber wieder auf den neuesten Stand bringen.

Zurück an den Anfang

3.7 Welche Tools/Hilfsprogramm gibt's denn?

Zu diesen Zeitpunkt gibt's einige Hilfsprogramme, die die Arbeit mit NTFS unter Linux, vereinfachen. An dieser Stelle möchten wir Ihnen insbesondere folgende Tools, die wir entwickelt haben, vorstellen:

ntfsundelete Es stellt gelöschte Dateien auf NTFS wieder her (und das kostenlos!)
ntfsclone Hiermit kann man die Partition perfekt kopieren
ntfswipe Löscht wirklich sicher NTFS Bereiche
ntfsresize Ändert die Größe einer NTFS-Partition im nachhinein

Aber wie schon gesagt, die höchste Priorität haben Wir auf die Weiterentwicklung des Treibers (Erhalt des Schreibzugriffs) gelegt.

Zurück an den Anfang

3.8 Wie wurde der Linux NTFS Treiber geschrieben?

Wie Sie sicherlich wissen, ist Microsoft sarkastisch gesagt "säähr Auskunftsfreudig" in Sachen "technisches Innenleben von Windows" - nähmlich überhaupt nicht (Auf der anderen Seite verdienen die ja Geld damit) - So das es überhaupt nur durch Herumpfrimeln und extrem zeitaufwendiger Untersuchung einer NTFS-Partition möglich war, den Treiber zu Entwickeln (auch Reverse-Engineering genannt!) - hier nochmal die Schritte:

  1. Wir nahmen uns 'ne Partition vor und betrachteten Sie uns mittels 'nes Hex-Editors,
  2. führten 'ne Operation durch (z.B. Löschen einer Datei),
  3. schauten uns diese Partition wieder an, um die Änderungen zu festzuhalten,
  4. klassifizierten und beschrieben die Änderungen in Dokumenten und
  5. wiederholten die Schritte 1-5

Natürlich verwendeten wir auch das Kommando "diff", welches die Unterschiede zweier Dateien (hier Partitionen) protokolliert. Aber nun können Sie wenigstens verstehen, wie hart und zermürbend die Arbeit war! Vorteil: Dafür wissen WIR jetzt FAST ALLES über NTFS - und wollten dieses Wissen auch nicht hinter'm Berg halten - daher die Seite ../ntfs/index.html

Tatsächlich war es einfacher den Treiber zu schreiben als die Information zu erhalten!

Zurück an den Anfang

3.9 Wem sollen Sie danken?

Zuerste sollten Sie Herrn Martin von Löwis danken, der dem NTFS Treiber 1995 schrieb. Der Treiber wurde dem Linux Kernel anno Dezember 1997 (2.1.74) hinzugefügt. Martin wurde zudem von folgenden Geeks unterstützt:

Albert Cahalan, Anton Altaparmakov, Damon Casale, David Dillard, Domagoj Pensa, Joseph Malicki, Matthew Fanto, Olof Wolgast, Rani Assaf, Régis Duchesne, Richard Russon, Steve Dodd, Werner Seiler.

Dann sollten Sie auch Herrn Anton Altaparmakov danken, der daß Projekt mit viel Enthusiasmus weiterführte und am Leben hielt. Zu 'ner Zeit, wo daß Projekt fast am erliegen war, übernahm er den Code und verbesserte Ihn. Dann ging er allmählich dazu über, ihn von Grund-auf neu zu entwickeln. Dabei wurde er von folgenden Geeks unterstützt::

Pawel Kot, Richard Russon.

Zurück an den Anfang


4. NTFS Dateisystem mounten

4.1 Kann ich 'n NTFS Dateisystem mounten?

Natürlich - der Treiber versteht alle Versionen von NTFS

Zurück an den Anfang

4.2 Wie sicher ist der NTFS Treiber?

Wie schon erwähnt, sollte der Treiber im Nur-Lese-Modus sicher sein, da er keinerlei Änderungen an der Partition vornimmt (aber Fehlverhalten durch irgendwelche Inkompatibilitäten können Wir leider nicht ausschliessen). Zusätzlich ist der neue Treiber SMP-sicher (Symmetric Multi Processing - Mehrfach-Prozessor-Fähig).

Zurück an den Anfang

4.3 Welche Partition sollte ich benutzen?

Unter Linux werden die ersten beiden, im Computer installierten, IDE-Festplatten bekanntlich hda respektive hdb angesprochen - und hdc bzw. hdd für die dritte bzw. vierte Festplatte (Üblicherweise ist in den meißten PCs hdc ein DVD- oder CD-Laufwerk/Brenner). SCSI Laufwerke (z.B.in 'nem Server) werden als sda, sdb, usw. angesprochen.

Der einfachste Weg ist die Verwendung des Befehls :

    fdisk -l
    

in der Kommandozele, um zu sehen, ob 'ne NTFS-Partition im System vorhanden ist. Die Bildschirmausgabe sollte dann ähnlich folgend sein:

    Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
    Units = cylinders of 4032 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
       /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
       /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
       /dev/hda5   *      2126      4209   4201312+  83  Linux
       /dev/hda6          4210      4465    516064+  82  Linux swap
    

Zurück an den Anfang

4.4 Welche Version des NTFS Treibers habe ich?

Wenn Sie 'nen Linux-Kernel der Version 2.5.*, 2.5.0-2.5.10 besitzen, so haben Sie höchstwahrscheinlich den Original-NTFS-Treiber. Bei Kernel-Versionen größer als 2.5.11 ist es der neueste

Am besten ist es, in den Kernel-Logdateien nach der NTFS log Mitteilung zu schauen. Dazu geben Sie eines der folgenden Befehle in der Kommandozeile ein:

    dmesg | grep -i ntfs
    grep -i ntfs /var/log/messages
    

Der Original-Treiber ist Version 1.1.*, der Neue 2.*.

Zurück an den Anfang

4.5 Wie mounte ich 'n NTFS Dateisystem?

Zuerst ist es sinnvoll, zu überprüfen, ob der Kernel NTFS unterstützt. Der folgendee Befehl listet alle Dateisysteme, die verstanden werden. Wenn Sie irgendwo die Zeichenfolge ntfs lesen sind Sie auf der glücklichen Seite:

    cat /proc/filesystems
    

Als nächstes brauchen Sie irgendein Verzeichnis, in das die NTFS-Partition eingehängt werden kann - dann können Sie mounten:.

    mkdir /mnt/windows
    mount /dev/hda1 /mnt/windows -t ntfs -r
    

NB Um die Zugriffsrechte des ge-mounteten Dateisystem zu Ändern, schauen Sie in umask option innerhalb Sektion 4.6 nach.Wenn Sie die NTFS-Partition nach jedem Neustart sofort zugriffsbereit haben mlchten, so schauen lesen Sie bitte Sektion 4.10.

Wenn Sie auf die NTFS-Partition nicht mehr zugreifen möchten/wollen, benutzen Sie eines der folgenden Kommandos:

    umount /mnt/windows
    umount /dev/hda1
    

NB Das Kommando heißt umount

Zurück an den Anfang

4.6 Gebräuchliche Mount-Optionen

Die folgenden Mount-Optionen sind gleich für beide Versionen des Treibers. Wir empfehlen außerdem die man-page (man mount) zu lesen. Die allgemeine Form ist:


    mount gerät verzeichnis [optionen]
    

Zusätzliche Parameter der -o Option des Mount-Befehls können angegeben werden - entweder mehrfach mit jeweils -o davor - oder als ein gesamter Parameter getrennt durch Kommas. Daher sind folgende Befehle in der Wirkung gleich:

    mount /dev/hda1 /mnt/windows -o X -o Y -o Z
    mount /dev/hda1 /mnt/windows -o X,Y,Z
    
-t ntfs
Spezifiert das zu verwendende Dateisystem. Diese Option ist eigentlich nicht nötig, da mount intern einen Scan-Modus enthält, der das entsprechende Dateisystem automatisch erkennt:
-r
Mounted die Partition im Nur-Lese Modus. Normalerweise versucht mount die Partition im Schreib-Lese-Zugriff einzuhängen (Was meistens aufgrund von möglichen eingedrungenen Hackern etc. nicht empfehlenswert ist) - sofern nicht durch diese Option ausgedrücklich gewünscht.
-o ro
dasselbe wie Option -r.
-o umask={WERT}
Die voreingestellten Zugriffsrechte auf 'ner NTFS-Partition sind rwx------ (D.h. nur Root kann Dateien lesen, schreiben und ausführen - aus Sicherheitsgründen). Der umask Parameter kontrolliert nun diese Zugriffsrechte. Dazu mehr in Sektion 4.9.

 

    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0555
    
Der oben gezeigte Befehl erlaubt nun allen (auch Root) NUR den Lese und Ausführzugriff
-o uid={USERID}
Normalerweise gehört 'ne NTFS-Partition und deren Dateien nach dem mounten (einhängen) dem Eigner Root. Wenn man nun den uid Parameter angibt, kann man den Eigner ändern. Als UserId kann man jeden aus /etc/passwd nehmen, oder irgendeine Nummer, die diesen neuen Eigner eindeutig kennzzeichnet
.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
    
-o gid={GROUPID}
Wie zuvor für den Eigner bzw. UserId beschrieben kann man ähnlich dazu auch die Gruppe ändern - die ebenfalls auf Gruppe Root voreingestellt ist.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
    

Zurück an den Anfang

4.7 Mount-Optionen für den Original-Treiber

Erstmal finden Sie bitte heraus welchen Treiber Sie gerade benutzen (Sektion 4.4). Dieser Abschnitt behandelt die Mount-Optionen des Original-Treibers. Alle anderen Optionen werden in Sektion 4.6.behandelt.

Einige Optionen verwenden als Parameter 'nen boole'schen Wert an, d.h. true (wahr) oder false (falsch):
Man kann nun true durch 1 und false durch 0 ersetzen (bitte nicht die deutschen Bezeichnungen verwenden!)

-o iocharset={NAME}

NTFS speichert alle Datein- und Verzeichnisnamen in Unicode, 'nem 16 (bzw. 32) Bit Zeichensatz, der alle auf der Welt verwendeten Schriftzeichen enthält.(im Gegensatz zum allseits bekannten ASCII, der nur 8 Bit und damit nur verschiedene 256 Zeichen darstellt). Somit können auch chinesische, japanische, russische etc. Benutzer ihre Dateien bzw. Verzeichnisse so benennen, wie sie's gerne möchten. Der Linux NTFS-Treiber konvertiert (als Voreinstellung) die Zeichen in den 8 Bittigen ASCII-Zeichensatz, was zwar dann sehr lustig aussieht, aber die Dateien (und ggfs.das gesamte Terminal) unlesbar macht. Daher sollte man diese Option eigentlich immer mit angeben - auch wenn's mehr Tipperei ist!

NLS (Native Language Support, zu deutsch etwa muttersprachliche Unterstützung) kontrolliert nun, wie die Zeichen angezeigt werden. Sie können nun utf8 verwenden, welcher, analog zu Unicode, ebenfalls alle Zeichen repräsentiert oder Ihre eigene "Codepage", z.B. iso8859-1 (West Europa), iso8859-2 (Zentral Europa), gb2312 (vereinfachte, chinesische Schriftzeichen), iso8859-8 (Hebräisch). Für mehr Informationen dazu, geben Sie einfach "Unicode Zeichsatz" in 'ner Internet-Suchmaschine ein. Folgend sind einige Beispiele angegeben:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312
    
utf8=true

Sollte Ihr Kernel nicht utf8 unterstützen, können Sie diese Option verwenden, damit der Treiber utf8 unterstützt. Sie sollten - wann immer möglich - die Option -o iocharset=utf8 verwenden!.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=true
    
-o posix={BOOL}

Windows behält die Groß-/Kleinschreibung von Datei- und Verzeichnisnamen, aber es unterscheidet NICHT dazwischen - d.h. MyFileName ist GLEICH zu myfilename. Was daraus folgt, wenn Sie den Namen "MyFileName" zum löschen einer Datei verwenden, wird myfilename gelöscht (und umgekehrt)

Linux hingegen UNTERSCHEIDET zwischen Groß- und Kleinschreibung, so das myfilename 'ne andere Datei ist als MyFileName. Soll nun Linux innerhalb des Zugriffs auf eine NTFS-Partition sich gleich zu Windows verhalten, so müssen Sie die posix auf true (bzw. 1) setzen.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true
    
-o show_sys_files={BOOL}

Wenn diese Option auf true gesetzt ist, werden die NTFS Dateisystem Metadaten sichtbar. Ansonsten muß man sie explizit angeben, um sie zu sehen: ls -l \$MFT zum Darstellen der Master File Table

NB Aufrgund 'ner Restriktion der glibc (einer Bibliothek zum Erstellen/Ausfrühren des NTFS-Treibers) wird die $MFT nicht in Listings erscheinen, da ihre Inode-Nummer 0 ist.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true
    

Zurück an den Anfang

4.8 Mount-Optionen für den neuen Treiber

Erstmal finden Sie bitte heraus welchen Treiber Sie benutzen (Sektion 4.4). Dieser Abschnitt behandelt die Mount-Optionen des NEUEN Treibers. Alle anderen Optionen werden in Sektion 4.6.behandelt.

Einige Optionen verwenden als Parameter 'nen boole'schen Wert an, d.h. true (wahr) oder false (falsch):
Man kann nun true durch 1 und false durch 0 ersetzen (bitte nicht die deutschen Bezeichnungen verwenden!)

-o nls={NAME}

NTFS speichert alle Datein- und Verzeichnisnamen in Unicode, 'nem 16 (bzw. 32) Bit Zeichensatz, der alle auf der Welt verwendeten Schriftzeichen enthält.(im Gegensatz zum allseits bekannten ASCII, der nur 8 Bit und damit nur verschiedene 256 Zeichen darstellt). Somit können auch chinesische, japanische, russische etc. Benutzer ihre Dateien bzw. Verzeichnisse so benennen, wie sie's gerne möchten. Der Linux NTFS-Treiber konvertiert (als Voreinstellung) die Zeichen in den 8 Bittigen ASCII-Zeichensatz, was zwar dann sehr lustig aussieht, aber die Dateien (und ggfs.das gesamte Terminal) unlesbar macht. Daher sollte man diese Option eigentlich immer mit angeben - auch wenn's mehr Tipperei ist!

NLS (Native Language Support, zu deutsch etwa muttersprachliche Unterstützung) kontrolliert nun, wie die Zeichen angezeigt werden. Sie können nun utf8 verwenden, welcher, analog zu Unicode, ebenfalls alle Zeichen repräsentiert oder Ihre eigene "Codepage", z.B. iso8859-1 (West Europa), iso8859-2 (Zentral Europa), gb2312 (vereinfachte, chinesische Schriftzeichen), iso8859-8 (Hebräisch). Für mehr Informationen dazu, geben Sie einfach "Unicode Zeichsatz" in 'ner Internet-Suchmaschine ein. Folgend sind einige Beispiele angegeben:

 
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312
    
-o fmask={VALUE}
-o dmask={VALUE}

Der umask Parameter ändert ja die Zugriffsrechte auf Dateien und Verzeichnisse (Siehe Sektion 4.6, zur Erinnerung). fmask funktioniert ähnlich auf Dateien und dmask auf Verzeichnisse. Die beiden Optionen können nun kombiniert werden:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222
    
-o case_sensitive={BOOL}

Windows behält die Groß-/Kleinschreibung von Datei- und Verzeichnisnamen, aber es unterscheidet NICHT dazwischen - d.h. MyFileName ist GLEICH zu myfilename. Was daraus folgt, wenn Sie den Namen "MyFileName" zum löschen einer Datei verwenden, wird myfilename gelöscht (und umgekehrt)

Linux hingegen UNTERSCHEIDET zwischen Groß- und Kleinschreibung, so das myfilename 'ne andere Datei ist als MyFileName. Soll nun Linux innerhalb des Zugriffs auf 'ne NTFS-Partition sich gleich zu Windows verhalten, so müssen Sie die posix auf true (bzw. 1) setzen.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false
    
-o sloppy={BOOL}

Üblicherweise wird der Treiber jeglichen Mount-Versuch abbrechen bzw. verhindern, sobald irgendeine der Optionen inkorrekt (bzw. falsch angegeben) ist. Mit Angabe dieser Option (den man als "Sei nicht so streng" übersetzen könnte) wird der Treiber falsche Optionen ignorieren:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false
    
-o errors={VALUE}

Mit dieser Option kann bestimmt werden, wie der Treiber sich zu verhalten hat, wenn'n Problem beim Zugriff auf 'ne NTFS-Partition auftritt. Die Voreinstellung ist "Versuch's nochmal und dann weiter" was continue entspricht. Jeglicher Fehler wird verzeichnet und beim nächsten Zugriff übersprungen. Die Alternative dazu ist "Versuch's nochmal und versuche, etwas wiederherzustellen) was recover entspricht. Zur Zeit kann der Treiber aber nur den BootSektor durch 'ne Kopie wiederherstellen:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue
    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover
    

Zurück an den Anfang

4.9 Wie ändere ich die Rechte für 'n gemountetes NTFS Dateisystem?

Es gibt drei Optionen die die Zugriffsrechte und Besitzverhältnisse auf/von Dateien und Verzeichnissen kontrollieren: umask, uid und gid. Sie wurden in Sektion 4.6 schon behandelt.

Folgend einige Beispiele und wie sie sich auf Dateien und Verzeichnisse auswirken:.

    mount /dev/hda1 /mnt/windows -t ntfs -r
    

umask ist 'n Filter für Zugriffsrechte und es arbeitet konträr zum Kommandozeilenbefehl chmod. Volle Zugrifssrechte (Lesend, Schreibend und Ausführend) für ALLE werden durch 777 (rwxrwxrwx) angegeben. Eine umask von 0222 (-w--w--w-) hinterläßt 0555 (r-xr-xr-x) als Zugriffsrechte.

Die voreingestellte umask ist 0077, aus Sicherheitsgründen:

    mount ... -o umask=0277

    -r-x------ 1 root    root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o umask=0222

    -r-xr-xr-x 1 root    root    28096 Aug 24 1996 chkdsk.exe
    

Soweit die Dateien und Verzeichnisse 'nen Eigentümer und Gruppe haben, kann man uid und gid Option verwenden:.

    mount ... -o uid=flatcap

    -r-x------ 1 flatcap root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o gid=winuser

    -r-x------ 1 root    winuser 28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o uid=flatcap,gid=winuser

    -r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Und zum Schluss kombinieren wir einige der zuvor genannten Optionen für'ne genaue Angabe des Zugriffs: Folgend erlauben wir dem User flatcap volle Zugriffsrechte, die Gruppe winuser hat nur Lesezugriff und alle anderen Personen und Gruppen gar keinen:

    mount ... -o umask=0027,uid=flatcap,gid=winuser

    -rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Zurück an den Anfang

4.10 Wie mounte ich 'n NTFS Dateisystem automatisch?

Wenn Sie daß mit dem mount-Kommando mal verstanden haben, können Sie nun Linux derart konfigurieren, daß es bei jedem Systemstart die NTFS-Partition automatisch mounted (einhängt): Einfach durch's Hinzufügen 'ner Zeile am Ende der Datei fstab im Verzeichnis /etc!

Folgend einige Beispiele dafür und deren Equivalent als mount Befehl:.
NB Beachten Sie nicht die 0 0 am Ende

    mount /dev/hda1 /mnt/windows -t ntfs -r

    /dev/hda1 /mnt/windows ntfs ro                                    0 0
    

Hier haben wir -r durch -o ro ersetzt (gleiche Wirkung).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

    /dev/hda1 /mnt/windows ntfs ro,umask=0222                         0 0
    
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser

    /dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0
    

Zurück an den Anfang


5. Betriebssystem-Lader (BootLoader) einstellen

5.1 Wie kann ich meinen Computer dazu bringen, neben Linux auch NTFS zu laden?

Wenn Sie die von Linux gestellten Betriebssystem-Lader grub und lilo verwenden, können Sie sie nun derart ändern (Siehe dazu man-Seiten), daß Sie wählen können, welches Betriebssystem der Computer laden soll.

Zurück an den Anfang

5.2 Ja, und wie benutze ich lilo?

Verwenden Sie lilo als Betriebssystem-Lader, so fügen Sie folgende Zeilen (mittels Texteditor oder mc) der Datei lilo.conf im Verzeichnis /etc hinzu und tippen dann lilo in der Kommandozeile ein (+Enter)

    other = /dev/hda1
        table = /dev/hda
        label = Windows
    

Zurück an den Anfang

5.3 Und wenn ich grub als Bootlader habe?

Dann müssen Sie grub.conf im Verzeichniss /boot/grub/ ändern:

    title Windows
        root (hd0,0)
        makeactive
        chainloader +1
    

Entsprechend der grub Festplatten-Nummerierung ist /dev/hda gleich hd0, hdb gleich hd1, usw. Die Partitonsnummerierung startet bei Null. Daher ist hda1 gleich hd0,0, und hdc4 gleich hd2,3.

Zurück an den Anfang


6. Linux Distributionen

6.1 Welche Distributionen unterstützen NTFS von Haus aus?

Folgende Linux-Dirstributionen unterstützen NTFS: Mandrake, Debian, SuSE, Gentoo, und Caldera

Tatsächlich gibt's wieder 'ne Ausnahme - und das gerade aus'm Land des Open Source: RedHat!.

Zurück an den Anfang

6.2 Warum unterstützt RedHat kein NTFS?

Das würd'mer auch gerne wissen - es scheint wieder irgend so'n rechtliches Problem zu sein ;-)

Zurück an den Anfang

6.3 Warum hängt sich RedHat auf, wenn ich 'n NTFS Dateisystem ansprechen will?

Überprüfen Sie die Kernel-version mittels Kommandozeilenbefehl uname -a. Ist die Version gleich oder niedriger als 2.4.9 dann wird's spätestens jetzt Zeit für 'nen neuen Kernel. Schauen Sie auf der RedHat Website für mehr Info's

Wenn Sie ganz mutig sind, können Sie ja mal versuchen, den Kernel selbst zu kompilieren. Lesen Sie dazu Sektion 3.5.

Zurück an den Anfang

6.4 Installieren sich irgendwelche Distributionen auf NTFS?

Bis jetzt noch nicht. Phat Linux kann sich auf 'ne FAT Partition innerhalb Windows installieren - und dann sich selbst von diesen Dateien booten. Der neue Treiber kann dies auch - aber nur mit'nem paar Tricks!

Zurück an den Anfang


7. Der neue Linux NTFS Treiber

7.1 Was macht den neuen NTFS Treiber aus?

Er ist komplett neugeschrieben worden. Der alte bzw. Original-Treiber wurde über mehrere Jahre geschrieben, so daß sich viel unsinniges angesammelt hat bzw. Wir manchmal nicht mehr so richtig durchschauten (Hallo Richard, why didn't you make a Structogramm?) Zudem hatten wir nicht das Wissen von heute - So ist der neue Treiber einfacher, schneller und besser zu ändern!

Zurück an den Anfang

7.2 Sollte ich ihn benutzen?

Nein, Sie müssen nicht, da der alte noch funktioniert bzw. für die täglichen Anwendungen ausreicht!

Zurück an den Anfang

7.3 Wie benutze ich ihn?

Wir veröffentlichen den neuen Treiber als Patch (Aussbesserung) im offiziellen Linux Kernel Quelltext.

../downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4/

Zurück an den Anfang

7.4 Was ist 'n Patch?

Ein Patch (zu deutsch etwa: Ausbesserung) ist 'n Paket bzw. Satz von Änderungen für 'ne Anzahl von Textdateien. Wir benutzen diese Ausbesserungen als Ersatz für's dauernde Neuveröffentlichen des Kernel-Quelltexts. So patchen wir einfach den Kernel-Quelltext

Sobald Sie die Quelltexte entpackt haben, gehen Sie mittels Kommandozeilenbefehl cd in's Quelltextverzeichnis und benutzen den Befehl (bitte path und patchname in die jeweiligen Namen ändern):

    patch -p1 < path/to/patchname
    

Dies wird den Quelltext ändern - und es sollte keine Fehler geben. Wenn Sie nun den Kernel compilieren, sind die Änderungen mitdrin!

Zurück an den Anfang

7.5 Was ist, wenn ich's immer noch nicht raffe?

Na ja - Wir versuchen jeden zu helfen aber auch wir MÜSSEN zumindest essen, arbeiten, schlafen etc. Es gibt glücklicherweise (für Sie und auch für Uns ;-) einige Seiten, in denen Grundkenntnisse über Linux vermittelt werden - und ausserdem gibt's mit Sicherheit irgendwo 'ne Linux-Gruppe (oder 'n Linux Guru) in Ihrer Nähe:

Hier'n paar englische Seiten:

Also wenn Sie möchten, schicken Sie 'ne Mail an uns

Zurück an den Anfang

7.6 Wann wird der neue Code im Linux Kernel sein?

Derzeit werden zwei Kernels ins Auge gefaßt: Der neue Treiber ist bereits im Entwicklungskernel, d.h. er wurde in 2.5.11 eingeführt

Der derzeitig verwendete, stabile Kernel ist Version 2.4.20 - besitzt aber noch den alten Treiber. Wir sind glücklich mit dem neuen Treiber, aber wir müssen erstmal die Ober-Gurus (Alan Cox, Linus Torvalds etc.) davon überzeugen, ihn zu übernehmen.

Solange dies nicht geschehen ist, können wir nur häufige Patches veröffentlichen.

Zurück an den Anfang

7.7 Könnten wir nicht 'nen Wrapper für den Windows Treiber schreiben?

Das hört sich zwar toll und einfach an - ABER wie so oft im Leben steckt der Teufel im Detail!

Das Hauptproblem ist das Einfügen der Windows System DLLs in das Virtuelle Datei System (VFS) von Linux. Das könnte zwar realisiert werden, aber 's würde als innerer Teil des Kernels laufen, wodurch 'ne sehr große Gefahr des unvorhergesehenen Systemabsturzes bestände - und so gefährlich, daß bei Verwendung von Ext2 für Linux Partition wichtige Daten verloren gingen ggfs. auch auf der NTFS Partition! Also ohne Quelltext der DLLs ist dies eher unmöglich bzw. zu gefährlich.

Der zweite Punkt ist die Kompatibilität: Welche Version der Windows System DLLs sollten wir verwenden? (zumal die Einsprungspunkte/Parameter der Funktionen sich bei jeder Windows-Version änderten)

Der dritte Punkt ist sind die rechtlichen Bestimmungen bei der Verteilung von Windows System Dateien. Wie schon zuvor erwähnt, ist Microsoft ziemlich "bösartig": kaum auskunftsfreudig und noch mehr klagefreudig, wenn es um die nicht-autorisierte Verwendung von Windows-Systemteilen geht! Wir könnten's zwar versuchen, aber die Chancen, als Open-Source Gemeinde mit Microsoft zu kooperieren - in Zeiten, in denen Linux ein sehr ernstzunehmender Konkurrent zu Windows geworden ist - sind extrem gering!

Also wiederum: Nein!

Zurück an den Anfang