[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 1 Currently unreadable (pending) sectors : je panique ?



Frédéric BOITEUX a écrit :

> Oui, je ne me rappelle plus si c'est expliqué dans le BadBlockHowto,
> mais le message que tu as (qui correspond au '1' en fin de la ligne :
> 197 Current_Pending_Sector  0x0022   100   100   000    Old_age
> Always       -       1) persistera tant que le disque ne saura pas
> quoi écrire dans ce bloc qu'il sait défectueux : le seul moyen de
> faire disparaître le message est d'écrire quelque chose (généralement
> des zéros) dans le bloc qui lui pose problème : il abandonnera alors
> le bloc qu'il sait défectueux, et en ré-allouera un nouveau pour y
> écrire ces données. Tu devrais alors avoir le compteur
> 'Reallocated_Sector_Ct' incrémenté.

Ok. J'ai commencé à suivre les instructions, mais me suis arreté juste
avant le « THIS LAST STEP HAS PERMANENTLY AND IRRETREVIABLY DESTROYED
SOME OF THE DATA THAT WAS IN THIS FILE. » :)

> Le test court ne parcours sans doute pas tout le disque (essaie un
> test long : smartctl -t long /dev/hda) ...

Je viens de le faire. Voici la nouvelle sortie de smartctl -l selftest /dev/hda

Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%      8127         -
# 2  Short offline       Completed without error       00%      1411         -
# 3  Short offline       Completed without error       00%      1401         -
# 4  Short offline       Completed without error       00%      1326         -
# 5  Short captive       Completed without error       00%      1000         -
# 6  Short captive       Completed without error       00%      1000         -
# 7  Short offline       Completed: read failure       70%       997         16581
# 8  Short offline       Completed: read failure       70%       996         16581

Premiere remarque : cela faisait un bail que je n'avais pas fait de
test. smartmontools ne devrait pas programmer des tests régulièrement ?

Seconde remarque : plus de probleme, apparemment.

Suivant la doc, j'ai fait
# fdisk -lu /dev/hda
/dev/hda1              63      499967      249952+  83  Linux
[...]
Donc le secteur défectueux (16581) serait sur /dev/hda1

# tune2fs -l /dev/hda1 | grep Block
Block count:              249952
Block size:               1024
Blocks per group:         8192

Ok, taille de 1024. Je fais son calcul :
# echo "(16581 - 63) * 512 / 1024" | bc
8259

Ok, bloc numero 8259. Je regarde quel fichier l'utilise :
# debugfs 
debugfs 1.39-WIP (31-Dec-2005)
debugfs:  open /dev/hda1
debugfs:  icheck 8259
Block   Inode number
8259    <block not found>

Donc il n'est pas utilisé. (?)

Je m'appretais à faire ceci :
dd if=/dev/hda1 of=/root/backup_dev_hda1_8259 bs=1024 count=1 skip=8259
dd if=/dev/zero of=/dev/hda1 bs=1024 count=1 seek=8259
(si ca plante, chouette, sinon, ben tant mieux aussi et je remets :
 dd if=/root/backup_dev_hda1_8259 of=/deb/hda1 bs=1024 count=1 seek=8259)

/dev/hda1 est ma racine, donc je prends quelques précautions. (par
exemple, j'ai failli inverser skip et seek, ce qui aurait été du
meilleur effet :)

-- 
Daniel Déchelotte
                  http://yo.dan.free.fr/



Reply to: