ubuntuusers.de

Festplatten Problembehebung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Festplattenstatus

Sollte man sich nicht sicher sein und die Festplatte erst einmal überprüfen wollen, so hilft der Artikel Festplattenstatus weiter.

Fehlerhafte Dateisysteme

Es sollte zwar mit modernen Dateisystemen kaum mehr vorkommen können - aber wenn mehrere ungünstige Umstände zusammentreffen, können Dateisysteme doch einmal beschädigt werden. Normalerweise werden fehlerhafte Dateisysteme automatisch erkannt und repariert.

In schweren Fällen gelangt man beim Systemstart auf eine Reparaturkonsole mit weiteren Anweisungen. Von dort aus oder im Terminal [1] (vom installierten System oder von einer Live-CD aus gestartet) können Dateisysteme wie unter Dateisystemcheck beschrieben manuell überprüft werden.

Defekte Datenträger

Schlimmer ist es, wenn eine Festplatte oder ein anderer Datenträger einen physischen Defekt aufweist. Dies wird oft durch Fehlermeldungen wie

Buffer I/O Error on device sdb, logical block 0

angezeigt.

In diesem Fall sollten die Daten so schnell wie möglich gesichert werden, da bei manchen Fehlern ein schneller Totalausfall des Datenträgers möglich ist. Sollte es dennoch einmal so weit sein und die Festplatte macht Probleme, so sollte man mit einem Festplattenprüfprogramm den Zustand der Festplatte analysieren lassen. Jeder Hersteller bietet so eine Software auf seiner Homepage an. Im Schadensfall ist das Ergebnis eines solchen Tests das Argument für eine Reklamation beim Hersteller. Auf der Ultimate Boot CD {en} sind alle gängigen Tools auf einer bootbaren CD zusammengefasst.

Hinweis:

Mitunter können Fehler durch kalte Lötstellen, defekte Steckverbindungen oder Kabelbrüche auftreten. Diese sind teilweise schwer zu erkennen, da das Problem nur zeitweise auftritt. Hier ist es hilfreich die betroffene Festplatte genau zu inspizieren und testweise andere Kabel zur Verbindung mit dem Computer zu verwenden.

Datenträger überprüfen

Zur Überprüfung eines Datenträgers auf fehlerhafte Blöcke dient das Werkzeug badblocks. Die Option "-n" sorgt für einen Modus, in dem keine Daten zerstört werden, während der ausführlichere Test mit "-w" alle Daten überschreibt. "-vs" gibt noch den aktuellen Status aus.

sudo badblocks -vsn /dev/sda 

Manchmal verweigert badblocks die Ausführung, weil die Festplatte in Benutzung ist. Dazu einfach die Partition als Ziel angeben (z.B. sda1).

Achtung!

Das Programm badblocks arbeitet sehr gründlich und benötigt sehr viel Zeit, da jeder Festplattenblock mehrfach getestet wird. Man sollte ca. 4-8 Minuten pro Gigabyte kalkulieren (je nach Festplattengeschwindigkeit) und deswegen diesen Test am besten über Nacht laufen lassen! (Bsp. externe 3 TB HDD an USB 2.0: nach 100 h = über 4 Tagen wurden erst 68,20% geprüft!)

Daten von defekten Datenträgern kopieren

Der sicherste Weg, so viele Daten wie möglich zu retten, ist eine 1:1-Kopie des gesamten Datenträgers - soweit der eben noch lesbar ist. Ausgehend von dieser Kopie kann man dann versuchen, Dateisysteme zu reparieren und Daten zu sichern. Dazu sei an erster Stelle auf den Artikel Datenrettung hingewiesen.

gddrescue ist ein Programm zur Datenrettung von defekten Datenträgern. Die Funktionsweise ist im Artikel beschrieben.

