46 votes

Comment forcer un remappage des secteurs signalés dans S.M.A.R.T C5 (Décompte des secteurs en attente actuel) ?

La valeur S.M.A.R.T C5 de mon disque dur Samsung HM640JJ (dans un ordinateur portable HP Pavilion dv6) est "état jaune = mise en garde"

C5 était de 10 hier et est de 21 aujourd'hui.

C4 (Compteur d'événements de réaffectation) = 0 et 05 (Compteur de secteurs réalloués) = 0

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

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

136voto

Remi Despres-Smyth Points 1500

Réponse courte : Inscrivez quelque chose de nouveau dans le secteur (même des zéros - ce que fait un format long).

Réponse longue

Les disques durs d'aujourd'hui tentent de cacher les secteurs défectueux à l'ordinateur hôte. L'ordinateur hôte demande simplement au disque de renvoyer le contenu d'un numéro de secteur particulier. Normalement, le disque lit le secteur, le renvoie à l'ordinateur hôte et tout se passe bien.

Le disque dur sait si la valeur qu'il a lue est valide ou non, car il utilise la fonction Code correcteur d'erreurs (ECC) pour valider que le contenu qu'il a lu est correct. Si le lecteur détecte que le contenu du secteur n'est pas valide, il réessaie la lecture. L'espoir est que s'il le lit à nouveau, il obtiendra le contenu correct du secteur. Il continuera à réessayer jusqu'à ce qu'il obtienne une bonne valeur ou qu'il ait atteint sa limite de temps (officiellement connue sous le nom de "temps de lecture"). Délai d'exécution de la commande, ou CCTL ).

Pendant ces tentatives, le lecteur semble mort, car il ne répond plus aux commandes .

Secteurs de remplacement

La plupart des disques modernes contiennent un certain nombre de "de réserve" secteurs (par exemple, 1 024 secteurs de réserve). Si le lecteur reconnaît qu'un secteur est mauvais, il cesse 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 à un secteur de réserve s'appellent un Événement de réaffectation . Le nombre total de secteurs qui ont été réalloués (et donc le nombre de secteurs disponibles qui ont été utilisés) est le suivant Nombre de secteurs réalloués .

Dans cet exemple tiré d'un de mes propres disques durs, 64 secteurs se sont révélés défectueux. Cela signifie que 64 des secteurs libres du disque ont été utilisé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 qu'à quatre reprises, le disque a marqué des secteurs comme étant mauvais et a utilisé des secteurs de rechange à la place.

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

Et s'il ne peut jamais lire les données ?

Ces actions de relecture des secteurs, de consommation de pièces de rechange, le tout dans le dos de l'ordinateur, sont une bonne chose. Cela signifie que le système d'exploitation hôte n'a pas à gérer le problème des secteurs défaillants. Le lecteur lui-même peut s'occuper de ces détails.

Bavardage sur les bonus : Autrefois, votre disque dur était livré avec un autocollant. Cet autocollant contenait les Liste des défauts d'usine ; la liste de tous les points faibles connus sur le disque.

enter image description here

Si vous avez effectué un formatage de bas niveau du disque, vous avez dû utiliser un outil pour saisir toutes les données du disque. Secteur de la tête de cylindre l'emplacement des points noirs.
Les lecteurs SCSI ont une commande, IOCTL_DISK_REASSIGN_BLOCKS pour leur demander de réattribuer un emplacement défectueux sur le disque après que le système d'exploitation l'a détecté. Avec les lecteurs IDE, tout cela se fait automatiquement, sans que le système d'exploitation n'ait à intervenir.

Idéalement, le disque reconnaîtrait la défaillance du secteur, déplacerait les données vers un secteur de rechange et n'utiliserait plus jamais 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 disque a détecté qu'un secteur est défaillant et doit être remplacé par un secteur de rechange. Mais il ne peut pas le faire tant qu'il n'a pas réussi à lire les données. Lorsque le lecteur sait qu'un secteur est défectueux et qu'il doit être remplacé, mais qu'il ne peut pas encore le faire parce qu'il attend une bonne lecture du secteur : c'est ce qu'on appelle l'état d'urgence. 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 qui ne peuvent pas encore être réalloués. Si vous lisiez l'un de ces "secteurs en attente", le lecteur réessayerait probablement (et réessayerait, et réessayerait), et finirait par renvoyer une erreur de lecture au système d'exploitation hôte :

enter image description here

Abandonnez le secteur en attente et il sera réaffecté.

Il y a deux façons dont le lecteur peut finalement réaffecter le secteur, et consommer un autre secteur de réserve :

  • il fait enfin l'objet d'une bonne lecture
  • vous ne vous souciez plus de ce qu'il y a dans le secteur

Si le lecteur a finalement lu le secteur, il sait qu'il peut le réattribuer.

L'autre moyen pour le lecteur de réattribuer le secteur est de lui faire savoir que le contenu de ce secteur n'est pas pertinent, que vous ne vous souciez plus de ce qu'il contient. Comment procéder ?

En écrivant quelque chose de nouveau pour le secteur.

