Comment connaître le nombre de secteurs défectueux sur mon disque dur?

10

Je sais comment vérifier / réparer mon disque dur mais je ne sais pas comment voir le nombre de secteurs défectueux sur mon disque dur.

PS Il semble que mon disque dur va bientôt mourir :-(

Alpha Sisyphe
la source

Réponses:

12

Il existe deux façons de détecter les secteurs défectueux sous Linux: vous pouvez utiliser l'utilitaire de disque (gui), ou vous pouvez utiliser la commande badblocks pour vérifier votre disque dur pour les secteurs défectueux:

sudo badblocks -v /dev/{device}

Cela devrait répondre à la question, mais pour quiconque souhaite savoir comment les marquer, cela peut être fait avec 2 commandes simples ...

Vous ajoutez les mauvais blocs à un fichier ...

sudo badblocks /dev/sdb > {/dir/to/filename}

puis dites fsckde les marquer comme inutilisables avec ...

sudo fsck -l {/dir/to/filename} /dev/{device}
Rinzwind
la source
2
Il semble que e2fsckpossède une -coption qui s'appelle badblockset prend soin de la taille du bloc. Il faut apparemment faire très attention à ce que ceux-ci correspondent si vous le faites à votre façon.
Martin Ueding
3
Cette utilisation de badblocks+ fsckpour marquer les blocs défectueux peut être dangereuse. À partir de la badblockspage de manuel: "Remarque importante: si la sortie des badblocks doit être envoyée aux programmes e2fsck ou mke2fs, il est important que la taille du bloc soit correctement spécifiée, car les numéros de bloc générés dépendent beaucoup de la taille du bloc utilisé par le système de fichiers. Pour cette raison, il est fortement recommandé aux utilisateurs de ne pas exécuter directement les badblocks, mais plutôt d'utiliser l'option -c des programmes e2fsck et mke2fs . " Voir la réponse @ john-mehorter.
sierrasdetandil
Merci, je me posais des questions à ce sujet hier. +1
WinEunuuchs2Unix
8

Utilisez fsck.ext3 (e2fsck) par exemple et utilisez l'option -cc

-c     This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in  order  to  find  any  bad
          blocks.   If  any  bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a
          file or directory.  If this option is specified twice, then the bad block scan will  be  done  using  a  non-destructive
          read-write test.`

fsck -cc / dev / sda1

John Mehorter
la source
1
J'ai lu plusieurs fois ces dernières années mais je ne sais pas ce qu'est un test non destructif. Cela ne change rien sur le disque? Est-ce uniquement informatif?
Robert Vila
Je suppose qu'il essaiera d'écrire dans chaque bloc, mais réécrira à nouveau les données d'origine.
Martin Ueding