Eine exakte Kopie unter Auslassung defekter Sektoren liefert das Programm dd_rescue, das in der Standardinstallation nicht enthalten ist. Es muss über das Paket

  • ddrescue (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ddrescue 

sudo aptitude install ddrescue 

nachinstalliert werden. Auf der Live-CD Knoppix ist es ebenfalls enthalten.

Ein Anwendungsbeispiel:

mount /media/cdrom/
dd_rescue -A /media/cdrom/sehrwichtig.txt ~/backup.txt 

Mit diesem Befehl kopiert dd_rescue die kaputte Datei sehrwichtig.txt in das Home-Verzeichnis (mit dem Namen backup.txt). Defekte Blöcke werden in backup.txt durch Nullen ersetzt. Lässt man die Option "-A" weg, dann überspringt dd_rescue defekte Blöcke, schreibt also keine Nullen, wodurch die Dateiintegrität gestört werden könnte.

Auch das Kopieren kompletter Datenträger ist möglich. Weitere Hinweise zum Einsatz gibt es hier {de} .

Defekte Partitionstabelle

Das Programm testdisk untersucht Festplatten auf vorhandene Partitionen, um diese wiederherzustellen, wenn die Partitionstabelle beispielsweise durch einen Fehler beim Partitionieren zerstört wurde. Es wird nicht automatisch installiert, man muss es über das Paket

  • testdisk (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install testdisk 

sudo aptitude install testdisk 

nachträglich installieren. Testdisk wird im Terminal [1] z.B. so aufgerufen:

sudo testdisk /dev/sda 

Verlorene Partitionen wiederherstellen

Im Linuxwiki {de} wird beschrieben, wie man eine verlorengegangene Partition wiederherstellen kann (für fortgeschrittene Anwenderinnen und Anwender).

Dateisystem voll

An dieser Stelle soll es nicht um einen Datenträger gehen, der tatsächlich randvoll ist, sondern um das sehr spezielle Problem von fehlenden freien Inodes. Auftreten kann das Problem bei Datenträgern, die mit ext2, ext3 oder ext4 formatiert sind. Obwohl noch mehrere GiB freier Speicherplatz vorhanden sind, können keine Dateien mehr gespeichert werden. Auch die Deinstallation von Programmen (um Platz zu schaffen) ist nicht mehr möglich.

Diagnose

  • freier Speicherplatz:

    df -h 

    Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
    /dev/sda1       7,1G    5,2G  1,5G   78% /
  • Freie Inodes:

    df -i 

    Dateisystem    Inodes IBenutzt  IFrei IUse% Eingehängt auf
    /dev/sda1      468640   468638      2  100% /

Abhilfe

Um einen betroffenen Rechner wenigstens wieder halbwegs flott zu kriegen, versucht man mit:

sudo find ~ -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n 

zu ermitteln, an welcher Stelle man Dateien im Homeverzeichnis löschen könnte (um dadurch freie Inodes zurückzugewinnen). Sollte das nicht ausreichen, ersetzt man ~ mit /. Prinzipiell muss man bei der Ausführung des Befehls aber Geduld mitbringen. Anschließend sollte das Deinstallieren nicht mehr benötigter Pakete klappen. Kandidaten sind beispielsweise ältere, nicht mehr benötigte Kernel und Kernelheader.

Da man die Inode-Anzahl von ext-Dateisystemen leider nicht ohne Neuformatierung anpassen kann, kann man das Problem nur an seinem Ursprung lösen:

  1. Daten komplett sichern

  2. Partition neu formatieren und dabei die Anzahl der Inodes vergrößern. Der Standardwert ist in der Datei /etc/mke2fs.conf als inode_ratio = im Abschnitt [defaults] zu finden. Ein kleinerer Wert vergrößert die Anzahl der verfügbaren Inodes. Beispiel: wenn man den Wert 16384 mit 8196 ersetzt, erhält man eine doppelt so große Anzahl. Nachteil: auch Dateisystemprüfungen dauern nun doppelt so lange. Ein anderer Ansatz ist die Verwendung des Dateisystems XFS, das diese Problematik nicht kennt.

  3. Daten zurückspielen

Diese Revision wurde am 5. Juni 2014 08:45 von march erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Datenrettung