Forumdefekte blöcke reparieren
Roger Rehnelt – Dienstag, 14. März 2006 12:50 Uhr

hallo!

badblocks -s /dev/sda

hat bei meiner ext3-formatierten sata platte 44 defekte blöcke gefunden. wie kann ich die reparieren?
btw: auf der platte liegt die systempartition (mit allem was dazu gehört). e2fsck -c /dev/sda ist doch da nicht wirklich anzuraten, oder?

1 Antwort
man-draker – Dienstag, 14. März 2006 16:10 Uhr

Physisch defekte Blöcke kannst du überhaupt nicht reparieren.
Sie fallen dem System dadurch auf, dass ihr Inhalt nicht mehr lesbar ist.
Die bisher dort gespeicherte Information ist also auf jeden Fall verloren.

Es gibt ein einziges vorstellbares Szenario, in dem es Sinn macht, die Blöcke wieder zu beleben. Nämlich dann, wenn ihr Inhalt durch Stromausfall beim Schreiben beschädigt wurde. Auch in diesem Fall ist es notwendig, den Inhalt der Partition zu sichern (deine Nachfrage wegen e2fsck -c impliziert, dass du versäumt hast, rechtzeitig ein Backup zu ziehen). Anschließend kann per badblocks -ns mit Schreibzugriff gescannt werden. Das sollte die demolierten Sektoren reaktivieren.

Beruhen die Lesefehler – was wahrscheinlicher ist – aber auf Erinnerungs-Schwächen der Magnetschicht, werden auch neu hineingeschriebene Daten bald wieder vergessen. Also macht es mehr Sinn, die Blöcke für zukünftige Benutzung zu sperren.

Grundsätzlich deutet das Auftreten von für die Software sichtbaren, defekten Blöcken darauf hin, dass das interne Defektmanagement der Festplatte mit den fortschreitenden Schäden bereits überfordert ist. Der Austausch der Platte mit der Systempartition ist daher dringend angeraten.

Hinweise zur Benutzung von badblocks findest du hier [1]

[1] https://www.linux-community.de/Neues/story?storyid=12035

Günter Frenz – Dienstag, 14. März 2006 16:33 Uhr

Zusätzlich kann man noch mit den smartmontools die S.M.A.R.T.-Eigenschaften der Platte auslesen und nachsehen was die Platte selbst zu den defekten Sektoren zu melden hat. Steht in der Ausgabe dann meist als “Reallocated events” und “Reallocated sectors”.

Günter