Comment forcer un remappage des secteurs déclarés dans SMART C5 (Nombre actuel de secteurs en attente)?


38

La valeur SMART C5 de mon disque dur Samsung HM640JJ (dans un ordinateur portable HP Pavilion dv6) est "yellow status = caution"

C5 était 10 hier, et 21 aujourd'hui.

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

Comment puis-je forcer le firmware à les réaffecter?

  • J'ai supprimé les partitions, les ai recréées et formaté l'intégralité du lecteur.
  • Iran chkdsk /r /f
  • J'ai exécuté l'utilitaire de vérification du disque du BIOS et d'autres outils de diagnostic / réparation

Pour ce faire, je me sers de la disquette de démarrage spinrite6 au niveau 2 .... grc.com/intro.htm
Moab

Réponses:


118

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.

entrez la description de l'image ici

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_BLOCKSleur 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 Sectorssont. 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:

entrez la description de l'image ici

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 Sectorss'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.

entrez la description de l'image ici

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 Sectorsdeviendra 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) :

entrez la description de l'image ici

Cela signifie que tous les secteurs qui allaient Pendingvont ê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.


J'ai un fichier de 200 Mo qui a un problème à 87%. J'ai 3 secteurs en attente. J'ai essayé de hacher le fichier pour obtenir de bonnes lectures et revendiquer des secteurs réaffectés, mais ils ne sont pas réaffectés! Résultats de hachage: ok, échouer, ok, ok, échouer, échouer. Chaque fois que le système d'exploitation générait plusieurs erreurs de disque dans l'afficheur d'événements et sur les hachages corrects, il était suspendu pendant une demi-minute à 87%. Tous les hashes sont égaux. C5 est toujours 3 et C4 encore 0. Que pensez-vous de cela?
Marc Jeronimus

@MarkJeronimus Essayez d'utiliser un essuie-glace de fichier, qui écrit tous les zéros (ou toutes les données aléatoires) dans le fichier. Cela devrait vous amener à réaliser que vous ne vous souciez plus de ces secteurs.
Ian Boyd

J'ai fait un format complet, mais toujours pas de changement.
Marc Jeronimus

2
Une chose que je ne comprends pas très bien: est-il possible de (a) montrer quels fichiers contiennent les secteurs actuels de C5, et (b) de «supprimer» ces secteurs, c.-à-d. Les déplacer vers C6, et cesser d’essayer de les lire? Je ne veux pas que mon disque dur reste bloqué dans un cycle de lecture défaillant sans fin; préférerait masquer ces secteurs et supprimer les fichiers en question (en les restaurant manuellement à partir d’une autre source s’ils sont importants).
MM

1
Cependant, je ne veux pas mettre le lecteur entier à zéro, mais contourner le problème. Allez jeter un coup d'œil à ce programme, merci
MM.

5

Vous n'avez rien à faire - pour l'instant. Le nombre de réallocations signifie "le disque a trouvé un secteur défectueux et l’ a réaffecté avec succès ". Le firmware a déjà résolu le problème.

Vous devez juste être conscient du fait que le lecteur commence à tomber en panne. À l'avenir, il ne restera plus de secteurs libres sur le lecteur pour la réaffectation et vous perdrez des données. Si un bloc important est perdu, vous risquez de perdre toutes les données du disque.

Alors gardez un œil sur cette valeur ou achetez immédiatement un nouveau disque afin de l’oublier.


3

J'ai eu une bonne expérience de la méthode décrite ici https://www.smartmontools.org/wiki/BadBlockHowto . Mon disque faisait du bruit et cessait de fonctionner. J'utilise donc smart report et la formule permettant de calculer le bloc défectueux et d'utiliser dd pour le supprimer. J'ai eu de la chance car smart rapporte toujours le nombre de secteurs en cours, mais le disque fonctionne depuis environ 2 ans. J'ai acheté un remplacement mais je ne l'ai jamais utilisé. Il me semble qu'intelligent n'est pas si exact non plus.


