Wie erzwinge ich eine Neuzuordnung der in SMART C5 gemeldeten Sektoren (Current Pending Sector Count)?


38

Der SMART C5-Wert meiner Samsung HM640JJ-Festplatte (in einem HP Pavilion dv6-Laptop) ist "gelber Status = Vorsicht".

C5 war gestern 10 und es ist heute 21.

C4 (Reallocation Event Count) = 0 und 05 (Reallocated Sectors Count) = 0

Wie kann ich die Firmware zwingen, sie neu zuzuweisen?

  • Ich habe die Partitionen entfernt, neu erstellt und das gesamte Laufwerk formatiert.
  • ich rannte chkdsk /r /f
  • Ich habe das BIOS-Dienstprogramm zur Datenträgerprüfung und andere Diagnose- / Reparaturtools ausgeführt

Ich benutze dazu die Bootdisk spinrite6 auf Level 2 .... grc.com/intro.htm
Moab

Antworten:


118

Kurze Antwort: Schreiben Sie etwas Neues in den Sektor (sogar Nullen - was ein langes Format tut).

Lange Antwort

Festplatten versuchen heute, fehlerhafte Sektoren vor dem Host-Computer zu verbergen. Der Host-Computer fordert das Laufwerk einfach auf, den Inhalt einer bestimmten Sektornummer zurückzugeben. Normalerweise liest das Laufwerk den Sektor, gibt ihn an den Host zurück, und alles ist in Ordnung.

Die Festplatte weiß, ob der gelesene Wert gültig ist oder nicht, da die Festplatte mithilfe des Fehlerkorrekturcodes (ECC) überprüft, ob der gelesene Inhalt korrekt ist. Wenn das Laufwerk feststellt, dass der Inhalt des Sektors ungültig ist, wird der Lesevorgang wiederholt. Die Hoffnung ist, dass es den richtigen Sektorinhalt erhält, wenn es es einfach noch einmal liest. Es wird so lange wiederholt, bis ein guter Wert erreicht wird oder das Zeitlimit (formell als Befehlsabschluss-Zeitlimit oder CCTL bezeichnet ) erreicht ist.

Während dieser Wiederholungsversuche wird das Laufwerk als tot angezeigt. da es nicht mehr auf Befehle reagiert .

Ersatzsektoren

Die meisten modernen Laufwerke enthalten eine Reihe von "Ersatzsektoren" (z. B. 1.024 Ersatzsektoren). Wenn das Laufwerk einen Sektor als fehlerhaft erkennt, wird er nicht mehr verwendet. Alle Anforderungen zum Lesen oder Schreiben in diesen beschädigten Sektor werden transparent an einen Ersatzsektor umgeleitet. Diese Markierung eines fehlerhaften Sektors und die Neuzuweisung seiner Daten zu einem Ersatzsektor wird als Neuzuweisungsereignis bezeichnet . Die Gesamtzahl der neu zugewiesenen Sektoren (und damit, wie viele Ihrer Ersatzsektoren verbraucht wurden) ist die Anzahl der neu zugewiesenen Sektoren .

In diesem Beispiel von einer meiner eigenen Festplatten erwiesen sich 64 Sektoren als fehlerhaft. Das bedeutet, dass 64 der Ersatzsektoren des Laufwerks in Gebrauch genommen wurden:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140        64

Auf derselben Festplatte gab es 4 Neuzuweisungsereignisse . Dies bedeutet, dass das Laufwerk in vier Fällen Sektoren als fehlerhaft markiert und stattdessen Ersatzsektoren verwendet hat.

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140         64
(C4) Reallocated Event Count   196      196    0            4

Was ist, wenn die Daten nicht gelesen werden können?

Das erneute Lesen von Sektoren und der Verbrauch von Ersatzteilen im Hintergrund des Computers ist eine gute Sache. Dies bedeutet, dass sich das Host-Betriebssystem nicht mit dem Problem ausfallender Sektoren befassen muss. Das Laufwerk selbst kann diese Details selbst verarbeiten.

