Nullen konnten nicht in fehlerhafte Sektoren geschrieben werden / Festplatte, die nicht zugewiesene Sektoren zählen

4185
MetaNova

Ich habe ein Laufwerk, das berichtet, dass die derzeit ausstehenden Sektoren "45" sind. Ich habe Badblocks verwendet, um die Sektoren zu identifizieren, und ich habe versucht, mit dd Nullen zu schreiben .

Soweit ich weiß, wenn ich versuche, Daten direkt in die fehlerhaften Sektoren zu schreiben, sollte dies eine Neuzuweisung auslösen, die derzeit ausstehenden Sektoren um eins reduzieren und die Anzahl der neu zugewiesenen Sektoren erhöhen.

Auf dieser Platte sind jedoch die Rohwerte Reallocated_Sector_Ct und Reallocated_Event_Count 0, und dd schlägt mit E / A-Fehlern fehl, wenn ich versuche, Nullen in die fehlerhaften Sektoren zu schreiben. dd funktioniert jedoch gut, wenn ich an einen guten Sektor schreibe.

# dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=217152 dd: error writing ‘/dev/sdb’: Input/output error 

Bedeutet das, dass auf meinem Laufwerk in gewisser Weise keine Ersatzsektoren für die Neuzuweisung vorhanden sind? Ist meine Fahrt generell eine schreckliche Person? (Das Laufwerk gehört nicht mir, ich helfe einem Freund heraus. Sie haben vielleicht gerade ein billiges Laufwerk bekommen oder so.)

Wenn es relevant ist, ist hier die Ausgabe von smartctl -i :

Model Family: Western Digital Caviar Green (AF) Device Model: WDC WD15EARS-00Z5B1 Serial Number: WD-WMAVU3027748 LU WWN Device Id: 5 0014ee 25998d213 Firmware Version: 80.00A80 User Capacity: 1,500,301,910,016 bytes [1.50 TB] Sector Size: 512 bytes logical/physical Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Fri Oct 18 17:47:29 2013 CDT SMART support is: Available - device has SMART capability. SMART support is: Enabled 

UPDATE:
Ich habe shredauf der Festplatte ausgeführt, wodurch Current_Pending_Sector auf Null gesetzt wurde. Reallocated_Sector_Ct und Reallocated_Event_Count sind jedoch immer noch Null, und dd kann jetzt Daten in die Sektoren schreiben, die zuvor nicht möglich waren. Dies führt mich zu mehreren anderen Fragen:

  • Warum werden die Neuzuweisungen nicht von der Festplatte wiederhergestellt? Ich gehe davon aus, dass die Neuzuordnung stattgefunden hat, da ich jetzt Daten direkt in den Sektor schreiben kann und vorher nicht konnte.

  • Warum hat shred eine Neuzuordnung verursacht und nicht dd? Hat die Tatsache, dass shred zufällige Daten statt nur Nullen schreibt, einen Unterschied?

