Eine Festplatte

In diesem Howto wurden einige großartige Tipps mit dem Umgang mit defekten Festplatten oder Partitionen zusammengestellt.

Achtung: Verwendung auf eigener Gefahr. 😉

Viele dieser Tipps müssen mit ausgehängten Platten durchgeführt werden. Dazu kann eine Live CD (z. B. KNOPPIX oder openSUSE) zum Booten (im failsafe Modus) verwenden und dort auf einer Konsole diese Kommandos ausführt werden.

Festplattendiagnose – S.M.A.R.T. Werte auslesen

Die Attribute von S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) können mit dem Kommando smartctl ausgelesen werden.

$ smartctl --all /dev/sda
...
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
...
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
...
SMART Error Log Version: 1
No Errors Logged
...

Dabei sollte das Testergebnis PASSED und keine Fehlermeldung protokolliert sein.

Die S.M.A.R.T. Attribute haben folgende Bedeutungen:

ID
Die Nummer des Attributs.
Name
Der Name des Attributs.
Value
Der normalisierter aktueller Messwert aus der Firmware der Festplatte.
Worst
Der bislang schlechtester registrierter normalisierter Messwert (höher = besser).
Thresh
Das Minimum, ab dem ein Alarm gemeldet wird.
Type
Das Attribut beschreibt, was das Erreichen eines Schwellwerts bedeutet.
Pre-fail: Das sofortiges Ableben der Festplatte ist sehr wahrscheinlich und steht kurz bevor.
Old-age: Das Attribut beschreibt den Alterungsprozess der Festplatte.
Updated
Wann wird das Attribut aktualisiert?
Always: Der Messwert wird laufend aktualisiert.
Offline: Der Messwert wird ausschließlich durch einen Offlinetest (Parameter -t offline) aktualisiert.
Raw Value
Der original ausgelesene Messwert des Attributs (Rohdaten).

Wichtige S.M.A.R.T. Attribute:

  • 5 Reallocated_Sector_Ct
    196 Reallocated_Event_Count
    197 Current_Pending_Sector
    Wenn die Raw Werte auf 0 sind, wurden beim Schreiben keine defekte Sektoren entdeckt. Der Wert beschreibt die Anzahl der verbrauchten Reserve-Sektoren.
  • 199 UDMA_CRC_Error_Count
    Wenn der Raw Wert auf 0 ist, wurden keine Übertragungsfehler (CRC-Fehler) entdeckt. Ursache könnte z. B. ein defektes Kabel sein.
  • 3 Spin_Up_Time
    10 Spin_Retry_Count
    Diese Messwerte können Anlaufprobleme der Festplatte anzeigen.
  • 1 Raw_Read_Error_Rate
    7 Seek_Error_Rate
    Diese Attribut beschreiben die Rate der Lesefehler. Diese Fehler waren nicht korrigierbar und führten zum erneuten Einlesen der Daten.
  • 195 Hardware_ECC_Recovered
    Diese Attribut beschreibt die Anzahl der Lesefehler (Bitfehler), die aber korrigierbar waren.

Mit dem folgendem Kommando führt eine Festplatte einen langem Selbsttest aus.

$ smartctl -t long /dev/sda

Ein Medien-Check mit badblocks

Mit dem Kommando badblocks können fehlerhafte Blöcke auf Partitionen erkannt werden.

Die folgenden Kommandos schreibt die defekten Blöcke in die Datei bad-blocks und übergibt sie fsck. Damit werden im Dateisystem die beschädigten Blöcke als unbenutzbar markiert.

$ badblocks /dev/sda3 > bad-blocks
$ fsck.ext3 -l bad-blocks /dev/sda3

Das Erstellen eines Images einer Festplatte

Ein komplettes Abbild einer Festplatte kann mit dem Kommando dd erstellt werden.

Das folgende Kommando kopiert das Abbild (Klonen) einer Festplatte /dev/sda auf eine andere Festplatte /dev/sdb, die mindestens die gleich Größe besitzen muss.

$ dd if=/dev/sda of=/dev/sdb

Das folgendes Kommando sichert eine Festplatte in eine Datei (Image).

$ dd if=/dev/sda of=sda.img

In diesem Beispiel wird die Datei zusätzlich komprimiert.

$ dd if=/dev/sda | gzip > sda.img.gz

Ist die Festplatte defekt, kann es bei Kopieren zu Lesefehlern kommen. Dann würde dd abbrechen. Das Kommando dd_rescue dagegen würde die unlesbaren Bereiche durch Nullen ersetzen. Dieses Abbild muss dann, z. B. mit fsck, repariert werden. Abschließen kann man dieses noch schreibgeschützt Mounten, um das Abbild zu testen.

$ dd_rescue /dev/sda3 sda3.img
$ fsck.ext3 -p sda3.img
$ mount -o loop,ro sda3.img /temp

Den Bootloader grub installieren

Durch eine defekte Festplatte wurde die geretteten Abbilder auf eine neue Festplatte aufgespielt. Nun muss nur noch der Bootloader installiert, genauer der MBR (Master Boot Record) geschrieben, werden.

Dazu wird der Rechner über eine Live CD gebootet und die grub Konsole aufgerufen. Als erste wird die Bootpartition gesucht.

$ grub
...
grub> find /boot/grub/stage1
 (hd0,2)

Die Bootpartition wurde unter (hd0,2) auf der erste Festplatte in der dritte Partition gefunden.

Nun wird mit folgenden Kommandos der MBR installiert.

grub> root (hd0,2)
 Filesystem type is ext2fs, partition type 0x83
  
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,2)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
  
grub> quit

Ggf. muss vorher noch die Datei /boot/grub/menu.lst bearbeitet werden.

Das Sichern des Bootsektors

Mit dem folgendem Kommando wird der Bootsektor (Master Boot Record) der Festplatte /dev/sda gesichert. In diesem Fall kommt der Bootloader grub zum Einsatz.

$ dd if=/dev/sda bs=512 count=1 of=grub.img

Dieses Abbild (Image) kann mit folgendem Kommando zurück gespielt werden.

$ dd if=grub.img bs=512 count=1 of=/dev/sda

Die Literaturempfehlungen

Frank Rahn
Letzte Artikel von Frank Rahn (Alle anzeigen)
2 Kommentare
  1. Avatar
    Christopher Wagner sagte:

    Hey Frank,
    sehr sehr guter Artikel. Allerdings würde ich dem User noch ans Herz legen: Wenn Du oder Sie nur die leisesten Zweifel haben, wenden Sie sich bitte an deinen professionellen Dienstleister oder ein Datenrettungsunternhemen.

    Gruß Chris

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ihre E-Mail-Adresse wird nicht veröffentlicht. Ihr Kommentar wird verschlüsselt an meinen Server gesendet. Erforderliche Felder sind mit * markiert.

Weitere Informationen und Widerrufshinweise finden Sie in meiner Datenschutzerklärung.