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 (Abschnitt „Manuelle-Pruefung“) 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 🇬🇧 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. Falls das Programm nicht installiert ist, kann es mit dem folgenden Paket nachinstalliert werden:

  • e2fsprogs (main)

Paketliste zum Kopieren:

sudo apt-get install e2fsprogs 

Oder mit apturl installieren, Link: apt://e2fsprogs

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!)

Bei Festplatten bzw. Partitionen ab über 4 TB Speicher sollte die Blockgröße mit der Option -b 4096 spezifiziert werden, andernfalls verweigert badblocks den Prüflauf.

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.

Hinweis:

Achtung, Verwechslungsgefahr: Neben dem im Artikel gddrescue beschriebenen und im Paket gddrescue enhaltenen Programm ddrescue (OHNE Unterstrich) gibt es auch noch das ältere Programm dd_rescue 🇬🇧 (MIT Unterstrich), für das es jedoch lediglich bis Ubuntu 12.04 ein Paket gab. Zur Begründung der Entfernung wurde darauf verwiesen, dass das neuere Programm zum einen einen viel größeren Funktionsumfang besäße und zum anderen nur wenige Funktionen des älteren nicht hätte.

Eine exakte Kopie unter Auslassung defekter Sektoren liefert das Programm dd_rescue, das in der Standardinstallation nicht enthalten ist.

Auf der Live-CD Knoppix ist es jedoch 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 auf Linux-User.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)

Paketliste zum Kopieren:

sudo apt-get install testdisk 

Oder mit apturl installieren, Link: apt://testdisk

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

sudo testdisk /dev/sda 

Verlorene Partitionen wiederherstellen

Im Linuxwiki 🇩🇪 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:

du -hsx ~/* | sort -rh | head -10 

die 10 größten Ordner im Homeverzeichnis zu ermitteln, bei denen es sich lohnen würde, Dateien zu löschen (letztlich um dadurch freie Inodes zurückzugewinnen). Sollte das Löschen hier nicht ausreichen (oder eine eigene Root-Partition existieren), ersetzt man ~ mit /:

sudo du -hsx /* | sort -rh | head -10 

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 (Abschnitt „Kernel-deinstallieren“) und Kernelheader.

Apropos Kernelheader: wenn selbst die Auflistung der 10 größten Ordner nicht mehr möglich ist und man nicht wahllos und blindlings löschen möchte, sollte man die Ordner /usr/src/linux-headers-*/ näher in Augenschein nehmen. Hier können gefahrlos Ordnerinhalte (!) gelöscht werden (aber niemals die Ordner der jeweiligen Kernelheader-Version selbst, weil sonst dpkg meckert, wenn man das dazugehörige Paket später deinstalliert). Beispiel:

  1. Ordner anzeigen:

    ls -la /usr/src 

    drwxr-xr-x  5 root root 4096 Apr 27  2015 ./
    drwxr-xr-x 15 root root 4096 Mai  7  2013 ../
    drwxr-xr-x 23 root root 4096 Feb 18  2015 linux-headers-3.13.0-26/
    drwxr-xr-x 23 root root 4096 Mai 17  2013 linux-headers-3.13.0-25/
    drwxr-xr-x 23 root root 4096 Mai 17  2013 linux-headers-3.13.0-24/
  2. Ordnerinhalte gezielt löschen

    sudo rm -rf /usr/src/linux-headers-3.13.0-24/* 

Vermeidung

Da man die Inode-Anzahl von ext-Dateisystemen 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

Intern

Extern

Diese Revision wurde am 6. Dezember 2018 18:46 von DJKUhpisse erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Datenträger, Partitionierung, Festplatte, Datenrettung, Hardware