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.
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_BLOCKS
mit 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 Sectors
sind. 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:
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 Sectors
häufig empfohlen, bei Fragen ein Tool (z. B. Data LifeGuard von Western Digital) zu verwenden, um alle Nullen auf das Laufwerk zu schreiben.
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 Sectors
werden 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) :
Dies bedeutet, dass alle Sektoren, die neu zugeordnet Pending
werden 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.