Suche nach diesem Thema, und Google schlägt dir "smartctl fix bad sectors" vor. Dieser Vorschlag beschreibt etwas, das das Werkzeug gar nicht tut, und genau in der Lücke zwischen dem, was Leute erwarten, und dem, was SMART tatsächlich liefert, gehen Daten verloren.
smartctl meldet, es repariert nicht
Die Dokumentation lässt keinen Interpretationsspielraum: smartctl "does not calculate any of the Attribute values, thresholds, or types, it merely reports them from the SMART data on the device." (es berechnet keine der Attributwerte, Schwellenwerte oder Typen, sondern liest sie lediglich aus den SMART-Daten auf dem Gerät aus)
Es ist ein Werkzeug zur Überwachung und Berichterstattung. Es gibt keinen Schalter, der einen Sektor repariert, denn Reparieren gehört nicht zu dem, was ein Diagnosewerkzeug tut. Wenn eine Platte einen fehlerhaften Sektor neu zuweist, erledigt das die Firmware, still und leise, mit einem Ersatzsektor aus ihrem Reservepool.
Das hat praktische Folgen. Jedes Werkzeug, das damit wirbt, fehlerhafte Sektoren zu "reparieren", tut eines von zwei Dingen: Es überschreibt sie, was den früheren Inhalt endgültig zerstört, oder es zwingt die Firmware zur Neuzuweisung. Keines von beiden holt deine Datei zurück. Wenn die Daten noch wichtig sind, ist Schreiben auf die Platte das Letzte, was du willst.
Die fünf Attribute, die sich zu lesen lohnen
Backblaze betreibt einen der größten veröffentlichten Datensätze zu Plattenausfällen und überwacht fünf SMART-Attribute zur Vorhersage:
| ID | Attribut |
|---|---|
| 5 | Reallocated Sectors Count |
| 187 | Reported Uncorrectable Errors |
| 188 | Command Timeout |
| 197 | Current Pending Sector Count |
| 198 | Uncorrectable Sector Count |
Ihr veröffentlichter Vergleich: Bei 76,7 % der ausgefallenen Platten lag mindestens einer dieser Werte über null, gegenüber 4,2 % der laufenden Platten. Dieser Abstand ist es, der sie zum Nachsehen wert macht.
Die beiden, die am häufigsten falsch gelesen werden, sind 197 und 5, und der Unterschied zwischen ihnen lohnt das Verständnis.
197, Current Pending Sector Count, ist die vorläufige Liste. Das sind Sektoren, die die Platte nur mit Mühe lesen konnte und die sie auf Bewährung gesetzt hat. Sie sind noch nicht verurteilt. Gelingt ein späterer Lesevorgang, kann der Zähler wieder sinken.
5, Reallocated Sectors Count, ist der dauerhafte Eintrag. Das sind Sektoren, die die Platte aufgegeben und gegen Ersatzsektoren getauscht hat. Diese Zahl steigt nur.
Eine 197 über null ist also die frühere Warnung und die, bei der sich Handeln lohnt, denn sie sagt, dass die Platte gerade Mühe hat, etwas zu lesen. Dieses Etwas kann durchaus deine Datei sein.

