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.
- sehr
häufig gestellte Frage
- interessantes
Detail
- Achtung!
Genau lesen!
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? |
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? |
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.
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)
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)
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)
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.
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.
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...
Ö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.
Dieses Kommando ist nicht mehr rückgängig zu machen! Siehe auch den nächsten Punkt der FAQ.
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.
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!
ACHTUNG: ES SOLLTEN KEINE WICHTIGEN DATEN MEHR AUF DER ZU LÖSCHENDEN PARTITION SEIN - ANSONSTEN IST ALLES FUTSCH!
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)
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:
- 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
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.
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):
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.
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!
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...
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.
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.
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:
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!
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.
Natürlich - der Treiber versteht alle Versionen von NTFS
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).
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
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.*.
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
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
Das Kommando
heißt umount
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
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0555
mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
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
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
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
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
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
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!)
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
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
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
Ü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
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
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
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:.
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
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.
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
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.
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!.
Das würd'mer auch gerne wissen - es scheint wieder irgend so'n rechtliches Problem zu sein ;-)
Ü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.
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!
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!
Nein, Sie müssen nicht, da der alte noch funktioniert bzw. für die täglichen Anwendungen ausreicht!
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/
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!
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
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.
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!
Copyright © flatcap (Richard Russon) |