Am Samstag, 3. Dezember 2005 02:43 schrieb Stefan Fricke:
ich habe hier den Rechner eines Freundes mit einem Festplattenproblem. Beim Booten beham ich folgende Meldung:
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error } hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Diese wurde mehrfach wiederholt, danach kam eine ähnliche MNeldung mit der Fehlernummer 0x40.
Sowas wie hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=xxxxxx, sector=yyyyyyyy und danach kernel: end_request: I/O error, dev 03:06 (hda), sector yyyyyyyy
Nachdem ich einen reiserfsck auf allen Partitionen gemacht habe, ließ sich der Rechner wieder booten, aber die oben zitierte Meldung bleibt.
Die Meldung bezeichnet einen Hardwaredefekt, reiserfsck darauf ist eher kontraproduktiv, sprich sehr mutig.
Nun habe ich danach gegooglet und habe herausgefunden, dass möglicherweise ein HW-Defekt vorliegt. Aber Was könnte die wahrscheinlichste Ursache sein? (Der Rechner ist ca. 1 Jahr alt)
Aus meiner Erfahrung ist bei diesen Fehlermeldungen entweder die Verkabelung defekt, d.h. Kabel der Platte auf korrekten Sitz prüfen bzw. abziehen und wieder dran stecken (auf beiden Seiten) oder die Festplatte stirbt. Wenn der Fehler vorher nicht auftrat meistens letzteres.
(...). Dazu kommt meine eigene Erfahrung. Ich hatte das Problem auch mal und habe es zunächst ignoriert.
Sollte man bei sowas nicht tun.
Nach einer routinemäßigen Neupartitionierung der Platte trat es nicht mehr auf. Dies könnte auf einen Schaden bei den Metadaten der Platte, also Partitionstabelle etc. hindeuten.
Nein. Wenn dann hat Platte beim erneuten Beschreiben des defekten Sektors diesen umbeleget, das machen die automatisch. Allerdings bleibt es oft nicht bei einem defekten Sektor, sondern es gehen mit der Zeit weitere kaputt. Solchen Platten würde ich nichts im Ansatz wichtiges mehr anvertrauen! Sie rettet man in der Regel mit dd_rescue in eine Datei, läßt darauf(sic!) dann erst reiserfsck laufen, mountet diese Datei über loopback und kopiert die wichtigen Dinge.
Daher wäre noch meine Frage, gibt es ein Programm, mit dem man diese überprüfen und ggf. reparieren kann?
In dem Paket "smartmontools" gibt es das Programm "smartctl". "smartctl -a /dev/hda" zeigt dir sehr viel. Wichtig sind erstmal alle Werte des Typs "Pre-Fail". Davon insbesondere "Reallocated_Sector_Ct" und "UDMA_CRC_Error_Count". Ersterer zeigt dir die oben erwähnten, umbelegten Sektoren an. Letzterer zeigt die Fehler zwischen Platte und "Rechner" an, d.h. die ganz oben erwähnte Fehlermöglichkeit des Kabels. Wenn ersterer auf "0" steht läßt du die Platte sich am besten einfach selbst testen mit z.B. "smartctl -t long /dev/hda". Es wird dir auch mitgeteilt, wie lange das ungefähr dauern wird. Weiter unten steht das error log der Platte, dort wirst du in der Regel die DMA-Fehler finden, die auch der Kernel im Log ausgespuckt hat. Das self-test log steht ganz am Ende, worin du letztlich auch deinen Selbsttest aufgeführt finden wirst; wenn du Pech hast mit Angabe eines Fehlers bzw. der LBA an welcher der Fehler auftritt. In diesem Fall neue Platte kaufen und defekte Platte mit dd_rescue retten. Gruß Jan -- Bureaucracy is the art of making the possible impossible.