oflag = option directe pour dd lors de l'écriture de zéros aux mauvais endroits pour forcer la réallocation (comme suggéré dans ce lien) était la partie que je recherchais. Merci!
Anton

2

Peut-être que vous ne connaissez pas cet outil: HD Sentinel

Hard Disk Sentinel (HDSentinel) est un logiciel de surveillance et d’analyse multi-OS SSD et HDD. Son objectif est de rechercher, tester, diagnostiquer et réparer les problèmes de disque dur, de signaler et d'afficher l'état de santé des disques SSD et HDD, les dégradations des performances et les défaillances. Hard Disk Sentinel fournit une description textuelle complète, des conseils et affiche / répertorie les informations les plus complètes sur les disques durs et les disques SSD à l'intérieur de l'ordinateur et dans des boîtiers externes (disques durs USB / e-SATA). De nombreuses alertes et options de rapport différentes sont disponibles pour assurer une sécurité maximale de vos précieuses données.

Cela semble être un excellent outil pour faire de telles actions. Attention, certaines options d'exécution peuvent détruire complètement les données.


1

Vous devez utiliser un outil qui écrit dans chaque secteur du lecteur. Sinon, il n'y a aucun moyen de le faire. Si le lecteur a alloué un secteur disponible et remappé, quelles données doit-il mettre dans le secteur disponible? Il n’en a aucune idée puisque sa tentative de lecture du secteur existant a échoué. Seule une opération d'écriture peut effacer l'erreur.


Formater le disque dur entier est une opération d’écriture pour chaque secteur? J'ai déjà formaté le lecteur (commande de formatage Windows, pas de "formatage rapide"). Merci
Edteke

2
Un format rapide n’est pas une opération d’écriture pour tous les secteurs, mais un format standard. Vous pouvez toujours utiliser DBaN . Le format standard a-t-il au moins réduit le nombre?
David Schwartz

J'ai fait un format régulier (pas un format rapide), je m'attendais au compte à rebours ou à une reconfiguration après le format, mais le nombre était identique. Merci
Edteke

C'est très étrange, en fait. La partition que vous avez formatée était-elle de la taille du lecteur entier?
David Schwartz

@edgh: Un format standard n'aide pas lorsque vous avez une telle erreur. Je vous suggère d'essayer ma méthode.
Gigamegs

1

Zéro écriture, également appelé formatage simple. Vous ne pouvez généralement le faire qu'avec un utilitaire de disque du fabricant. Si une défaillance du disque dur est à l'origine de cette erreur, elle peut revenir presque immédiatement.


1

Essayez les CD amorçables Spinrite 6 ou HDD regenerator. Ils écrivent des tests de surface, ils devraient donc effacer les mauvais secteurs en attente et augmenter le nombre de réaffectations.


0

Pour ajouter une autre solution, j'ai récemment utilisé Victoria pour réparer 2 disques en échec avec des secteurs en attente, mais le disque ne les remappait pas automatiquement de son propre chef.

Victoria est une interface graphique de bas niveau pour votre disque et inclut (si vous le souhaitez vraiment) l'édition réelle, octet par octet, du disque, le remappage forcé du secteur sur les défaillances, prend en charge les clés USB et celles bon marché de China-bay USB-2-sata. adaptateurs, modifier les attributs et fonctionnalités intelligents définis en usine, etc.

L'inconvénient - il a été développé par un développeur russe et je vous laisse ouvrir cette boîte de Pandore si vous rencontrez des problèmes ...

Avec Victoria, j’ai saisi le premier secteur qui n’a pas réussi à reconfigurer, puis j'ai lancé une analyse de "lecture" de chaque secteur avec un remappage de la force. J'ai ensuite lancé une "vérification" de tout le disque, puis relancé la vérification intelligente, et tout va bien maintenant ...

... Mais, j'ai des disques de rechange, je suis donc en train de les échanger maintenant. C'était un peu effrayant, car je suis aussi entre les solutions de sauvegarde, de tous les temps!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.