Linux Mint: NTFS-Festplatte mit ntfs-3g wieder beschreibbar machen
from Linux@mertengiesen
Eine interne NTFS-Festplatte lässt sich unter Linux Mint problemlos lesen, aber nicht beschreiben. Dateien können geöffnet werden, beim Anlegen oder Ändern von Dateien scheitert der Zugriff jedoch.
In meinem Fall war die Partition noch in einem unsauberen NTFS-Zustand. Nach einer Reparatur mit ntfsfix und einem expliziten Mount mit ntfs-3g ließ sie sich wieder normal beschreiben.
Das Problem
Die NTFS-Partition war vorhanden und lesbar, Schreibzugriffe funktionierten aber nicht.
Zunächst sollte man herausfinden, unter welchem Gerätenamen Linux die betreffende Partition kennt:
lsblk -f
Eine typische Ausgabe sieht beispielsweise so aus:
NAME FSTYPE LABEL
sda
└─sda1 ntfs Fotos
sdb
└─sdb1 ntfs Dokumente
Wichtig ist der Unterschied zwischen Gerät und Mountpoint:
/dev/sda1
ist die eigentliche Partition.
Ein Pfad wie
/media/benutzer/Fotos
oder
/mnt/fotos
ist dagegen nur das Verzeichnis, in das diese Partition eingehängt wurde.
Programme wie ntfsfix benötigen das Gerät, also beispielsweise:
sudo ntfsfix /dev/sda1
und nicht den Mountpoint.
Ursache: NTFS war als „unclean“ markiert
Nach dem Aushängen der Partition wurde sie mit ntfsfix überprüft:
sudo umount /dev/sda1
sudo ntfsfix -d /dev/sda1
Dabei meldete ntfsfix unter anderem:
The disk contains an unclean file system
Metadata kept in Windows cache, refused to mount.
Anschließend wurden unter anderem die Master File Table und deren Spiegel geprüft sowie das NTFS-Journal geleert.
Der Vorgang endete mit:
NTFS partition /dev/sda1 was processed successfully.
Damit war zumindest belegt, dass die Partition zuvor tatsächlich einen unsauberen NTFS-Zustand hatte und ntfsfix diesen bearbeitet hatte.
ntfsfix ist dabei keine vollständige NTFS-Reparatur wie ein Windows-chkdsk. Für grundlegende Inkonsistenzen und das Zurücksetzen des NTFS-Journals kann es aber ausreichen.
Einen festen Mountpoint anlegen
Beim anschließenden manuellen Mounten trat zunächst ein weiterer Fehler auf:
failed to access mountpoint ...: Datei oder Verzeichnis nicht gefunden
Der Grund war simpel: Das Zielverzeichnis existierte nach dem Aushängen nicht mehr.
Deshalb zuerst einen festen Mountpoint anlegen:
sudo mkdir -p /mnt/ntfs-daten
Danach kann die Partition mit ntfs-3g explizit als beschreibbar eingehängt werden:
sudo mount -t ntfs-3g \
-o rw,uid=1000,gid=1000,umask=022 \
/dev/sda1 /mnt/ntfs-daten
Die Werte 1000 waren in diesem Fall Benutzer- und Gruppen-ID des normalen Linux-Benutzers. Die eigenen Werte lassen sich prüfen mit:
id -u
id -g
Prüfen, ob die Partition wirklich schreibbar ist
Der aktuelle Mount-Status lässt sich zum Beispiel so kontrollieren:
mount | grep sda1
Im erfolgreichen Fall erschien:
/dev/sda1 on /mnt/ntfs-daten type fuseblk (rw,...)
Entscheidend ist hier:
rw
Das Dateisystem ist also read/write eingehängt.
Ein einfacher Schreibtest ist:
touch /mnt/ntfs-daten/testdatei.txt
Wenn dabei keine Fehlermeldung erscheint, funktioniert der Schreibzugriff.
Die Testdatei kann anschließend wieder entfernt werden:
rm /mnt/ntfs-daten/testdatei.txt
Damit war der Schreibzugriff in diesem Fall praktisch bestätigt.
NTFS dauerhaft über /etc/fstab einbinden
Damit die Platte nicht nach jedem Neustart manuell gemountet werden muss, kann sie in /etc/fstab eingetragen werden.
Zunächst einen dauerhaften Mountpoint anlegen:
sudo mkdir -p /mnt/ntfs-daten
Vor Änderungen an fstab empfiehlt sich eine Sicherung:
sudo cp /etc/fstab /etc/fstab.bak
Danach:
sudo nano /etc/fstab
Für die Partition kann beispielsweise folgende Zeile verwendet werden:
UUID=DEINE-UUID /mnt/ntfs-daten ntfs-3g rw,uid=1000,gid=1000,umask=022,nofail,x-gvfs-show 0 0
Die UUID findet man mit:
lsblk -f
oder:
sudo blkid
Die wichtigsten Optionen:
rw
bindet die Partition beschreibbar ein.
uid=1000,gid=1000
ordnet die Dateien dem angegebenen Benutzer und seiner Gruppe zu.
umask=022
setzt passende Standardrechte.
nofail
verhindert, dass ein Problem mit diesem Datenträger den normalen Systemstart blockiert.
x-gvfs-show
kann dafür sorgen, dass die Partition auch im grafischen Dateimanager angezeigt wird.
Änderungen an fstab testen
Nach dem Speichern kann die Konfiguration getestet werden:
sudo mount -a
Wurde /etc/fstab während des laufenden Systems geändert, kann systemd darauf hinweisen, dass noch die alte Konfiguration verwendet wird:
Ihre Fstab-Datei wurde geändert, aber Systemd nutzt
noch die alte Version
Dann kann die systemd-Konfiguration neu geladen werden:
sudo systemctl daemon-reload
Fallstrick: „NTFS volume is already exclusively opened“
Beim Einrichten mehrerer NTFS-Platten trat außerdem folgende Meldung auf:
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it
In diesem Fall waren die betreffenden Partitionen bereits an anderen Mountpoints eingehängt.
Das lässt sich überprüfen mit:
mount | grep ntfs
oder gezielter:
findmnt
Ein NTFS-Volume sollte nicht gleichzeitig noch an einem alten Automount-Pfad hängen und zusätzlich über einen neuen fstab-Mountpoint eingebunden werden.
Vor einem erneuten Mount-Versuch muss deshalb gegebenenfalls zunächst der bereits vorhandene Mount ausgehängt werden.
Beispiel:
sudo umount /alter/mountpoint
Danach:
sudo mount -a
Neustart nach größeren fstab-Änderungen
Nach mehreren Änderungen an Mountpoints und /etc/fstab ist ein Neustart eine einfache Möglichkeit, mit einem definierten Zustand zu beginnen.
Beim Booten wird die fstab erneut verarbeitet.
sudo reboot
Hinweis: Im hier dokumentierten Ablauf wurde der Neustart als nächster Schritt vorgesehen, sein Ergebnis wurde aber nicht mehr überprüft. Der erfolgreiche Schreibzugriff auf die erste NTFS-Partition war zu diesem Zeitpunkt bereits unabhängig davon bestätigt.
Ergebnis
Der entscheidende Ablauf war:
lsblk -f
richtige NTFS-Partition ermitteln,
sudo umount /dev/sdXN
sudo ntfsfix -d /dev/sdXN
unsauberen NTFS-Zustand bearbeiten,
sudo mkdir -p /mnt/ntfs-daten
einen festen Mountpoint anlegen und anschließend:
sudo mount -t ntfs-3g \
-o rw,uid=1000,gid=1000,umask=022 \
/dev/sdXN /mnt/ntfs-daten
beschreibbar mounten.
Der Test:
touch /mnt/ntfs-daten/testdatei.txt
lief anschließend ohne Fehler durch.
Damit war die zuvor nur lesbare NTFS-Festplatte unter Linux Mint wieder beschreibbar.