Bonus Chatter : In früheren Zeiten wurde Ihre Festplatte mit einem Aufkleber geliefert, der daran befestigt war. Dieser Aufkleber enthielt die Fabrikfehlerliste ; die Liste aller bekannten fehlerhaften Stellen auf dem Laufwerk.

Bildbeschreibung hier eingeben

Wenn Sie ein Low-Level-Format des Laufwerks durchgeführt haben, mussten Sie ein Tool verwenden, um alle Positionen des Zylinderkopfsektors der fehlerhaften Stellen einzugeben.
SCSI-Laufwerke verfügen über einen Befehl, IOCTL_DISK_REASSIGN_BLOCKSmit dem sie angewiesen werden, eine fehlerhafte Stelle auf dem Laufwerk neu zuzuweisen, nachdem das Betriebssystem sie erkannt hat. Bei IDE-Laufwerken geschieht dies alles automatisch, ohne dass ein Eingreifen des Betriebssystems erforderlich ist.

Im Idealfall erkennt das Laufwerk, dass der Sektor ausfällt, verschiebt die Daten in einen Ersatzsektor und verwendet den ursprünglichen Sektor nie wieder. Aber was passiert, wenn das Laufwerk den Sektor nicht erfolgreich lesen konnte?

Das ist was Pending Sectorssind. Das Laufwerk hat festgestellt, dass ein Sektor ausfällt, und muss einem Ersatzlaufwerk neu zugeordnet werden. Dies kann jedoch erst geschehen, wenn die Daten erfolgreich gelesen wurden. Wenn das Laufwerk weiß, dass ein Sektor fehlerhaft ist und neu zugeordnet werden muss, dies jedoch noch nicht kann, weil es darauf wartet, einen guten Messwert vom Sektor zu erhalten: Dies wird als Anzahl ausstehender Sektoren bezeichnet :

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          64
(C4) Reallocated Event Count   196      196    0             4
(C5) Current Pending Sector    100      100    0             2

Meine Festplatte verfügt über 2 Sektoren, die die Festplatte als fehlerhaft erkennt, die jedoch noch nicht neu zugeordnet werden können. Wenn Sie einen dieser ausstehenden Sektoren lesen würden, würde das Laufwerk wahrscheinlich einen erneuten Versuch (und einen erneuten Versuch und einen erneuten Versuch) ausführen und schließlich einen Lesefehler an das Host-Betriebssystem zurückgeben:

Bildbeschreibung hier eingeben

Geben Sie den ausstehenden Sektor auf und er wird neu zugeteilt

Es gibt zwei Möglichkeiten, wie das Laufwerk den Sektor endgültig neu zuordnen und einen anderen Ersatzsektor belegen kann:

  • es wird endlich gut gelesen
  • Es ist dir egal, was in der Branche ist

Wenn das Laufwerk den Sektor schließlich liest, weiß es, dass es den Sektor neu zuordnen kann.

Die andere Möglichkeit, mit der das Laufwerk den Sektor neu zuordnen kann, besteht darin, dass Sie wissen lassen, dass der Inhalt dieses Sektors irrelevant ist. dass es dir egal ist, was drin ist. Wie machst du das?

Indem wir etwas Neues für die Branche schreiben.

Immer wenn Sie von einem Sektor auf einer Festplatte lesen oder darauf schreiben, müssen Sie den gesamten 512-Byte-Sektor 1 lesen / schreiben . Sie können nicht nur einen Teil eines Sektors schreiben . Wenn das Betriebssystem Daten in einen Sektor schreibt, muss es die gesamten 512 Byte angeben . Wenn Sie der Festplatte mitteilen, dass diese neuen Inhalte diesen fehlerhaften Sektor ersetzen sollen, weiß die Festplatte, dass es Ihnen egal ist, was sich derzeit im fehlerhaften Sektor befindet. Es kann dann Neuzuweisung einen schlechten Sektor zu einem der Ersatzteile und der Sektor ist nicht mehr Ausstehend .

