Mithilfe dem LINUX Tools WHDD kann man ähnlich dem DOS Tool MHDD Festplatten auf Defekte überprüfen, SMART Werte auslesen, Datenblöcke exportieren oder die Platte sicher löschen. Es ist als Teil der SystemRescueCD (Gentoo basiert) hier erhältlich.
Im Unterschied zu MHDD, welches auf DOS aufsetzt, baut WHDD auf dem LINUX Kernel auf. Das hat den Vorteil, dass auch neuere AHCI Festplatten (SATA) und Speicher-Controller unterstützt werden. Der Nachteil ist, dass es nicht mehr auf eine Diskette passt und nicht alle Funktionen von MHDD bietet. So hat WHDD derzeit (Oktober 2015) leider auch noch keine echten Reparaturfunktionen an Board, sodass man es nur effektiv zum Löschen und Testen nutzen kann. Für Reparaturen muss man dann doch zu MHDD greifen, welches aber zB. auf der SystemRescueCD ebenfalls enthalten ist. Die Anleitung für MHDD findet sich hier.
Der Hauptanwendungsfall für WHDD ist derzeit das Kopieren von Daten von bereits defekten Festplatten auf neue Medien. Die Kopierroutinen sind für Lesefehler optimiert. Wie es genau funktioniert ist schön auf der WHDD Seite erklärt.
Vorbereitung
Da Sie mit WHDD bequem Ihren Computer „unbrauchbar“ machen können, lesen Sie die Anleitung bitte erst komplett durch und entscheiden Sie dann, ob und was Sie machen wollen. Sie arbeiten auf eigene Gefahr und Verantwortung.
Ziehen Sie zur Sicherheit alle Festplatten ab, die Sie nicht bearbeiten wollen. Im Gegensatz zu MHDD ist WHDD nicht wählerisch, wo Sie die Festplatte anschließen. Alle IDE, SCSI und SATA Kanäle sowie USB werden unterstützt. Schließen sie also die zu Platte(n) nach belieben an.
Start
Ist das Linux Hostsystem hochgefahren (zB. die SystemRescueCD), kann man WHDD einfach über den Befehl „whdd“ starten. Man wird zunächst gefragt, welche der erkannten Festplatten man bearbeiten möchte. (WHDD kann nur eine Festplatte zeitgleich bearbeiten. Bei Kopieraktionen natürlich 2…)
Hier wählt man nun also den Patienten aus:
Zu diesem Menü gelangt man nach jeder Aktion durch drücken der Taste [M] zurück. Ein Druck der [ESC] Taste in diesem Menü beendet WHDD.
Im nächsten Schritt präsentiert ein Menü die verfügbaren Optionen:
Show SMART attributes
Listet die SMART Attribute der Festplatte auf.
Wichtige Attribute:
- Reallocated Sectors Count – Sollte eigentlich immer 0 sein. Wenn er ungleich Null ist, heißt dies, dass die Platte Sektoren bereits umgelagert hat, da diese Fehlerhaft waren. Ist die Zahl größer 20 ist Vorsicht geboten. Die Platte sollten Sie dann nur noch zum Basteln / Experimentieren verwenden.
- UDMA CRC Error Rate – Ein Wert ungleich Null deutet auf Probleme mit dem Anschlusskabel hin. Die Platte ist idR. noch intakt. (In seltenen Fällen kann es sich jedoch um ein Indiz für den Defekt der Steuerelektronik handeln. Probieren Sie also zunächst ein anderes Kabel, und prüfen Sie, ob der Wert weiter ansteigt.)
- Power On Hours Count – Laufzeit der Festplatte (meist in Stunden, rein informativ)
Wenn Sie eine „Neuwertige, gebrauchte Festplatte“ von eBay vor sich haben, der Zähler aber bei 26280 steht, heißt das, das die Platte 3 Jahre lang durch lief, und Sie übers Ohr gehauen wurden. 🙂 - Start/Stop Count – Start- / Stopp-Vorgänge des Festplattenmotors (rein informativ)
Beim Startvorgang wird der Festplattenmotor besonders belastet. Daher sind niedrigere Werte bei gebrauchten Platten besser.
Read Test
Prüft die Festplatte auf Fehler.
Nach Auswahl des Eintrages wird man gefragt, welche API man für den Test nutzen will:
„ata“ ist voreingestellt und die beste Wahl. (Es werden analog MHDD die ATA Verify Befehle genutzt.) Als Alternative „posix“ steht noch die POSIX API read() zur Wahl. Hier wird der Lesetest über die LINUX Betriebssystemschnittstelle durchgeführt. Die zu erwartenden Ergebnisse sind was die Laufzeiten angeht eher ungenau. Daher bestätigen wir mittels ENTER-Taste die Option „ata“.
Im nächsten Dialog sollen wir den Startblock (LBA) angeben. 0 ist für den ersten logischen Block bereits voreingestellt. Ein weiterer Druck der ENTER-Taste beginnt mit dem Test. (Anmerkung: Nach einem Endblock werden wir bei den Lesetests interessanter Weise derzeit nicht gefragt, es wird also immer bis zum Ende der Platte getestet…)
Während des Read-Vorganges werden links die aktuellen Ergebnisse grafisch (1 Kasten = 1 Block) und auf der rechten Seite die Zusammenfassung angezeigt. Der Read-Vorgang wird jeweils für einen logischen Block á 255 Sektoren über den ATA Befehl „READ VERIFY EXT“ (oder falls gewählt die POSIX API read()) ausgelöst, die dafür nötige Zeit wird gemessen und der Vorgang Blockweise bis zum Ende der Platte wiederholt.
- Alle Verzögerungen unter 50ms sind ungefährlich.
- Alles <500ms ist zu beobachten, aber auch (noch) ungefährlich.
- Alles >500 ist bedenklich.
- Die Markierungen ?, x, !, S, A, * deuten auf tatsächlich Fehler hin. Sind mehr als 20% der verfügbaren Sektoren der Platte defekt, sollte sie definitiv ausgetauscht werden.
Die Fehlercodes im Einzelnen:
- ? TIMEOUT – Weißt darauf hin, dass ein Block nicht innerhalb der erlaubten Zeitspanne (Siehe SCAN Einstellungen) geprüft werden konnte (Ursache ist unklar)
- x UNC – Uncorrectable Error: Die Daten können nicht gelesen werden
- ! ABRT – Aborted: Tritt auf, wenn das Kommando nicht bekannt ist, oder nicht ausgeführt werden konnte (zB. Aufgrund eines Datenfehlers)
- S IDNF – ID Not Found: Der gewünschte Sektor konnte nicht gefunden werden
- A AMNF – Addressmark not found: Der Sektor wurde gefunden, aber nicht der Datenbereich
- * ERR – Ein sonstiger Fehler ist aufgetreten
Falls der Read-Vorgang Fehler findet, sollten diese mittels MHDD repariert werden. WHDD bietet derzeit keine Optionen dafür an.
Device Copying
Kopiert Teile – oder die gesamte Platte auf eine andere. Der Befehl kann zur Datenrettung verwendet werden und wird evtl. Gegenstand eines späteren Artikels, da dies jetzt zu weit gehen würde.
Write Zeros
Löscht die Festplatte ab dem angegebenen Block, indem es sie mit NULLEN überschreibt.
Für wirklich sicheres Löschen sollte der Vorgang 3x wiederholt werden. Nach / während des Löschens wird die vom Read-Test bekannte Zugriffszeitstatistik angezeigt.
Vorgehen bei gebrauchten Festplatten
Mithilfe von WHDD kann man gebrauchte Festplatten auf Funktionsfähigkeit prüfen:
- Rufen Sie die SMART-Werte der Platte wie oben beschrieben ab, und notieren Sie die relevanten Werte.
- Nun wird diese mittels „Write Zeros“ die Platte komplett gelöscht.
- Treten in diesem Schritt bereits Fehler (>500, oder *, ?, x, S, !, A) auf, ist Vorsicht geboten.
Mittels MHDD Kann man versuchen, diese Fehler zu reparieren.
- Treten in diesem Schritt bereits Fehler (>500, oder *, ?, x, S, !, A) auf, ist Vorsicht geboten.
- Nun wird die Platte mittels „Read test“ nochmals geprüft.
- Treten in diesem Schritt bereits Fehler (>500, oder *, ?, x, S, !, A) auf, ist Vorsicht geboten.
Mittels MHDD Kann man versuchen, diese Fehler zu reparieren.
- Treten in diesem Schritt bereits Fehler (>500, oder *, ?, x, S, !, A) auf, ist Vorsicht geboten.
- Rufen Sie erneut die SMART-Werte der Platte wie oben beschrieben ab, und vergleichen Sie die Werte mit den zuvor notieren Werten.
- Haben sich die Werte für Reallocated Sectors Count und UDMA CRC Error Rate nicht verändert ist die Platte mit hoher Wahrscheinlichkeit OK.