GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
25. Juli 2008

Schreibzugriff auf NTFS-formatierte USB-Sticks

Inhalt

  1. Einleitung
  2. Kernelkonfiguration
  3. NTFS-Formatierung
  4. Zugriff auf den NTFS-formatierten Stick
  5. 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
# 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