Impossible d'écrire des zéros dans de mauvais secteurs / disque dur sans compter les secteurs réalloués


10

J'ai un lecteur qui signale que les secteurs en attente actuels sont "45". J'ai utilisé des badblocks pour identifier les secteurs et j'ai essayé de leur écrire des zéros avec dd .

D'après ce que je comprends, lorsque j'essaie d'écrire des données directement dans les secteurs défectueux, cela devrait déclencher une réallocation, réduisant d'un secteur les secteurs en attente et augmentant le nombre de secteurs réalloués.

Cependant, sur ce disque, les valeurs brutes Reallocated_Sector_Ct et Reallocated_Event_Count sont égales à 0 et dd échoue avec des erreurs d'E / S lorsque j'essaie d'écrire des zéros dans les secteurs défectueux. dd fonctionne bien, cependant, quand j'écris dans un bon secteur.

# dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=217152
dd: error writing ‘/dev/sdb’: Input/output error

Cela signifie-t-il que mon lecteur, en quelque sorte, n'a pas de secteurs de rechange à utiliser pour la réaffectation? Est-ce que mon entraînement est en général une personne terrible? (Le lecteur n'est pas en fait le mien, j'aide un ami. Il se peut qu'il ait obtenu un lecteur bon marché ou quelque chose.)

Dans le cas où cela est pertinent, voici la sortie de smartctl -i :

