web-dev-qa-db-fra.com

Suppression d'un secteur défectueux d'une partition NTFS. Badblocks m'a donné une sortie. Maintenant quoi?

J'ai utilisé badblocks pour analyser une partition de mon disque dur à la recherche de secteurs défectueux et cela m'a donné la sortie suivante

output

... d'après ce que j'ai compris, cela ressemble à "une égratignure sur le disque dur" ... de toute façon, je ne peux pas partitionner avec gparted à cause de ce mauvais secteur (ma question précédente: j'ai besoin d'aide pour augmenter la taille de la partition du système de fichiers. Partitioning-o-phobia! ) gparted me donne toujours "un point d'exclamation rouge" sur le lecteur après le test de badblocks. ...Maintenant quoi?

J'ai aussi essayé chkdsk sur Windows mais gparted continue de donner la marque rouge

Comment marquer ce mauvais secteur pour que Gparted puisse faire son travail? :) ... plz exclure les réponses sur "remplacer le disque dur" Je sais que je peux le faire.

6
Mina Michael

... bien maintenant, gparted dit que c'est propre !! AT DERNIER !! ... de toute façon je ne suis pas sûr de ce qui a exactement résolu le problème mais je vais lister ce que j'ai fait à l'envers:

Sudo ntfsfix -b /dev/sda6 qui a donné:

Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
Going to un-mark the bad clusters ($BadClus)... OK
NTFS partition /dev/sda6 was processed successfully.

mais avant cela j'ai fait:

Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975848
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975849
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975850
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975851

et avant que je l'ai fait

Sudo badblocks -nvs /dev/sda6 ... qui a pris 2 jours entiers pour terminer!

de toute façon, enfin, avant la dernière commande, j'ai ouvert Windows 7 et utilisé l'utilitaire chkdsk (, cliquez avec le bouton droit de la souris sur la partition, les propriétés, "outils" (ou quelque chose comme ça), recherchez les erreurs )

J'espère que cela aide quelqu'un.

9
Mina Michael

Essayez d'écrire sur ces blocs:

Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975848
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975849
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975850
Sudo dd if=/dev/zero of=/dev/sda6 bs=1024 count=1 seek=303975851

(ou dans votre cas, vous pouvez le réduire en un seul appel dd avec count=4)

Ensuite, exécutez à nouveau badblocks.

Sur un disque dur moderne, le contrôleur sait déjà que les blocs sont mauvais et les remappera, mais ne peut toujours pas fournir les données de l'emplacement précédent (car il est mauvais). En écrivant dans les blocs, tout sera à nouveau beau, et le système de fichiers n'aura alors plus besoin de s'en occuper.

Si cela fonctionne, alors la deuxième exécution de badblocks ne devrait pas trouver de mauvais blocs.

8
Robie Basak