Réponse courte: écrivez quelque chose de nouveau dans le secteur (même des zéros - ce que fait un format long).
Longue réponse
Les disques durs essaient aujourd'hui de cacher les secteurs défectueux de l'ordinateur hôte. L'ordinateur hôte demande simplement au lecteur de renvoyer le contenu d'un numéro de secteur particulier. Normalement, le lecteur lit le secteur, le renvoie à la machine hôte et tout va bien.
Le disque dur sait si la valeur lue est valide ou non, car le lecteur utilise un code de correction d'erreur (ECC) pour valider que le contenu lu est correct. Si le lecteur détecte que le contenu du secteur n'est pas valide, il relancera la lecture. L'espoir est que s'il le relit simplement, il obtiendra le contenu correct du secteur. Il réessayera jusqu'à ce qu'il obtienne une bonne valeur ou que sa limite de temps soit atteinte (anciennement appelée limite d'exécution des commandes ou CCTL ).
Au cours de ces tentatives, le lecteur semblera mort; comme il ne répond plus aux commandes .
Secteurs Spare
La plupart des disques modernes contiennent un certain nombre de secteurs "en réserve" (par exemple, 1 024 secteurs en réserve). Si le lecteur reconnaît un secteur comme étant mauvais, il cessera de l'utiliser. Toute demande de lecture ou d'écriture sur ce secteur endommagé sera redirigée de manière transparente vers un secteur de réserve. Ce marquage d'un secteur défectueux et la réaffectation de ses données vers un secteur de réserve s'appelle un événement de réaffectation . Et le nombre total de secteurs qui ont été réaffectés (et donc combien de vos secteurs de réserve ont été épuisés ) est le nombre de secteurs réaffectés .
Dans cet exemple d'un de mes propres disques durs, 64 secteurs ont été trouvés mauvais. Cela signifie que 64 des secteurs de réserve du lecteur ont été appelés:
ID Current Worst Threshold Raw
============================= ======= ===== ========= ===
(05) Reallocated Sector Count 192 192 140 64
Sur ce même disque dur, il y a eu 4 événements de réaffectation . Cela signifie que, dans quatre cas, le lecteur a marqué les secteurs comme étant mauvais et a utilisé des secteurs de réserve.
ID Current Worst Threshold Raw
============================= ======= ===== ========= ===
(05) Reallocated Sector Count 192 192 140 64
(C4) Reallocated Event Count 196 196 0 4
Et si il ne peut jamais lire les données?
Ces actions de relire des secteurs, de consommer des pièces de rechange, tout cela derrière le dos de l'ordinateur est une bonne chose. Cela signifie que le système d'exploitation hôte n'a pas à traiter le problème des secteurs défaillants. Le lecteur lui-même peut gérer ces détails lui-même.
Bonus Chatter : Autrefois, votre disque dur était expédié avec un autocollant. Cet autocollant contenait la liste des défauts d’usine ; la liste de tous les points négatifs connus sur le lecteur.
Si vous exécutiez un formatage de bas niveau du lecteur, vous deviez utiliser un outil pour taper tous les emplacements des points faibles de la tête de cylindre .
Les lecteurs SCSI ont une commande, IOCTL_DISK_REASSIGN_BLOCKS
leur dire de réaffecter un emplacement défectueux sur le lecteur après sa détection par le système d'exploitation. Dans les lecteurs IDE, tout cela se fait automatiquement, sans intervention du système d'exploitation.
Idéalement, le lecteur devrait reconnaître que le secteur est en panne, déplacer les données vers un secteur de réserve et ne plus jamais utiliser le secteur d'origine. Mais que se passe-t-il si le lecteur n'a pas réussi à lire le secteur?
C'est ce que Pending Sectors
sont. Le lecteur a détecté la défaillance d’un secteur et doit être remappé sur un secteur en réserve. Mais il ne peut pas le faire avant d'avoir réussi à lire les données. Lorsque le lecteur sait qu'un secteur est mauvais et qu'il doit être remappé, il ne peut pas le faire pour l'instant car il attend une lecture correcte du secteur: cela s'appelle le nombre de secteurs en attente :
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
Mon disque dur a 2 secteurs que le lecteur reconnaît comme mauvais, mais ne peuvent pas encore être réaffectés. Si vous lisiez l'un de ces "secteurs en attente", le lecteur essaierait probablement (et réessayait et réessayait), puis renvoyait une erreur de lecture au système d'exploitation hôte:
Abandonnez le secteur en attente et il sera réaffecté
Le lecteur peut enfin réaffecter le secteur et consommer un autre secteur disponible:
- il a enfin une bonne lecture
- vous ne vous souciez plus de ce qu'il y a dans le secteur
Si le lecteur lit enfin le secteur, il sait qu'il peut réaffecter le secteur.
L’autre moyen de réaffecter le secteur est de le laisser savoir que le contenu de ce secteur n’est pas pertinent; que vous ne vous souciez plus de ce qu'il y a dedans. Comment tu fais ça?
En écrivant quelque chose de nouveau dans le secteur.
Chaque fois que vous lisez ou écrivez dans un secteur d'un disque dur, vous devez lire / écrire l' intégralité du secteur de 512 octets 1 . Vous n'êtes pas en mesure d'écrire qu'une partie d'un secteur. Lorsque le système d'exploitation écrit des données dans un secteur, il doit spécifier la totalité des 512 octets. Si vous indiquez au disque dur que vous souhaitez que ces nouveaux contenus remplacent ce secteur défectueux, le lecteur sait alors que vous ne vous souciez même pas de ce qui se trouve actuellement dans le secteur défectueux. Il peut alors réaffecter un secteur défectueux à l’un des disques de rechange, et le secteur n’est plus en attente .
C'est pourquoi, lorsque les utilisateurs demandent Current Pending Sectors
s'ils en ont, le conseil le plus courant est d'utiliser un outil (tel que Data LifeGuard de Western Digital) pour écrire tous les zéros sur le lecteur.
En écrivant des zéros sur chaque secteur du lecteur, vous indiquez au lecteur qu'il peut enfin réaffecter tous les secteurs embêtants en attente . Après le nettoyage, tout Pending Sectors
deviendra 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
Remarque: il n'est pas strictement nécessaire d'utiliser un outil de "bas niveau" tel que Data LifeGuard de Western Digital. Si vous demandez à Windows d’effectuer un format complet (c’est-à-dire un format non rapide ) d’un volume, des zéros seront écrits sur chaque secteur du volume.
Le système de classement OS prend en charge le marquage des secteurs comme mauvais
Forts de cette connaissance, nous allons explorer un scénario souvent déroutant.
Avant l'avènement d' Integrated Drive Electronics (IDE), le système d'exploitation hôte était chargé de détecter les secteurs défectueux, de relancer les lectures, de transférer les données dans un autre secteur et de marquer les anciens secteurs comme étant défectueux.
Si vous exécutiez un chkdsk /r c:
système d'exploitation utilisant le système d'exploitation hôte, il reconnaîtrait que les secteurs "en attente" sont défectueux et les marquerait comme tels, sans jamais essayer de les utiliser à nouveau:
> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.
12 KB in bad sectors.
Donc, en supposant un disque dur de secteur de 512 octets, 12 Ko de «secteurs en attente» ou dans cet exemple, 12 ko marqués par le système d'exploitation comme «secteurs défectueux», cela correspondrait à un nombre décimal 24 ou hexadécimal 0x18, comme le montrerait un utilitaire de disque SMART comme Crystal Disk Information:
ID Attribute Name Current Worst Threshold Raw
============================= ======= ===== ========= ====
(C5) Current Pending Sector 100 100 0 18
Remarque : l'utilitaire Data LifeGuard v1.31 (le dernier en date du 31/08/2017) de Western Digital ne semble pas afficher correctement les valeurs de compteur SMART «brutes» actuelles.
Maintenant, si vous effectuez un format complet (qui écrit des zéros dans chaque secteur du volume) :
Cela signifie que tous les secteurs qui allaient Pending
vont être réaffectés. Il est maintenant sûr que le système de classement utilise à nouveau ces secteurs. Pour indiquer au système de classement que ces secteurs ne sont plus "mauvais" , vous effectuez une option dans laquelle il réévalue les secteurs défectueux:
>chkdsk c: /B
où la documentation de commande dit
/B NTFS only: Re-evaluates bad clusters on the volume
(implies /R)
Ou
Selon:
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.
Il s’agissait d’une écriture très complète et de très nombreux screenshots, pour quelque chose qui ne sera jamais lu.