Aus diesem Grund wird Current Pending Sectorshäufig empfohlen, bei Fragen ein Tool (z. B. Data LifeGuard von Western Digital) zu verwenden, um alle Nullen auf das Laufwerk zu schreiben.

Bildbeschreibung hier eingeben

Indem Sie Nullen in jeden Sektor auf dem Laufwerk schreiben, teilen Sie dem Laufwerk mit, dass es alle lästigen ausstehenden Sektoren endgültig neu zuordnen kann . Nach dem Wischtuch, alle Pending Sectorswerden wird Reallocated Sectors:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          66
(C4) Reallocated Event Count   196      196    0             5
(C5) Current Pending Sector    100      100    0             0

Hinweis: Es ist nicht unbedingt erforderlich, ein "Low-Level" -Tool wie Data LifeGuard von Western Digital zu verwenden. Wenn Sie Windows anweisen, ein Volume vollständig (dh ohne Quick- Format) zu formatieren, werden in jeden Sektor des Volumes Nullen geschrieben.

Das OS-Dateisystem unterstützt das Markieren von Sektoren als schlecht

Mit diesem Wissen werden wir ein allgemein verwirrendes Szenario untersuchen.

Vor der Einführung der integrierten Laufwerkselektronik (IDE) war das Host-Betriebssystem dafür verantwortlich, fehlerhafte Sektoren zu erkennen, die Lesevorgänge erneut durchzuführen, Daten in einen anderen Sektor zu verschieben und alte Sektoren als fehlerhaft zu markieren.

Wenn Sie eine chkdsk /r c:mit dem Host-Betriebssystem ausführen, wird erkannt, dass die "ausstehenden" Sektoren fehlerhaft sind, und sie werden als fehlerhaft gekennzeichnet. Versuchen Sie niemals, sie erneut zu verwenden:

> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.

        12 KB in bad sectors.

Angenommen, eine 512-Byte-Sektor-Festplatte, 12 KB "Ausstehende Sektoren" oder in diesem Beispiel 12 KB, die vom Betriebssystem als "fehlerhafte Sektoren" markiert wurden, entspricht 24 Dezimal oder hexadezimal 0x18, wie dies von einem SMART-Festplatten-Dienstprogramm angezeigt wird wie z. B. Crystal Disk Information:

ID   Attribute Name            Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(C5) Current Pending Sector    100      100    0            18

Hinweis : Das Dienstprogramm Data LifeGuard v1.31 von Western Digital (Stand: 31.08.2017) zeigt die aktuellen SMART-Raw-Zählerwerte nicht korrekt an.

Wenn Sie nun ein vollständiges Format ausführen (bei dem Nullen in jeden Sektor des Volumes geschrieben werden) :

Bildbeschreibung hier eingeben

Dies bedeutet, dass alle Sektoren, die neu zugeordnet Pendingwerden sollten, neu zugeordnet werden. Es ist jetzt für das Ablagesystem sicher, diese Sektoren wieder zu verwenden. Um dem Dateisystem mitzuteilen, dass diese Sektoren nicht mehr "schlecht" sind , führen Sie eine Option aus, bei der fehlerhafte Sektoren neu bewertet werden:

>chkdsk c: /B

Wo steht in der Kommandodokumentation

/B              NTFS only: Re-evaluates bad clusters on the volume
                (implies /R)

Oder

Laut: https://technet.microsoft.com/en-us/library/cc730714(v=ws.11).aspx

/B              NTFS only: Clears the list of bad clusters on the volume and 
                  rescans all allocated and free clusters for errors. /b includes
                  the functionality of /r. Use this parameter after imaging a
                  volume to a new hard disk drive.

Dies war eine ganze Menge Schreiben und eine ganze Menge Screenshots für etwas, das niemals gelesen werden wird.