Chaque fois que vous lisez ou écrivez dans un secteur d'un disque dur, vous devez lire/écrire les données suivantes entière Secteur de 512 octets 1 . Vous ne pouvez pas écrire seulement partie d'un secteur. Lorsque le système d'exploitation écrit des données dans un secteur, il doit spécifier le paramètre entière 512 octets. Si vous dites au disque dur que vous voulez que ces nouveaux contenus remplacent ce secteur défectueux, le disque 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 sur l'un des disques de réserve, et le secteur n'est plus En attente .

C'est pourquoi, lorsque les gens se demandent s'il est possible d'avoir des Current Pending Sectors 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 disque.

enter image description here

En écrivant des zéros dans chaque secteur du disque, vous indiquez au disque qu'il peut enfin réattribuer tous ces secteurs gênants. secteurs en suspens . Après le nettoyage, tous vos 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" comme Data LifeGuard de Western Digital. Si vous demandez à Windows d'effectuer une complet (c'est-à-dire non Rapide ) d'un volume, il écrira des zéros dans chaque secteur du volume.

Le système d'archivage du système d'exploitation permet de marquer les secteurs comme mauvais

Armés de ces connaissances, nous allons explorer un scénario qui prête souvent à confusion.

Avant l'avènement de la Électronique d'entraînement intégrée (IDE), le système d'exploitation hôte était chargé de détecter les secteurs défectueux, de réessayer les lectures, de déplacer les données vers un autre secteur et de marquer les anciens secteurs comme défectueux.

Si vous deviez exécuter un chkdsk /r c: en utilisant le système d'exploitation de l'hôte, il reconnaîtrait que la "en attente" Les secteurs sont mauvais, il faut les marquer comme tels et ne plus jamais essayer de les utiliser :

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

        12 KB in bad sectors.

Ainsi, en supposant un disque dur 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", correspondraient à la valeur décimale 24 ou à la valeur hexadécimale 0x18, comme l'indiquerait un utilitaire de disque S.M.A.R.T. tel que Crystal Disk Information :

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

Note : L'utilitaire Data LifeGuard v1.31 (dernier en date du 31/08/2017) de Western Digital ne semble pas afficher correctement les valeurs actuelles du compteur S.M.A.R.T. 'Raw'.

Maintenant, si vous effectuez une format complet (qui écrit des zéros dans chaque secteur du volume) :

enter image description here

Cela signifie que tous les secteurs qui étaient Pending vont être réaffectés. Le système d'archivage peut à nouveau utiliser ces secteurs en toute sécurité. Afin d'indiquer au système d'archivage que ces secteurs ne sont plus "mauvais" vous effectuez une option où il réévalue les mauvais secteurs :

>chkdsk c: /B

où la documentation de la commande dit

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

O

D'après : https://docs.microsoft.com/en-us/Windows-server/administration/Windows-commands/chkdsk

Paramètres

Description

/B

A utiliser uniquement avec NTFS. Efface la liste des clusters défectueux sur le volume et réanalyse tous les clusters alloués et libres à la recherche d'erreurs. /b inclut les fonctionnalités de /r. Utilisez ce paramètre après avoir créé une image d'un volume sur un nouveau disque dur.

C'était beaucoup d'écriture, et beaucoup de captures d'écran, pour quelque chose qui ne sera jamais lu.

6voto

Aaron Digulla Points 6565

Vous n'avez pas besoin de faire quoi que ce soit - pour l'instant. Le nombre de reallocation signifie que le disque a trouvé un secteur défectueux et l'a successfully reallocated. Le firmware a déjà corrigé le problème.

Vous devez simplement être conscient que le disque commence à être en panne. À un moment donné à l'avenir, le disque n'aura plus de secteurs de rechange pour la reallocation et vous risquez de perdre des données. Si un bloc important est perdu, vous pourriez perdre toutes les données du disque.

Alors gardez un œil sur cette valeur ou achetez immédiatement un nouveau disque pour ne plus y penser.

3voto

RandomEngy Points 6937

J'ai eu une bonne expérience avec la méthode décrite ici https://www.smartmontools.org/wiki/BadBlockHowto. Mon disque dur faisait du bruit et a cessé de fonctionner, j'ai donc utilisé le rapport intelligent et la formule pour calculer le bloc défectueux et utilisé dd pour le nettoyer. J'ai eu de la chance car le rapport intelligent indique toujours un compteur de secteurs actuel mais le disque fonctionne depuis environ 2 ans. J'ai acheté un remplacement mais je ne l'ai jamais utilisé. Il me semble que smart n'est pas non plus si précis.

1voto

David Schwartz Points 60868

Vous devez utiliser un outil qui écrit sur chaque secteur du disque. Sinon, il n'y a aucun moyen de le faire. Si le disque alloue un secteur de secours et le remappe, quelles données devrait-il mettre dans le secteur de secours? Il n'en sait rien, car sa tentative de lecture à partir du secteur existant a échoué. Seule une opération d'écriture peut effacer l'erreur.

1voto

luksan Points 4063

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

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

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X