Wie du die Ausgabe liest, ohne sie misszuverstehen
Drei Befehle decken das Praktische ab:
smartctl -H /dev/sda # overall health status
smartctl -A /dev/sda # the attribute table
smartctl -l selftest /dev/sda # results of past self-tests
Bei -H ist die dokumentierte Bedeutung eines Fehlschlags konkret und dringlich: "either that the device has already failed, or that it is predicting its own failure within the next 24 hours." (entweder ist das Gerät bereits ausgefallen, oder es sagt seinen eigenen Ausfall innerhalb der nächsten 24 Stunden voraus) Vierundzwanzig Stunden sind kein Wartungsfenster. Es heißt: Kopiere jetzt, was dir wichtig ist.
Bei -A trägt jedes Attribut einen Raw-Wert (Rohwert), einen Normalized-Wert (normalisierter Wert) und einen Threshold (Schwellenwert). Die dokumentierte Regel lautet: Ist der normalisierte Wert kleiner oder gleich dem Schwellenwert, gilt das Attribut als fehlgeschlagen. Leute lesen regelmäßig die Raw-Spalte und geraten in Panik, oder sie lesen sie und beruhigen sich, ohne sie gegen den Threshold zu prüfen. Der Raw-Wert allein sagt dir nicht, ob ein Attribut fehlgeschlagen ist.
Um die Tests selbst zu starten:
smartctl -t short /dev/sda # usually under ten minutes
smartctl -t long /dev/sda # tens of minutes, more thorough
Der kurze Test prüft die elektrische und mechanische Leistung zusammen mit der Leseleistung. Der erweiterte Test ist die längere, gründlichere Fassung. In beiden Fällen startet der Befehl den Test und kehrt zurück; den Ausgang liest du danach mit -l selftest, das Typ und Endstatus jedes der jüngsten Selbsttests anzeigt.
Die Zahl, die niemand zitiert: 23,3 %
Hier kommt der Teil, der ändern sollte, wie du auf einen sauberen Bericht reagierst.
Nach Backblaze' eigenen Zahlen gilt: Wenn 76,7 % der ausgefallenen Platten eine Warnung zeigten, dann zeigten 23,3 % der ausgefallenen Platten überhaupt keine. Fast jeder vierte Ausfall kommt daher, während SMART nichts Auffälliges meldet.
SMART ist eine nützliche Frühwarnung, die etwa ein Viertel der Zeit schweigt. Wenn es spricht, ist es ein Beleg für ein Problem, und wenn es schweigt, ist es kein Beleg für Gesundheit. Ein bestandener Test heißt, dass bisher nichts Schlechtes erkannt wurde. Er heißt nicht, dass die Platte in Ordnung ist, und er ersetzt keine zweite Kopie.
Was zu tun ist, wenn die Zahlen schlecht sind
Die Reihenfolge zählt, und den ersten Schritt überspringen die Leute gern.
Höre auf, auf die Platte zu schreiben. Jeder Schreibvorgang ist eine Gelegenheit, etwas Rettbares zu überschreiben, und zusätzliche Arbeit für eine Mechanik, die ohnehin schon kämpft.
Erstelle ein Image, bevor du untersuchst. Arbeite von einer Kopie auf Sektorebene, nicht von der defekten Platte. Wiederholte Leseversuche auf einer Platte mit ausstehenden Sektoren belasten genau die Stelle, die bereits schwach ist, und jeder erneute Versuch ist eine Chance, dass aus einem grenzwertigen Sektor ein unlesbarer wird. Den Ablauf behandeln wir in eine defekte Festplatte mit ddrescue klonen.
Rette dann aus dem Image. Sobald du eine Kopie hast, kannst du so oft wiederholen, wie du möchtest, ohne das Original zu gefährden.
Rettung aus einem Image oder von einer noch lesbaren Platte
Gilt, sobald die Platte stabil genug zum Lesen ist oder du eine Kopie erstellt hast. Es repariert keine fehlerhaften Sektoren, und keine Software kann das, denn die Neuzuweisung übernimmt die Firmware der Platte.
Die Kurzfassung
smartctl sagt dir, was die Platte über sich selbst meldet. Es repariert nie etwas, also behandle "fix bad sectors" als Beschreibung von etwas anderem. Lies Attribut 197 als Frühwarnung und 5 als dauerhaften Eintrag, und vergleiche normalisierte Werte mit den Schwellenwerten, statt allein die Rohzahlen zu lesen. Ein fehlgeschlagenes -H gibt dir einen dokumentierten Horizont von 24 Stunden. Und ein sauberer Bericht ist kein Gesundheitszeugnis, denn rund jeder vierte Ausfall tauchte in diesen Statistiken überhaupt nicht auf.
Das Verhalten der Befehle und die Bedeutung der Attribute stammen aus der smartctl-Dokumentation; die Zahlen zur Ausfallkorrelation (76,7 %, 4,2 %, 23,3 %) sind Backblaze' veröffentlichte Statistiken aus der eigenen Flotte. Die Zahlen beschreiben deren Plattenbestand und sind keine Vorhersage für eine einzelne Platte. Kommerzielle Links tragen das Attribut rel="sponsored nofollow"; eine Affiliate-Provision kann anfallen, ohne dass für dich zusätzliche Kosten entstehen.
Stelle die Daten deiner Festplatte wieder her → EaseUS
Kostenloser Scan · gelöschte, formatierte & verlorene Dateien · Windows & Mac