Ich habe eine 200-MB-Datei, bei der bei 87% ein Problem auftritt. Ich habe 3 ausstehende Sektoren. Ich habe versucht, die Datei zu haschen, um gute Lesezugriffe zu erhalten und neu zugewiesene Sektoren zu beanspruchen, aber sie werden nicht neu zugewiesen! Hashing-Ergebnisse: ok, fehlgeschlagen, ok, ok, fehlgeschlagen, fehlgeschlagen. Jedes Mal, wenn das Betriebssystem in der Ereignisanzeige mehrere Festplattenfehler verursachte, und bei einwandfreiem Hashing blieb es bei 87% eine halbe Minute lang hängen. Alle Hashes sind gleich. C5 ist immer noch 3 und C4 immer noch 0. Wie sehen Sie das?
Mark Jeronimus

@MarkJeronimus Verwenden Sie einen Datei-Wiper, der alle Nullen (oder alle zufälligen Daten) in die Datei schreibt. Das sollte den Antrieb geben, zu erkennen, dass Sie sich nicht mehr für diese Sektoren interessieren.
Ian Boyd

Ich habe ein Vollformat gemacht, aber immer noch keine Änderung.
Mark Jeronimus

2
Eine Sache verstehe ich nicht ganz: Ist es möglich, (a) zu zeigen, welche Dateien die aktuellen C5-Sektoren enthalten, und (b) diese Sektoren zu "nuken", dh sie in C6 zu verschieben und den Versuch zu beenden, sie zu lesen? Ich möchte nicht, dass meine Festplatte in einem endlosen Lesezyklus hängen bleibt. Ich würde diese Sektoren eher verdunkeln und die fraglichen Dateien löschen (manuelles Wiederherstellen aus einer anderen Quelle, wenn sie wichtig sind).
MM

1
Ich möchte jedoch nicht das gesamte Laufwerk auf Null setzen, sondern nur das schlechte Stück umgehen. Werde mir das Programm ansehen, danke
MM

5

Sie müssen noch nichts tun. Die Neuzuweisungsanzahl bedeutet "Festplatte als defekt erkannt und erfolgreich neu zugewiesen". Die Firmware hat das Problem bereits behoben.

Sie müssen sich nur bewusst sein, dass das Laufwerk allmählich ausfällt. Irgendwann in der Zukunft werden auf dem Laufwerk keine freien Sektoren für die Neuzuweisung mehr verfügbar sein, und Sie verlieren Daten. Wenn ein wichtiger Block verloren geht, gehen möglicherweise alle Daten auf dem Laufwerk verloren.

Behalten Sie also diesen Wert im Auge oder kaufen Sie gleich ein neues Laufwerk, damit Sie ihn vergessen können.


3

Ich hatte gute Erfahrungen mit der hier beschriebenen Methode https://www.smartmontools.org/wiki/BadBlockHowto . Meine Festplatte machte Geräusche und funktionierte nicht mehr. Daher verwende ich Smart Report und die Formel, um den fehlerhaften Block zu berechnen und mit dd zu löschen. Ich hatte Glück, denn smart meldet immer noch eine aktuelle Anzahl von Sektoren, aber die Festplatte funktioniert seit ungefähr zwei Jahren. Ich habe einen Ersatz gekauft, aber ich habe ihn nie benutzt. Es scheint mir, dass smart auch nicht so genau ist.


oflag = direkte Option für dd beim Schreiben von Nullen an schlechten Orten, um eine Neuzuweisung zu erzwingen (wie in diesem Link vorgeschlagen), war der Teil, den ich gesucht habe. Vielen Dank!
Anton

2

Vielleicht kennen Sie dieses Tool nicht: HD Sentinel

Hard Disk Sentinel (HDSentinel) ist eine Software für die Überwachung und Analyse von SSDs und Festplatten mit mehreren Betriebssystemen. Ziel ist es, Probleme mit Festplattenlaufwerken zu finden, zu testen, zu diagnostizieren und zu beheben, den SSD- und HDD-Zustand sowie Leistungseinbußen und -ausfälle zu melden und anzuzeigen. Hard Disk Sentinel bietet eine vollständige Textbeschreibung, Tipps und zeigt / meldet die umfassendsten Informationen zu den Festplatten und Solid-State-Festplatten im Computer und in externen Gehäusen (USB-Festplatten / e-SATA-Festplatten). Es stehen viele verschiedene Warn- und Berichtsoptionen zur Verfügung, um die maximale Sicherheit Ihrer wertvollen Daten zu gewährleisten.

