Zugriff auf Windows-Partitionen: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Link Mountpoint)
(Windows Partitionen in das System einhängen)
 
(14 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Allgemein ===
+
= Zugriff auf Windowspartitionen =
  
Unter Linux gibt es keine Laufwerkbuchstaben.
+
In der Vergangenheit war der gemeinsame Datenaustausch zwischen Linux- und Windowssystemen innerhalb eines Systemes sehr problematisch. Windows unterstützt von Haus aus lediglich zwei verschiedene Dateisysteme:
  
Wenn man auf ein anderes Dateisystem zugreifen will, so muss man dieses 'mounten'.  
+
*[http://de.wikipedia.org/wiki/File_Allocation_Table FAT] (File Allocation Table) und
 +
*[http://de.wikipedia.org/wiki/NTFS NTFS] (New Technology File System)
  
Das bedeutet, das andere Dateisystem wird im Verzeichnisbaum an einer bestimmten Stelle eingehängt.
+
Für andere, offene Dateisysteme wie [http://de.wikipedia.org/wiki/Ext3 ext3] oder  [http://de.wikipedia.org/wiki/ReiserFS ReiserFS] bietet Microsoft keine Unterstützung an. Das beudetet, dass man für die [http://de.wikipedia.org/wiki/Interoperabilität Interoperabilität] des Datenaustausch grundsätzlich auf den gemeinsamen Nenner NTFS bzw. FAT angewiesen ist. Genau hier liegt auch der Knackpunkt, denn Linux unterstützte lange Zeit von Haus aus nur den uneingeschränkten Zugriff auf FAT-Partitionen.
  
Damit auch Benutzer und nicht nur root Zugriff erhalten, müssen ein paar Optionen angegeben werden.
 
  
Man kann Dateisysteme beim Hochfahren auch automatisch mounten lassen.
+
= Wissenwertes zu den Windows-Dateiformaten =
  
Dazu muss ein Eintrag in der Datei /etc/fstab vorgenommen werden.
 
  
Wenn ein solcher Eintrag existiert kann man die Dateisysteme auch mit 'mount /mountpoint' bzw 'umount /mountpoint' mounten und unmounten da die Befehle sich die nötigen Informationen aus der /etc/fstab holen.
+
== Das Urgestein Fat32 ==
  
 +
FAT32 an sich ist eigentlich nur ein Überbleibsel aus alten MSDOS/Windows 95/98/ME-Tagen. Seit Windows NT verwendet Microsoft für seine Betriebssysteme standardmäßig NTFS als Dateisystem. Dem FAT-Dateisystem merkt man das Alter zunehmend an, so ist z.B. das Setzen von Benutzerrechten gar nicht erst vorgesehen und die maximale Dateigröße ist auf 4 Gigabyte beschränkt. Dennoch, der Zugriff auf FAT-Partitionen von Linux aus gestaltet sich als völlig unproblematisch. Diese werden häufig als kleinster gemeinsamer Nenner für den Datenaustausch zwischen beiden Betriebssystemen verwendet. FAT(32)-Dateisysteme fragmentieren aufgrund ihrer technischen Eigenschaften sehr. Mit der Zeit erhöht sich die Zugfriffszeit immer mehr. Ohne regelmäßige Defragmentierung kann es bei intensiver Benutzung sogar zum Daten-GAU kommen. Da Fat-Dateisysteme eigentlich Windows-Dateisysteme sind, gibt es unter Linux kein Werkzeug zum Defragmentieren von FAT-Partitionen. Wer FAT benutzt sollte grundsätzlich über ein Windows-System verfügen, mit dem man die fragmentierte Platte defragmentieren kann.
  
''Bitte seid bei Änderungen in der /etc/fstab vorsichtig.''
 
''Bei Syntaxfehlern kann es zu Problemen beim Systemstart kommen.''
 
  
 +
== NTFS - Das moderne Dateisystem von Microsoft ==
  
In den folgenden Beispielen nehme ich an in /dev/hda1 befindet sich ein FAT32 bzw. NTFS Dateisystem, das jeweils so nach /mnt gemountet werden soll, dass 'normale' Benutzer Zugriff erhalten.
+
Anders sieht die Situation für NTFS aus. Da keine Spezifikationen über NTFS von Microsoft bereitgestellt wurden, war das Schreiben auf NTFS-Partitionen lange Zeit unter Linux nicht möglich. Erst in den letzten Jahren sind einige viel versprechende Projekte ins Leben gerufen worden, die das Schreiben auf Partitionen dieses Dateisystem möglich machen. Hier eine Auflistung der verschiedenen Treiber:
  
=== FAT32 ===
+
*'''Kernel-Treiber''' - Der Kernel-Treiber war lange Zeit nur in der Lage NTFS-Partitionen schreibgeschützt (ReadOnly) zu mounten. Ab Kernel 2.6.7 konnten lediglich schon existierende und nicht schreibgeschützte Dateien sicher geändert bzw. überschrieben werden, wenn sich dabei die Dateigröße nicht änderte oder verkleinerte. Das Anlegen oder Löschen von Dateien oder Verzeichnissen wurde noch nicht unterstützt. Mitlerweile (seit Kernel 2.6.12) wird das Schreiben nicht einmal mehr als experimentell bezeichnet, dennoch sind mit diesem Treiber viele Einschränkungen noch vorhanden. Seit Kernel 2.6.15 ist auch das Verändern von Dateien mit Änderung der Dateigröße möglich. Anlegen und Löschen von Dateien werden vom NTFS-Kerneltreiber noch nicht unterstützt.
  
Mount-Befehl:  
+
*'''[http://wiki.linux-ntfs.org/doku.php?id=ntfsmount ntfs-mount]''' Dieser Treiber basiert auf [http://de.wikipedia.org/wiki/FUSE FUSE] (Filesystem in User Space) und ist somit für Betriebssysteme mit FUSE-Unterstützung verfügbar. Er erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung. Das Schreiben auf der Partitionen kann zwar fehlschlagen, aber das Dateisystem wird bei einem Fehler nicht beschädigt.
  
mount -t vfat -o users,exec,gid=users,umask=000,iocharset=utf8 /dev/hda1 /mnt
+
*'''[http://www.jankratochvil.net/project/captive/ Captive NTFS-Treiber]''' Captive verwendet, anders als die anderen Lösungen, den Original-Treiber ntfs.sys aus Windows XP, der mit einer Kompatibilitätsschicht umgeben wird. Damit wird eine vollständige Schreibunterstützung erreicht. Der Nachteil dieser Lösung liegt darin, dass sie erhebliche Ressourcen benötigt und verhältnismäßig langsam ist. Zudem benötigt man eine Windows-Lizenz für diesen Treiber.
  
Eintrag in /etc/fstab:
+
*'''[http://www.ntfs-3g.org/index.html ntfs-3g]''' Das neueste Projekt in der Runde ist der ntfs-3g-Treiber (Weiterentwicklung von ntfs-mount). Hiermit lassen sich Dateien (sofern sie nicht verschlüsselt oder komprimiert sind) auf NTFS-Partitionen modifizieren, löschen und erstellen. Das gesamte Projekt basiert auf [http://de.wikipedia.org/wiki/Reverse_Engineering Reverse Engineering]. Das Projekt ist mittlerweile für den produktiven Einsatz in der Version 1.0 freigegeben, auch wenn z.B. NTFS-Berechtigungen noch nicht unterstützt werden. Viele Linux-Distributionen verwenden mittlerweile '''ntfs-3g''' (out of the box) als Standardtreiber für den Umgang mit NTFS-Partitionen. NTFS-3g ist somit in recht kurzer Zeit zur besten Alternative für den Datenaustausch zwischen Windows und Linux geworden.
  
/dev/hda1 /mnt vfat users,exec,gid=users,umask=000,iocharset=utf8 0 0
 
  
 +
= Windows-Partitionen in das System einhängen =
  
=== NTFS ===
+
{{Achtung|'''Achtung''': In einer Linux-Only-Umgebung sollte man grundsätzlich keine FAT/NTFS-Dateisysteme einsetzen. Das fehlende Berechtigungssystem und die mit der Zeit zunehmende Fragmentierung der Daten sprechen klar gegen den Einsatz von Windows-Dateisystemen unter Linux. Stattdessen sollte man lieber ein [[Inode]]-basiertes Dateisystem wie [[ext3]] oder [[reiserfs]] verwenden!}}
  
'''Linux kann "von Haus aus" nur lesend auf NTFS-Partitionen zugreifen!'''
+
{{Achtung|'''Achtung''': Das Verwenden von Dateien in Windows-Partitionen von Linux aus erfordert im allgemeinen, dass das Windows-System zuvor vollständig heruntergefahren wurde. Hat man Windows nur in den Ruhezustand verabschiedet, kann man auf NTFS-Partitionen nicht zugreifen, auf FAT32-Partitionen nur lesend. Schreibt man Dateien in einer FAT32-Partition, so werden sie beim Wiederstart von Windows meist gelöscht. Bei anderen Änderungen kann das Windows-Dateisystem Schaden nehmen (zur Reparatur ist dann chkdsk erforderlich).}}
  
Mount-Befehl:
+
{{Hinweis|'''Hinweis:''' Für die folgenden Beispiele benötigt man [[root]]-Rechte.}}
  
  mount -t ntfs -o ro,users,exec,gid=users,umask=0002,nls=utf8 /dev/hda1 /mnt
+
== Grundlegendes zum Einbinden von Partitionen ==
  
Eintrag in /etc/fstab:
+
'''Unter Linux gibt es keine Laufwerkbuchstaben'''. Wenn man auf ein anderes Dateisystem, Festplatte, bzw. auf eine andere Partition zugreifen will, muss man diese(s) zuvor mounten. Das bedeutet, dass der Datenträger an einer bestimmten Stelle im Verzeichnisbaum eingehängt wird. Man kann Dateisysteme beim Hochfahren auch automatisch mounten lassen.
  
/dev/hda1 /mnt ntfs ro,users,exec,gid=users,umask=0002,nls=utf8 0 0
+
Dazu muss ein Eintrag in der Datei
 +
<pre>/etc/fstab</pre>
 +
vorgenommen werden. Wenn ein solcher Eintrag existiert, kann man die Dateisysteme auch mit
 +
<pre>mount /mountpoint</pre>
 +
bzw. mit
 +
<pre>umount /mountpoint</pre> ein- bzw. aushängen, da sich die mount-Befehle die benötigten Informationen aus der <code>/etc/fstab</code> holen.
  
  
Der Linux-Kernel beinhaltet nur rudimentäre Schreibunterstützung für NTFS. Das liegt an mangelnder Dokumentation seitens von Microsoft.
 
  
Eine Software, die das umgeht ist 'captive'. Captive ist allerdings auch nur im Betastadium und wird nicht mehr weiterentwickelt.
+
{{Achtung|'''Bitte beim Editieren der <code>/etc/fstab</code> mit Bedacht vorgehen. Bei Syntaxfehlern (Eingabefehlern) kann es zu Problemen beim Systemstart kommen.'''}}
  
http://www.jankratochvil.net/project/captive/
 
  
 +
== Einbinden von FAT32-Partitionen ==
  
Eine andere Möglichkeit auf NTFS zu schreiben ist die Verwendung des NTFS-3G-Treibers und basiert auf auf dem [http://fuse.sourceforge.net/ Filesystem in Userspace] (FUSE)
+
Um eine FAT-Partition in das System einzuhängen, kann man den Befehl:
 +
<pre>mount -t vfat -o users,exec,gid=users,umask=000,utf8 /dev/hdx1 /mnt</pre>
 +
verwenden (wobei x für den Buchstabden des Devices steht und die 1 für die Nummer der Partition).
  
Download hier: http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070920-BETA.tgz
 
  
 +
Um die Partition direkt beim Systemstart einzubinden, fügt man einen Eintrag in der /etc/fstab hinzu.
  
=== Bei Problemen: ===
+
Zum Beispiel:
  
Postet bitte den Inhalt Eurer '/etc/fstab' und die Ausgabe von 'fdisk -l'. (Das ist ein kleines 'L').
+
<pre>/dev/hda1        /windows/C      vfat    auto,rw                0 0</pre>
  
Eine Auflistung der gerade gemounteten Dateisysteme erhaltet Ihr mit 'cat /etc/mtab'
+
In diesem Beispiel ist '''/dev/hda1''' die Partition, auf der Windows installiert ist; sie wird in das Verzeichnis /windows/C eingehangen.
  
Hinweis: Bei 'fdisk -l' werden nur Partitionen von IDE-Platten automatisch aufgelistet. Falls Ihr SCSI-Platten oder RAID-Controller habt muss das betreffende Geraet mit angegeben werden (z.B. 'fdisk /dev/sda -l)
+
Wenn alle Benutzer auf die Windows-Partition zugreifen sollen, muss man weitere Optionen hinzufügen.
  
Und da das offenbar immer wieder Probleme bereitet: der [[Mountpoint]] muß selbstverständlich existieren ! Wenn man also etwas nach /windows/C mounten möchte dann muß /windows/C auch existieren.
+
Damit alle in der Lage sind, die Partition ein- bzw. auszuhängen, muss man die Option '''users''' an die fstab übergeben.
 +
Wenn man '''user''' anstelle von '''users''' verwendet, dürfen zwar alle Benutzer die Partition mounten, aber nur derjenige, der sie eingehangen hat, darf sie unmounten.
  
=== Lesestoff: ===
+
Windowsdateisysteme kennen nicht wie Linuxdateisysteme bzgl. der Rechtevergabe die unter Linux übliche Aufteilung zwischen User, Group und Other.
 +
Um dennoch grundlegende Gruppen- und Benutzerrechte festlegen zu können, muss man der fstab die Optionen '''uid''' und '''gid''' mitteilen.
 +
Die folgende Zeile würde z.B.
 +
<pre>/dev/hda1 /windows/C vfat users,exec,gid=users,umask=000,utf8 0 0</pre>
 +
die FAT32-Partition <code>hda1</code> wieder in das Verzeichnis <code>/mnt/windows</code> einhängen. Alle Benutzer dürften das Verzeichnis mounten und haben vollen Schreibzugriff.
 +
Die Gruppenzugehörigkeit läge bei der Gruppe '''users'''. Zusätzlich wurde als Zeichensatz utf8 übergeben.
  
man mount
 
 
man fstab
 
  
Bezeichnung von Laufwerken/Partitionen/Festplatten unter Linux:
+
== Einbinden von NTFS-Partitionen ==
  
http://www.linux-club.de/viewtopic.php?t=4949
 
  
 +
=== NTFS Unterstützung des Kernels ===
  
 +
NTFS-Partitionen lassen sich ähnlich wie VFAT-Partitionen in das System einhängen.
  
Martin Breidenbach
+
<pre>mount -t ntfs -o ro,users,exec,gid=users,umask=0002,utf8 /dev/hda1 /mnt</pre>
 +
 
 +
Eintrag in <code>/etc/fstab</code>:
 +
 
 +
<pre>/dev/hda1 /mnt ntfs ro,users,exec,gid=users,umask=0002,utf8 0 0</pre>
 +
 
 +
Die zusätzlichen Mountoptionen sind analog zu denen von vfat (siehe oben).
 +
 
 +
 
 +
=== NTFS-3g verwenden ===
 +
 
 +
Für ntfs-3g benötigt man folgende Pakete
 +
 
 +
*fuse
 +
*ntfs-3g
 +
 
 +
Seit openSUSE 10.3 ist '''ntfs-3g''' standardmäßig in der Distribution enthalten. Bei älteren SuSE-Versionen muss man den Treiber nachträglich aus dem Filesystem-Repository des openSUSE Buildservices installieren. In diesem Repository findet man stets aktuelle ntfs-3g-Versionen.
 +
Dazu muss man das zur Distribution passende Repository zum Paketmanager seiner Wahl (z.B. [[YaST]], [[Smart]], oder [[APT]]) hinzufügen.
 +
 
 +
{{OpenSUSE|11.0|
 +
'''http://download.opensuse.org/repositories/filesystems/openSUSE_11.0/'''
 +
}}
 +
{{OpenSUSE|10.3|
 +
'''http://download.opensuse.org/repositories/filesystems/openSUSE_10.3/'''
 +
}}
 +
{{OpenSUSE|10.2|
 +
'''http://download.opensuse.org/repositories/filesystems/openSUSE_10.2/'''
 +
}}
 +
 
 +
 
 +
Um eine Partition manuell einzuhängen, kann man den Befehl:
 +
<pre>mount -t ntfs-3g -o ro,gid=users,umask=0002 /dev/sda1 /mnt</pre>
 +
verwenden.
 +
 
 +
In der <code>/etc/fstab</code> lässt sich ntfs-3g fast analog zum vfat/ntfs-kernel-Treiber einhängen.
 +
 
 +
<pre>
 +
#Device      Mountpoint    Filesystem  Parameters
 +
/dev/sda1    /Windows/C    ntfs-3g      user,users,gid=users,umask=0002,utf8    0 0
 +
</pre>
 +
 
 +
== Der andere Weg ==
 +
 
 +
Wenn alle Stricke reißen und hier nichts wirklich brauchbar erscheint, kann man auch über einen anderen Weg nachdenken.
 +
Da Linux offene Dateisysteme verwendet, die somit für jeden zugänglich sind, gibt es einige Projekte, die versuchen, Windows EXT2/3-kompatibel zu machen. Das [http://www.fs-driver.org/index.html Ext2 Installable File System For Windows] bringt Windows dazu, auf ext-Partitionen Zugriff zu bekommen.
 +
 
 +
= Lesestoff & Weblinks =
 +
 
 +
* [http://man.cx/mount(2)/de manpage mount]
 +
* [http://man.he.net/?topic=fstab&section=all Manpage fstab]
 +
* http://en.opensuse.org/NTFS
 +
* [http://www.linux-club.de/viewtopic.php?t=4949 Bezeichnung von Laufwerken/Partitionen/Festplatten unter Linux]
 +
* [http://gentoo-wiki.com/HOWTO_Mount_Windows_partitions_(DOS%2C_FAT%2CNTFS) Windowspartitionen Mounten in der Gentoo-Wiki]
 +
* [http://www.fs-driver.org/faq.html FAQ für EXT2-Windowstreiber]
  
ntfs-3g ergänzt von admine
 
  
  
 
[[Category:Partitionen]]
 
[[Category:Partitionen]]

Aktuelle Version vom 17. März 2010, 18:28 Uhr

Zugriff auf Windowspartitionen

In der Vergangenheit war der gemeinsame Datenaustausch zwischen Linux- und Windowssystemen innerhalb eines Systemes sehr problematisch. Windows unterstützt von Haus aus lediglich zwei verschiedene Dateisysteme:

  • FAT (File Allocation Table) und
  • NTFS (New Technology File System)

Für andere, offene Dateisysteme wie ext3 oder ReiserFS bietet Microsoft keine Unterstützung an. Das beudetet, dass man für die Interoperabilität des Datenaustausch grundsätzlich auf den gemeinsamen Nenner NTFS bzw. FAT angewiesen ist. Genau hier liegt auch der Knackpunkt, denn Linux unterstützte lange Zeit von Haus aus nur den uneingeschränkten Zugriff auf FAT-Partitionen.


Wissenwertes zu den Windows-Dateiformaten

Das Urgestein Fat32

FAT32 an sich ist eigentlich nur ein Überbleibsel aus alten MSDOS/Windows 95/98/ME-Tagen. Seit Windows NT verwendet Microsoft für seine Betriebssysteme standardmäßig NTFS als Dateisystem. Dem FAT-Dateisystem merkt man das Alter zunehmend an, so ist z.B. das Setzen von Benutzerrechten gar nicht erst vorgesehen und die maximale Dateigröße ist auf 4 Gigabyte beschränkt. Dennoch, der Zugriff auf FAT-Partitionen von Linux aus gestaltet sich als völlig unproblematisch. Diese werden häufig als kleinster gemeinsamer Nenner für den Datenaustausch zwischen beiden Betriebssystemen verwendet. FAT(32)-Dateisysteme fragmentieren aufgrund ihrer technischen Eigenschaften sehr. Mit der Zeit erhöht sich die Zugfriffszeit immer mehr. Ohne regelmäßige Defragmentierung kann es bei intensiver Benutzung sogar zum Daten-GAU kommen. Da Fat-Dateisysteme eigentlich Windows-Dateisysteme sind, gibt es unter Linux kein Werkzeug zum Defragmentieren von FAT-Partitionen. Wer FAT benutzt sollte grundsätzlich über ein Windows-System verfügen, mit dem man die fragmentierte Platte defragmentieren kann.


NTFS - Das moderne Dateisystem von Microsoft

Anders sieht die Situation für NTFS aus. Da keine Spezifikationen über NTFS von Microsoft bereitgestellt wurden, war das Schreiben auf NTFS-Partitionen lange Zeit unter Linux nicht möglich. Erst in den letzten Jahren sind einige viel versprechende Projekte ins Leben gerufen worden, die das Schreiben auf Partitionen dieses Dateisystem möglich machen. Hier eine Auflistung der verschiedenen Treiber:

  • Kernel-Treiber - Der Kernel-Treiber war lange Zeit nur in der Lage NTFS-Partitionen schreibgeschützt (ReadOnly) zu mounten. Ab Kernel 2.6.7 konnten lediglich schon existierende und nicht schreibgeschützte Dateien sicher geändert bzw. überschrieben werden, wenn sich dabei die Dateigröße nicht änderte oder verkleinerte. Das Anlegen oder Löschen von Dateien oder Verzeichnissen wurde noch nicht unterstützt. Mitlerweile (seit Kernel 2.6.12) wird das Schreiben nicht einmal mehr als experimentell bezeichnet, dennoch sind mit diesem Treiber viele Einschränkungen noch vorhanden. Seit Kernel 2.6.15 ist auch das Verändern von Dateien mit Änderung der Dateigröße möglich. Anlegen und Löschen von Dateien werden vom NTFS-Kerneltreiber noch nicht unterstützt.
  • ntfs-mount Dieser Treiber basiert auf FUSE (Filesystem in User Space) und ist somit für Betriebssysteme mit FUSE-Unterstützung verfügbar. Er erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung. Das Schreiben auf der Partitionen kann zwar fehlschlagen, aber das Dateisystem wird bei einem Fehler nicht beschädigt.
  • Captive NTFS-Treiber Captive verwendet, anders als die anderen Lösungen, den Original-Treiber ntfs.sys aus Windows XP, der mit einer Kompatibilitätsschicht umgeben wird. Damit wird eine vollständige Schreibunterstützung erreicht. Der Nachteil dieser Lösung liegt darin, dass sie erhebliche Ressourcen benötigt und verhältnismäßig langsam ist. Zudem benötigt man eine Windows-Lizenz für diesen Treiber.
  • ntfs-3g Das neueste Projekt in der Runde ist der ntfs-3g-Treiber (Weiterentwicklung von ntfs-mount). Hiermit lassen sich Dateien (sofern sie nicht verschlüsselt oder komprimiert sind) auf NTFS-Partitionen modifizieren, löschen und erstellen. Das gesamte Projekt basiert auf Reverse Engineering. Das Projekt ist mittlerweile für den produktiven Einsatz in der Version 1.0 freigegeben, auch wenn z.B. NTFS-Berechtigungen noch nicht unterstützt werden. Viele Linux-Distributionen verwenden mittlerweile ntfs-3g (out of the box) als Standardtreiber für den Umgang mit NTFS-Partitionen. NTFS-3g ist somit in recht kurzer Zeit zur besten Alternative für den Datenaustausch zwischen Windows und Linux geworden.


Windows-Partitionen in das System einhängen

Achtung: In einer Linux-Only-Umgebung sollte man grundsätzlich keine FAT/NTFS-Dateisysteme einsetzen. Das fehlende Berechtigungssystem und die mit der Zeit zunehmende Fragmentierung der Daten sprechen klar gegen den Einsatz von Windows-Dateisystemen unter Linux. Stattdessen sollte man lieber ein Inode-basiertes Dateisystem wie ext3 oder reiserfs verwenden!
Achtung: Das Verwenden von Dateien in Windows-Partitionen von Linux aus erfordert im allgemeinen, dass das Windows-System zuvor vollständig heruntergefahren wurde. Hat man Windows nur in den Ruhezustand verabschiedet, kann man auf NTFS-Partitionen nicht zugreifen, auf FAT32-Partitionen nur lesend. Schreibt man Dateien in einer FAT32-Partition, so werden sie beim Wiederstart von Windows meist gelöscht. Bei anderen Änderungen kann das Windows-Dateisystem Schaden nehmen (zur Reparatur ist dann chkdsk erforderlich).
Hinweis: Für die folgenden Beispiele benötigt man root-Rechte.

Grundlegendes zum Einbinden von Partitionen

Unter Linux gibt es keine Laufwerkbuchstaben. Wenn man auf ein anderes Dateisystem, Festplatte, bzw. auf eine andere Partition zugreifen will, muss man diese(s) zuvor mounten. Das bedeutet, dass der Datenträger an einer bestimmten Stelle im Verzeichnisbaum eingehängt wird. Man kann Dateisysteme beim Hochfahren auch automatisch mounten lassen.

Dazu muss ein Eintrag in der Datei

/etc/fstab

vorgenommen werden. Wenn ein solcher Eintrag existiert, kann man die Dateisysteme auch mit

mount /mountpoint

bzw. mit

umount /mountpoint

ein- bzw. aushängen, da sich die mount-Befehle die benötigten Informationen aus der /etc/fstab holen.


Bitte beim Editieren der /etc/fstab mit Bedacht vorgehen. Bei Syntaxfehlern (Eingabefehlern) kann es zu Problemen beim Systemstart kommen.


Einbinden von FAT32-Partitionen

Um eine FAT-Partition in das System einzuhängen, kann man den Befehl:

mount -t vfat -o users,exec,gid=users,umask=000,utf8 /dev/hdx1 /mnt

verwenden (wobei x für den Buchstabden des Devices steht und die 1 für die Nummer der Partition).


Um die Partition direkt beim Systemstart einzubinden, fügt man einen Eintrag in der /etc/fstab hinzu.

Zum Beispiel:

/dev/hda1        /windows/C      vfat     auto,rw                0 0

In diesem Beispiel ist /dev/hda1 die Partition, auf der Windows installiert ist; sie wird in das Verzeichnis /windows/C eingehangen.

Wenn alle Benutzer auf die Windows-Partition zugreifen sollen, muss man weitere Optionen hinzufügen.

Damit alle in der Lage sind, die Partition ein- bzw. auszuhängen, muss man die Option users an die fstab übergeben. Wenn man user anstelle von users verwendet, dürfen zwar alle Benutzer die Partition mounten, aber nur derjenige, der sie eingehangen hat, darf sie unmounten.

Windowsdateisysteme kennen nicht wie Linuxdateisysteme bzgl. der Rechtevergabe die unter Linux übliche Aufteilung zwischen User, Group und Other. Um dennoch grundlegende Gruppen- und Benutzerrechte festlegen zu können, muss man der fstab die Optionen uid und gid mitteilen. Die folgende Zeile würde z.B.

/dev/hda1 /windows/C vfat users,exec,gid=users,umask=000,utf8 0 0

die FAT32-Partition hda1 wieder in das Verzeichnis /mnt/windows einhängen. Alle Benutzer dürften das Verzeichnis mounten und haben vollen Schreibzugriff. Die Gruppenzugehörigkeit läge bei der Gruppe users. Zusätzlich wurde als Zeichensatz utf8 übergeben.


Einbinden von NTFS-Partitionen

NTFS Unterstützung des Kernels

NTFS-Partitionen lassen sich ähnlich wie VFAT-Partitionen in das System einhängen.

mount -t ntfs -o ro,users,exec,gid=users,umask=0002,utf8 /dev/hda1 /mnt

Eintrag in /etc/fstab:

/dev/hda1 /mnt ntfs ro,users,exec,gid=users,umask=0002,utf8 0 0

Die zusätzlichen Mountoptionen sind analog zu denen von vfat (siehe oben).


NTFS-3g verwenden

Für ntfs-3g benötigt man folgende Pakete

  • fuse
  • ntfs-3g

Seit openSUSE 10.3 ist ntfs-3g standardmäßig in der Distribution enthalten. Bei älteren SuSE-Versionen muss man den Treiber nachträglich aus dem Filesystem-Repository des openSUSE Buildservices installieren. In diesem Repository findet man stets aktuelle ntfs-3g-Versionen. Dazu muss man das zur Distribution passende Repository zum Paketmanager seiner Wahl (z.B. YaST, Smart, oder APT) hinzufügen.

openSUSE:
11.0
openSUSE:
10.3
openSUSE:
10.2


Um eine Partition manuell einzuhängen, kann man den Befehl:

mount -t ntfs-3g -o ro,gid=users,umask=0002 /dev/sda1 /mnt

verwenden.

In der /etc/fstab lässt sich ntfs-3g fast analog zum vfat/ntfs-kernel-Treiber einhängen.

#Device      Mountpoint     Filesystem   Parameters
/dev/sda1    /Windows/C     ntfs-3g      user,users,gid=users,umask=0002,utf8    0 0

Der andere Weg

Wenn alle Stricke reißen und hier nichts wirklich brauchbar erscheint, kann man auch über einen anderen Weg nachdenken. Da Linux offene Dateisysteme verwendet, die somit für jeden zugänglich sind, gibt es einige Projekte, die versuchen, Windows EXT2/3-kompatibel zu machen. Das Ext2 Installable File System For Windows bringt Windows dazu, auf ext-Partitionen Zugriff zu bekommen.

Lesestoff & Weblinks