Schreibzugriff auf NTFS-formatierte USB-Sticks
Inhalt
- Einleitung
- Kernelkonfiguration
- NTFS-Formatierung
- Zugriff auf den NTFS-formatierten Stick
- Weiterfürende Informationen
1. Einleitung
Die Kapazität von USB-Sticks hat mittlerweile die 8GB-Marke erreicht - damit lassen sich nun ganze DVDs auf einem USB-Stick transportieren. Einen Haken hat das ganze aber: Normalerweise sind USB-Sticks FAT32-formatiert, FAT32 kann aber keine Dateien größer als 4GB schreiben, damit passt eine 4,7GB große CD gerade nicht in eine Datei.
Will man seinen USB-Stick ausschließlich unter Linux verwenden, schafft eine Formatierung im ext3-Format leicht Abhilfe. Und sogar für Windows gibt's ja einen ext3-Treiber.
Aber Hand auf's Herz, auf den meisten Windows-Systemen, mit denen wir es zu tun bekommen,
werden wir diesen Treiber nicht vorfinden. Deshalb bietet sich als Alternative möglicherweise
NTFS an, dessen Unterstützung unter Linux große Fortschritte gemacht hat. Dieser
kleine Artikel beschäftigt mit sich der Frage, wie man einen NTFS-formatierten USB-Stick
unter Linux nutzen kann.
2. Kernelkonfiguration
Um überhaupt auf NTFS-formatierte Datenträger zugreifen zu können, muss im Kernel NTFS Write Support und Filesystem in Userspace Support eingeschaltet werden. Kernel, die die Linux-Distributoren mitliefern, sollten die besagte Unterstützung bereits bieten. Benutzen Sie allerdings einen selbstkompilierten Kernel, muss die entsprechende Unterstützung bei der Kernelkonfiguration eingeschaltet werden:
# make menuconfig
File systems ---> | <M> Filesystem in Userspace support | | CD-ROM/DVD Filesystems ---> | | DOS/FAT/NT Filesystems ---> | +-------------------------------------------------+ | <M> MSDOS fs support | | <M> VFAT (Windows-95) fs support | | (437) Default codepage for FAT | | (iso8859-1) Default iocharset for FAT | | <*> NTFS file system support | | [ ] NTFS debugging support | | [*] NTFS write support | +-------------------------------------------------+
# make && make modules_install
Der neue Kernel wird dann nach /boot kopiert, grub.conf bzw.
lilo.conf müssen entsprechend angepasst werden. Falls Sie ein
initrd-Image zum Booten benötigen, sollte dies
sicherheitshalber auch noch einmal neu geschrieben werden. Benutzen Sie
LILO als Bootmanager, muss lilo nach den Änderungen einmal ausgeführt
werden.
3. NTFS-Formatierung
Der USB-Stick sollte mit einem aktuellen NTFS-Format beschrieben werden, um ihn unter Linux gut nutzen zu können. Formatiert man den Stick allerdings unter Windows, wird er im Format der Version 1.2 formatiert - deshalb sollten wir die Formatierung lieber Linux überlassen. Dazu verwenden wir mkntfs:
# mkntfs -Q -L LARGEUSB /dev/sda1
Mit der Option »-L LARGEUSB« verpassen wir dem Dateisystem ein Label LARGEUSB, das wir später beim Einhängen anstelle der eigentlichen Partition angeben können (s.u.)
Die verwendete NTFS-Version läßt sich mit ntfsinfo feststellen:
# ntfsinfo -q -m /dev/sda1 | grep -i version Volume Version: 3.1
4. Zugriff auf den NTFS-formatierten Stick
Mit dem Standard-NTFS-Treiber im Kernel erhalten wir nur begrenzt schreibenden Zugriff auf NTFS-Dateisysteme. Deshalb wollen wir hier den im Userspace untergebrachten ntfs-3g-Treiber verwenden. Dazu geben wir als root-Benutzer an der Befehlszeile ein:
# mount -t ntfs-3g /dev/sda1 /media/memory0
Nunmehr sollten wir Dateien größer 4 GB auf den Stick kopieren können. Natürlich wollen wir die obige Zeile nicht jedesmal händisch eingeben, wenn wir auf unseren USB-Stick zugreifen wollen, deshalb verankern wir die Mountoptionen in der Datei /etc/fstab:
LABEL=LARGEUSB /media/memory0 ntfs-3g noauto,user,uid=0,gid=10,umask=002 0 0
Es sei angemerkt, dass ohne weitere Mountoptionen alle NTFS-Partitionen für alle
Welt beschreibbar werden. Das kann für den persönlichen Rechner durchaus
in Ordnung sein, dennoch schränkt der obige fstab-Eintrag Schreibzugriffe
auf die Gruppe wheel (GID=10 unter Slackware) ein.
5. Weiterfürende Informationen