Model Family:     Western Digital Caviar Green (AF)
Device Model:     WDC WD15EARS-00Z5B1
Serial Number:    WD-WMAVU3027748
LU WWN Device Id: 5 0014ee 25998d213
Firmware Version: 80.00A80
User Capacity:    1,500,301,910,016 bytes [1.50 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Fri Oct 18 17:47:29 2013 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

MISE À JOUR:
J'ai exécuté shredsur le disque, ce qui a fait que Current_Pending_Sector passe à zéro. Cependant, Reallocated_Sector_Ct et Reallocated_Event_Count sont toujours nuls, et dd est désormais en mesure d'écrire des données dans les secteurs qu'il ne pouvait pas auparavant. Cela m'amène à plusieurs autres questions:

  • Pourquoi les réaffectations ne sont-elles pas récupérées par le disque? Je suppose que la réaffectation a eu lieu car je peux maintenant écrire des données directement dans le secteur et je ne pouvais pas auparavant.

  • Pourquoi shred a-t-il causé une réallocation et non dd? Le fait que shred écrit des données aléatoires au lieu de simplement des zéros fait-il une différence?


Comment sont les autres valeurs SMART? Est Uncorrectable Sector Countplus que zéro?
Synetech

Offline_Uncorrectable, que je suppose être la même chose, a une valeur brute de 25.
MetaNova

Oui, et il semble que le disque soit en mauvais état. Vous pouvez vérifier les valeurs par rapport à ce tableau , en accordant une attention particulière aux lignes rouges (valeurs critiques pour la santé). Le meilleur pari est de copier (ne pas déplacer) tout ce qui est précieux / irremplaçable ailleurs, de redémarrer pour lui donner un cycle d'alimentation, et si cela fonctionne toujours, lui donner une bonne lingette (de préférence avec ses propres outils dédiés , et le mettre de côté comme stockage de rechange pour les données sans importance comme les vidéos téléchargées
Synetech

Merci pour votre réponse. Ma principale question devrait probablement être de savoir pourquoi il ne peut pas réaffecter ces secteurs. Ne devrait-il pas simplement détecter les secteurs défectueux, les éviter dans le vide, les réaffecter et passer à autre chose? Je ne m'inquiète pas des données sur le disque car il a longtemps été nettoyé. Mon ami n'est pas impatient d'avoir un presse-papier de 1,5 To s'il peut l'éviter.
MetaNova

Cela semble être la chose à laquelle s'attendre, mais il se peut qu'il ait une mauvaise tête. Si c'est le cas, alors essayer de lire le lecteur fonctionnerait jusqu'à ce que vous essayiez d'accéder au plateau qui a une mauvaise tête, alors vous obtiendrez un tas d'erreurs de lecture car sans tête à lire, tout le plateau est inaccessible. Bien sûr, il dit que le secteur 45 est mauvais, ce qui pourrait être dû au fait qu'il est déjà réalloué, mais le SMART n'a pas été mis à jour. La garantie a expiré il y a quelques mois, mais vous pouvez essayer de leur envoyer un courriel et peut-être qu'ils feront un remplacement de courtoisie.
Synetech

Réponses:


9

Le lecteur WD15EARS (et la plupart des autres lecteurs récemment produits) utilise le format avancé , ce qui signifie que la taille réelle du secteur physique de ce lecteur est de 4 Ko, et que la taille traditionnelle du secteur de 512 octets vient d'être émulée. De ce fait, si un seul secteur physique de 4 Ko devient défectueux, les 8 secteurs de 512 octets émulés correspondants deviennent illisibles à la fois.

(La Sector Size: 512 bytes logical/physicalsortie de smartctln'est pas correcte, car certains disques WD15EARS signalent une taille de secteur physique incorrecte  - apparemment, votre disque a une version de firmware qui est cassée à cet égard.)

De plus, lorsqu'un seul secteur émulé de 512 octets est écrit, le lecteur Advanced Format doit en fait lire tout le secteur physique de 4 Ko, modifier la partie correspondante de 512 octets, puis écrire tout le secteur physique sur le support. Si le support est bon, cette opération de lecture-modification-écriture provoque juste un ralentissement significatif par rapport à un lecteur avec de vrais secteurs physiques de 512 octets. Cependant, si le secteur physique de 4 Ko est mauvais et ne peut pas être lu, toute opération d'écriture qui ne réécrit pas complètement le secteur échouera. Pour cette raison, vous ne pouvez pas forcer la réallocation de secteur sur de tels disques en utilisant ddavec bs=512 count=1 - vous devez utiliser au moins bs=512 count=8et vous assurer que le numéro de secteur dans leseek= L'option est un multiple de 8. (Cela suppose que le cavalier «compatible Windows XP» n'est pas installé, sinon le décalage d'alignement ajouté par ce cavalier doit également être pris en compte.)

Une autre raison pour laquelle forcer la réallocation avec ddpeut échouer est que, par défaut, Linux utilise un cache dans la couche de bloc pour accéder aux périphériques de bloc, ce qui peut provoquer des opérations de lecture-modification-écriture dans le logiciel, qui échoueraient également lorsqu'un secteur illisible est rencontré. Vous pouvez ajouter l' oflag=directoption de contourner ce cache pour le périphérique spécifié par of=...(il existe également l' iflag=directoption, qui s'applique au périphérique d'entrée).


Merci, merci, merci, cela a été très utile. J'ai lu l'étiquette sur le lecteur et elle indique "format avancé". Je sais ce que cela signifie maintenant ... Avez-vous une idée, cependant, que le lecteur ne signale aucun secteur réaffecté?
MetaNova

1
les "secteurs en attente" ne sont pas nécessairement de mauvais secteurs, le disque a juste eu un peu de mal à le lire auparavant lors de ses vérifications inactives, peut-être parce qu'il n'y avait pas écrit depuis longtemps et que les données commençaient à s'estomper (c.-à-d. affaiblissement du champ magnétique ). L'écriture de nouvelles données dans ce secteur rafraîchit les données de ce secteur avec de nouvelles données fortement formées sur le disque. Ainsi, si vous écrivez dans un secteur en attente, le disque suppose qu'il est correct maintenant. Vous devriez essayer de relire les données de ces secteurs pour confirmer qu'elles sont stables.
BeowulfNode42

pour les personnes qui ne se soucient pas des données sur le disque et qui ne veulent pas trouver la liste exacte des secteurs ou faire le calcul du nombre de secteurs simplement dd le disque entier avec une taille de bloc d'un multiple de 4 Ko, comme 16 Mo. Utilisez ensuite une taille de bloc de 4 Ko pour la dernière partie du disque qui est plus petite que la taille de bloc précédemment choisie.
BeowulfNode42

0

J'ai dû le faire récemment et j'ai constaté que l'exécution de shred sur l'ensemble du disque fonctionnait très bien. Bien que le déchiquetage soit inutile pour son usage prévu, sauf sur les disquettes, il fait exactement ce qui est nécessaire pour obtenir l'auto-guérison sur les mauvais blocs.

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.