Dies scheint ein großartiges Werkzeug zu sein, um solche Aktionen durchzuführen. Beachten Sie jedoch, dass einige Ausführungsoptionen die Daten vollständig zerstören können.


1

Sie müssen ein Tool verwenden, das in jeden Sektor des Laufwerks schreibt. Ansonsten gibt es keine Möglichkeit, dies zu tun. Wenn das Laufwerk einen Ersatzsektor zugewiesen und neu zugeordnet hat, welche Daten sollte es in den Ersatzsektor stellen? Es hat keine Ahnung, da sein Versuch, aus dem vorhandenen Sektor zu lesen, fehlgeschlagen ist. Nur ein Schreibvorgang kann den Fehler beheben.


Das Formatieren der gesamten Festplatte ist ein Schreibvorgang für jeden Sektor? Ich habe das Laufwerk bereits formatiert (Windows-basierter Formatierungsbefehl, kein 'Schnellformatieren'). Vielen Dank
Edteke

2
Ein schnelles Format ist nicht ein Schreibvorgang für jeden Sektor, sondern normalerweise ein reguläres Format. Sie können jederzeit DBaN verwenden . Hat das reguläre Format zumindest die Anzahl reduziert?
David Schwartz

Ich habe ein reguläres Format (kein schnelles Format) erstellt. Ich habe einen Countdown oder eine Neuzuordnung nach dem Format erwartet, aber die Nummer war dieselbe. Vielen Dank
Edteke

Das ist eigentlich sehr seltsam. Hat die Partition, die Sie formatiert haben, die Größe des gesamten Laufwerks?
David Schwartz

@edgh: Ein reguläres Format hilft nicht, wenn Sie einen solchen Fehler haben. Ich schlage vor, Sie versuchen meine Methode.
Gigamegs

1

Kein Schreiben, auch Low Level Format genannt. Sie können dies normalerweise nur mit einem Festplatten-Dienstprogramm des Herstellers tun. Wenn es einen Festplattenfehler gibt, der diesen Fehler verursacht, kann er fast sofort wieder auftreten.


1

Probieren Sie bootfähige CDs mit Spinrite 6 oder HDD Regenerator aus. Sie schreiben Oberflächentests, damit ausstehende fehlerhafte Sektoren gelöscht und die neu zugewiesene Anzahl erhöht werden.


0

Um eine weitere Lösung hinzuzufügen, habe ich kürzlich Victoria verwendet , um zwei Festplatten zu reparieren, die mit ausstehenden Sektoren ausgefallen sind. Die Festplatte hat diese jedoch nicht automatisch neu zugeordnet.

Victoria ist eine grafische Benutzeroberfläche auf niedriger Ebene für Ihre Festplatte. Sie enthält (wenn Sie es wirklich wollen!) Die eigentliche byteweise Bearbeitung der Festplatte, erzwingt das erneute Zuordnen von Sektoren bei Fehlern, unterstützt USB-Laufwerke und diese billigen USB-2-Sata von China Bay Adapter, Ändern der werksseitig festgelegten intelligenten Attribute und Funktionen und vieles mehr.

Der Nachteil - es wurde von einem russischen Entwickler entwickelt und ich überlasse es Ihnen, die Büchse der Pandora zu öffnen, wenn Sie Probleme damit haben ...

Mit Victoria griff ich nach dem ersten Sektor, der nicht neu zugeordnet werden konnte, und führte anschließend einen "Lese" -Scan jedes Sektors mit einer Force-Neuzuordnung durch. Ich habe dann eine "Überprüfung" der gesamten Festplatte durchgeführt, die intelligente Überprüfung erneut ausgeführt, und es ist jetzt in Ordnung ...

... Aber ich habe Ersatzlaufwerke und bin gerade dabei, sie auszutauschen. Das war ein bisschen beängstigend, da ich ausgerechnet zwischen Backup-Lösungen bin!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.