NTFS

aus openSUSE, der freien Wissensdatenbank

NTFS steht für New Technology File System, dass zur Zeit das Standard-Fileysystem unter Windows Vista ist. Dieser Artikel beschreibt den Zugriff auf Festplatten mit NFTS-Filesystem unter openSUSE.


Inhaltsverzeichnis


Der Zugriff von Linux auf ein mit NTFS formatiertes Medium gelang lange Zeit nur lesend. Kürzlich vorgestellte Treiber bieten nun auch einen Lese- und Schreibzugriff an. Weitere Informationen erhalten sie auf folgenden Seiten:


Warnung
Bevor sie fortfahren, lesen sie bitte genau diese Anleitung durch und versichern sie sich selber, dass sie alles verstanden haben. Eine falsche Umsetzung kann schnell zu einem Datenverlust auf einem NTFS formatierten Datenträger führen.


Einrichtung der NTFS Schreibunterstützung

openSUSE 10.3

Zuerst ändern sie die Parameter, mit der die NTFS-Partition eingebunden wird. Hierzu öffnen sie die /etc/fstab und fügen den Parameter umask=0002 ein.

Beispiele

PATA (IDE) und SATA Festplatte
#Device    Mountpoint  Filesystem  Parameters
/dev/sda1  /windows/C  ntfs-3g     user,users,gid=users,umask=0002  0 0
Verwendung von Disklabels
#Device                 Mountpoint  Filesystem  Parameters
/dev/disk/by-label/win  /windows/C  ntfs-3g     user,users,gid=users,umask=0002  0 0

openSUSE 10.2

Wenn sie nur ihre Dateien lesen wollen, dann brauchen sie nichts weiteres zu machen. Der Lesezugriff ist standardmäßig unter openSUSE aktiviert. Die Partition kann einfach mit dem Yast Modul "Partitionieren" eingebunden werden.

Für den Lesen und Schreibzugriff müssen noch folgende Installationsquelle aktivieren:

 zypper sa http://download.opensuse.org/repositories/filesystems/openSUSE_10.2/ Filesystems

Sie werden dann folgende Ausgabe in der Shell sehen:

* Adding repository 'Filesystems'
Repository 'Filesystems' successfully added:
Enabled: Yes
Autorefresh: Yes
URL: http://download.opensuse.org/repositories/filesystems/openSUSE_10.2/

Installieren sie dann die folgende Pakete:

 fuse
 ntfs-3g

Befehl:

zypper in -c Filesystems ntfs-3g fuse

oder installieren sie die Software über das Yast Modul "Software Installieren oder löschen".

Einbinden der NTFS Partition

Durch das Hinzufügen eines Eintrags in die Datei /etc/fstab, wird das NTFS-Filesystem automatisch beim Booten eingebunden. Stellen sie sicher, dass der Einhängepunkt (in den folgenden Beispielen /Windows/C schon angelegt ist. Ansonsten legen sie diesen mit dem Befehl mkdir an.

PATA (IDE) Festplatte
#Device    Mountpoint  Filesystem  Parameters
/dev/hda1  /windows/C  ntfs-3g     user,users,gid=users,umask=0002  0 0

SATA Festplatte
#Device    Mountpoint  Filesystem  Parameters
/dev/sda1  /windows/C  ntfs-3g     user,users,gid=users,umask=0002  0 0
Verwendung von Disklabels
#Device                 Mountpoint  Filesystem  Parameters
/dev/disk/by-label/win  /windows/C  ntfs-3g     user,users,gid=users,umask=0002  0 0


Manuelles Einbinden

Wenn sie das Laufwerk manuell einbinden möchten, benutzen sie einfach das ntfs-3g Kommando. Im folgenden Beispiel wird eine NTFS Partition mit dem Disklabel "windows" nur lesend in das Verzeichnis /mnt eingebunden.

ntfs-3g -o ro,gid=users,umask=0002 /dev/disk/by-label/windows /mnt

Für weitere Details in der Benutzung des ntfs-3g Kommandos, lesen sie bitte auf der Projektseite oder schauen sich die Man Seite an.

Automatisches Einbinden externer Festplatten mit NTFS Schreibunterstützung

Wenn man eine NTFS-formatierte USB-Platte automatisch mit Schreibzugriff eingebunden haben will, so kann man folgendermaßen vorgehen:

  1. Platte anstecken und dann mittels ntfs-config alle externen Platten auf Schreibzugriff setzen
  2. Platte wieder abziehen
  3. die durch ntfs-config geänderte /etc/fstab wieder durch die ursprüngliche ersetzen. (Einfach die neu hinzugekommene Zeile wieder löschen). ntfs-config legt einen Eintrag für die externe Platte an, der das automatische mounten über hal verhindert.
  4. beim erneuten Einstöpseln sollte hal sich nun mit der Fehlermeldung
    hal-storage-mount-removable-extra-options auth_self_keep_always <-- (action, result)
    oder einer ähnlichen dem mounten verweigern
  5. /etc/PolicyKit/PolicyKit.conf editieren damit es ausschaut wie folgt:
    <?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
    <!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN" "http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">
    <!-- See the manual page PolicyKit.conf(5) for file format -->
    <config version="0.1">
    <match action="hal-storage-mount-removable-*">
      <match user="1000|1001">
       <return result="yes"/>
      </match>
    </match>
    </config>
    
    bei match user= werden dabei alle user id's aufgeführt, die mounten dürfen sollen.
  6. hal restarten (mit rchal restart) oder neu starten
  7. in /sbin/ eine neue datei mount.ntfs-3g.sh anlegen mit folgendem inhalt:
    #!/bin/bash
    
    /bin/ntfs-3g $1 $2 -o locale=de_DE.UTF-8
    
  8. dann das original mount.ntfs-3g sichern und mit dem neuen .sh script verlinken:
    cd /sbin
    chmod +x mount.ntfs-3g.sh
    mv mount.ntfs-3g mount.ntfs-3g.orig
    ln -s mount.ntfs-3g.sh mount.ntfs-3g
    
  9. Fertig. Ab jetzt sollte jede externe NTFS-USB-Platte automatisch mit Schreibzugriff eingebunden werden.