10
Wie sind die anderen SMART-Werte? Ist die Anzahl der nicht korrigierbaren Sektoren größer als Null? Synetech vor 10 Jahren 0
Offline_Uncorrectable, von dem ich annehme, dass es dasselbe ist, hat einen Rohwert von 25. MetaNova vor 10 Jahren 0
Ja, das ist es, und es klingt wie das Laufwerk tatsächlich in schlechtem Zustand ist. Sie können die Werte gegen [diese Tabelle] (http://en.wikipedia.org/wiki/SMART#Known_ATA_S.MART_attributes) überprüfen, wobei Sie besonders auf die roten Zeilen (gesundheitskritische Werte) achten. Die beste Wette ist es, alles Wertvolle / Unersetzbare an einen anderen Ort zu kopieren (nicht zu verschieben), einen Neustart durchzuführen, um es aus- und wieder einzuschalten, und wenn es noch funktioniert, sollten Sie es gut abwischen (vorzugsweise mit eigenen [dedizierten Tools] (http: / /support.wdc.com/product/download.asp?groupid=608&sid=3), und legen Sie es als Ersatzspeicher für unwichtige Daten wie heruntergeladene Videos zur Seite. Synetech vor 10 Jahren 0
Vielen Dank für Ihre Antwort. Meine Hauptfrage müsste wahrscheinlich sein, warum es diese Sektoren nicht neu zuordnen kann. Sollte es nicht einfach sein, dass die Sektoren schlecht sind, sie in die Leere weisen, neu zuweisen und weitergehen? Ich mache mir keine Sorgen um irgendwelche Daten auf der Festplatte, da diese schon lange entfernt wurden. Mein Freund möchte kein 1,5 TB Papiergewicht haben, wenn er es vermeiden kann. MetaNova vor 10 Jahren 0
Das scheint das Ding zu erwarten, aber es könnte sein, dass es einen schlechten Kopf hat. Wenn dies der Fall ist, funktioniert der Versuch, das Laufwerk zu lesen, so lange, bis Sie versuchen, auf den Plattenteller mit schlechtem Kopf zuzugreifen, und Sie erhalten eine Reihe von Lesefehlern, da ohne den Kopf zum Lesen der gesamte Plattenteller nicht zugänglich ist. Natürlich heißt es, Sektor 45 sei schlecht, was vielleicht daran liegt, dass er bereits neu zugewiesen wurde, der SMART jedoch nicht aktualisiert wurde. Die [Garantie ist abgelaufen] (http://websupport.wdc.com/warranty/warrantycheck2.asp?req=385567&rnd=03914148) vor ein paar Monaten, aber Sie können versuchen, ihnen eine E-Mail zu senden, und sie werden möglicherweise einen Ersatz für die Höflichkeit leisten. Synetech vor 10 Jahren 0
Der Sektor vor 217152 kann von dd gelesen werden, und "badblocks" zeigt, dass es nur ~ 7 schlechte Sektoren gibt. Ich weiß nicht, wo sich die anderen befinden, da ich den vollständigen Scan nicht durchgeführt habe, aber es sollten mindestens 8 fehlerhafte Sektoren übrig bleiben, die neu zugeordnet werden können, oder? Entschuldigung, wenn ich nicht klar war, meinte ich, dass 45 Sektoren schlecht waren, nicht Sektor 45. MetaNova vor 10 Jahren 0
Ach ja, es hat Probleme mit dem einen oder anderen. Haben Sie versucht, einfach einen Disk-Scan auszuführen, um die fehlerhaften Cluster im Dateisystem so zu markieren, dass sie völlig ignoriert werden? Der Rest des Laufwerks sollte dann (zumindest jetzt) ​​ohne Probleme verwendbar sein. Synetech vor 10 Jahren 0
Das, was ich versucht habe zu tun. Nach dem, was ich gelesen habe, sollte der Versuch, Nullen in den fehlerhaften Sektor zu schreiben, eine Neuzuordnung auslösen und dazu führen, dass der fehlerhafte Sektor ignoriert wird. Das Problem ist, dass dd dies nicht tut, was darauf hindeutet, dass etwas beim Neuzuweisungsprozess fehlschlägt oder einfach nicht ausgelöst wird, da sowohl Reallocated_Sector_Ct als auch Reallocated_Event_Count gleich Null sind. MetaNova vor 10 Jahren 0
Sie versuchen, das Laufwerk dazu zu bringen, den fehlerhaften Sektor in Software zu verlagern. Ich meinte damit, dass das Dateisystem den Cluster, der es enthält, als fehlerhaft in der Software kennzeichnet. Ich kenne mich mit Linux nicht aus. Die Verwendung von "chkdsk / r" in Windows auf einer FAT32-Partition erkennt jedoch, wenn ein Sektor nicht erreichbar ist, und kennzeichnet den Cluster, der ihn enthält, als "BAD" anstelle von "FREE" in der FAT. Der Sektor ist nach wie vor schlecht und der Versuch, auf ihn zuzugreifen, wird fehlschlagen, aber seine Markierung auf hoher Ebene und das Betriebssystem lassen ihn völlig aus. Synetech vor 10 Jahren 0
Ich habe überhaupt kein Dateisystem auf diesem Laufwerk. Ich schreibe rohe Nullen in das Laufwerk mit dd, wie es von vielen Guides empfohlen wird. Ich kann mir vorstellen, dass das ext4-Dateisystem auf hohem Niveau damit umgehen kann, aber das tut immer noch nichts dagegen, dass meine Festplatte keine wichtige Funktion hat. MetaNova vor 10 Jahren 0
Genau genommen hat das Laufwerk ein physisches Problem und Sie können nicht in diese Sektoren schreiben. Sie sind tot und wenn Sie ihnen nicht schreiben können, können Sie nichts dagegen tun, außer sie zu kennzeichnen. Wenn es kein Dateisystem hat, sollten Sie es in der Lage sein, es zu formatieren und das Dateisystem sie als fehlerhaft kennzeichnen zu lassen. Dann drücken Sie die Daumen, dass nur die wenigen Sektoren schlecht sind, insbesondere, da die SMART-Daten angeben, dass fehlerhafte Sektoren nicht einmal neu zugeordnet werden können. Versuchen Sie es erneut mit dem Power-Cycling, um zu sehen, ob dies einen Anstoß ergibt und etwas wie ein Deadlock in der Firmware wackelt. Synetech vor 10 Jahren 0
Kein Würfel. : / Ich denke, das Beste, was ich an diesem Punkt tun kann, ist die Überwachung des Laufwerks und ob die anstehenden Sektorzuweisungen schnell zunehmen. Ich lasse die Frage etwas länger offen, um zu sehen, ob uns jemand anderes aufklären kann. : P MetaNova vor 10 Jahren 0
Wenn alles andere fehlschlägt, können Sie es als Ersatzlaufwerk für unwichtige Dinge verwenden. Das habe ich mit meinem alten 100 GB WD gemacht, als es zu viele Probleme gab. Synetech vor 10 Jahren 0

2 Antworten auf die Frage

9
Sergey Vlasov

Das WD15EARS-Laufwerk (und die meisten anderen kürzlich produzierten Laufwerke) verwendet das Advanced Format. Dies bedeutet, dass die tatsächliche physische Sektorgröße dieses Laufwerks 4 KiB beträgt und die herkömmliche 512-Byte-Sektorgröße nur emuliert wird. Wenn ein physischer 4-KiB-Sektor fehlerhaft wird, werden alle 8 entsprechenden emulierten 512-Byte-Sektoren auf einmal unlesbar.

(Die Sector Size: 512 bytes logical/physicalAusgabe von smartctlist nicht korrekt, da einige WD15EARS-Laufwerke falsche physikalische Sektorgröße melden  - anscheinend hat Ihr Laufwerk eine Firmware-Version, die in dieser Hinsicht defekt ist.)

Wenn ein einzelner emulierter 512-Byte-Sektor geschrieben wird, muss das Advanced-Format-Laufwerk außerdem den gesamten physischen 4-KiB-Sektor lesen, den entsprechenden 512-Byte-Teil ändern und dann den gesamten physischen Sektor auf das Medium schreiben. Wenn das Medium einwandfrei ist, führt dieser Vorgang zum Lesen, Ändern und Schreiben zu einer erheblichen Verlangsamung im Vergleich zu einem Laufwerk mit echten physischen 512-Byte-Sektoren. Wenn der physische Sektor mit 4 KiB jedoch schlecht ist und nicht gelesen werden kann, schlägt jede Schreiboperation fehl, die den Sektor nicht vollständig neu schreibt. Aus diesem Grund können Sie die Sektor-Neuzuweisung auf solchen Laufwerken nicht mit ddmit erzwingen. bs=512 count=1 Sie müssen mindestens verwenden bs=512 count=8und sicherstellen, dass die Sektornummer in derseek= Option ist ein Vielfaches von 8. (Dies setzt voraus, dass der Jumper "Windows XP-kompatibel" nicht installiert ist. Andernfalls muss auch der durch diesen Jumper hinzugefügte Ausrichtungsoffset berücksichtigt werden.)

Ein weiterer Grund für das Erzwingen der Neuzuweisung mit dem ddVersagen ist möglicherweise, dass Linux standardmäßig einen Cache in der Blockschicht verwendet, um auf Blockgeräte zuzugreifen. Dies kann Lese-, Änderungs- und Schreibvorgänge in der Software verursachen, die ebenfalls fehlschlagen, wenn ein nicht lesbarer Sektor gefunden wird. Sie können die oflag=directOption hinzufügen, um diesen Cache für das angegebene Gerät zu umgehen of=...(es gibt auch die iflag=directOption, die für das Eingabegerät gilt).

Danke, danke, danke, das war so hilfreich. Ich habe das Etikett auf dem Laufwerk gelesen und es heißt "Vorausformat". Ich weiß, was das jetzt bedeutet ... Haben Sie jedoch eine Idee, dass das Laufwerk keine neu zugewiesenen Sektoren meldet? MetaNova vor 10 Jahren 0
"current pending sectors" are not necessarily bad sectors, the disk just had a little bit of trouble reading it before in its idle checks, possibly due to not having written there in a long time and the data starting to fade (ie magnetic field weakening). Writing new data to that sector refreshes the data in that sector with new data that is strongly formed on the disk. Thus if you write to a pending sector the disk assumes it is ok now. You should try reading the data back from those sectors to confirm they are stable. BeowulfNode42 vor 10 Jahren 1
for those people who don't care about any data on the disk and don't want to find the exact list of sectors or do the sector count math just dd the entire disk with a block size of a multiple of 4KiB, like 16MiB. Then use a block size of 4KiB for the last part of the disk that is smaller than the previously chosen block size. BeowulfNode42 vor 10 Jahren 0
0
emil

Ich musste dies kürzlich tun und stellte fest, dass das Ausführen von Shred auf der gesamten Festplatte sehr gut funktionierte. Shred ist zwar für den vorgesehenen Zweck außer für Disketten unbrauchbar, tut aber genau das, was erforderlich ist, um die Selbstheilung bei schlechten Blöcken in Gang zu setzen.