badblocks est un utilitaire Linux destiné à détecter les secteurs défectueux sur un disque dur. Il marque ces secteurs afin qu'ils ne soient plus utilisés à l'avenir et donc afin qu'ils ne soient pas à l'origine d'une corruption de données. badblocks est une partie du projet e2fsprogs, et il a été porté sur les systèmes BSD.
Quand il est lancé seul, badblocks renvoie une liste des secteurs endommagés. La commande n'est néanmoins appelée seule que quand l'utilisateur désire une liste des secteurs défectueux sur son disque dur. De façon habituelle, elle est en fait appelée comme une option de e2fsck.
1. Vérification des secteurs défectueux
Non destructif ;)
Vérifie le disque sdb, selon un mode de fonctionnement de lecture-écriture non destructif et affiche la progression en affichant les numéros de secteurs quand ils sont vérifiés.
Sortie en mode fichier texte avec les numéros des secteurs défectueux, à l'aide de l'option -o qui écrira le fichier texte badblocks-80-Go.txt qui se créera dans /home/user/
Disque entier
badblocks -nvs /dev/sdb -o /home/user/badblocks-80-Go.txt
Partoche, exemple /dev/sdb6
badblocks -nvs /dev/sdb6 -o /home/user/badblocks-80-Go-sdb6.txt
Destruction des données !
Vérifie le disque sdb, selon un mode de fonctionnement de lecture-écriture DESTRUCTIF et affiche la progression en affichant les numéros de secteurs quand ils sont vérifiés. Toutes les données seront écrasées au niveau du secteur. Si cette commande est utilisée sur un disque entier comme dans l'exemple précédent, cela détruira indifféremment le MBR, les partitions et les données.
Disque entier
badblocks -wvs /dev/sdb -o /home/user/badblocks-80-Go.txt
Partoche, exemple /dev/sdb6
badblocks -wvs /dev/sdb6 -o /home/user/badblocks-80-Go-sdb6.txt
2. Marquage des secteurs sur le disque
Exemple d'un disque à formater en FAT32 - 1 seule partition -, avec le fichier texte qui contient les numéros des secteurs défectueux, précédemment créé avec les commandes de test.
Sous Debian, il sera peut-être nécessaire d'installer le paquet qui pourra gérer la FAT32,
apt-get install dosfstools
Création préalable de la partition via fdisk /dev/sdd
, > nouvelle partition > primaire > etc......
Ce qui nous intéresse :
Puis formatage FAT32 de la partoche /dev/sdd1, en marquant les secteurs défectueux depuis le fichier texte /home/user/badblocks-16-Go-sdd.txt inséré avec l'option -l (L minuscule)
mkfs.msdos -F 32 /dev/sdd1 -l /home/minos/raid0data/partage/usbniaks.txt
Edit mise à jour 01/2018 : ajout de la commande pour la sortie dans un fichier texte + partoche particulière
Options
-b
taille-bloc
Spécifier la taille des blocs en octets.
-c
nombre-de-blocs
est le nombre de blocs à tester en une fois (16 par défaut). Accroître ce nombre augmentera l'efficacité de badblocks mais également son utilisation mémoire. Les besoins en mémoire de badblocks sont proportionnels au nombre de blocs à tester simultanément en mode lecture-seule, à deux fois ce nombre en mode lecture-écriture, et à trois fois ce nombre en mode lecture-écriture non destructif. Si vous fixez le paramètre nombre-de-blocs à une trop grande valeur, badblocks se terminera presque immédiatement sur une erreur manque-de-mémoire « lors de l'allocation de tampons mémoire » ; si vous le fixez trop bas pour un test en mode-écriture-non-destructif, alors il est possible que des blocs douteux présents sur un disque dur non fiable soient masqués par les effets du tampon de pistes du disque dur.
-f
forcer
Normalement, badblocks refusera d'effectuer un test en lecture-écriture ou un test non destructif sur un périphérique monté, car tous deux peuvent faire planter le système ; même un test non destructif peut endommager un système de fichiers monté. Cela peut être forcé en utilisant le drapeau -f, mais cette option ne devrait presque jamais être utilisée. Si vous pensez que vous êtes plus intelligent(e) que le programme badblocks, vous vous trompez certainement. Le seul moment où cette option peut être sans danger se situe lorsque le fichier /etc/mtab est incorrect, et que le périphérique n'est pas monté.
-i
fichier_entrée
Lire une liste des blocs défectueux déjà connus. badblocks n'analysera pas ces blocs puisque l'on sait qu'ils sont défectueux. Si le fichier_entrée spécifié est « - », la liste est lue à partir de l'entrée standard. Les blocs listés seront omis dans la liste des nouveaux blocs défectueux produits sur la sortie standard ou dans le fichier de sortie. L'option -b de dumpe2fs(8) peut être utilisée pour récupérer la liste des blocs actuellement marqués comme étant défectueux sur un système de fichiers existant, dans un format convenant à l'utilisation avec cette option.
-o
fichier_sortie
Écrire la liste des blocs défectueux dans le fichier spécifié. Sans cette option, badblocks affiche la liste sur la sortie standard. Le format de ce fichier peut être utilisé avec l'option -l de e2fsck(8) ou de mke2fs(8).
-p
nombre_passes
Répéter l'analyse du disque jusqu'à ce que plus aucun nouveau bloc ne soit découvert en nombre_passes analyses consécutives du disque. Vaut 0 par défaut, ce qui signifie que badblocks se terminera après la première passe.
-n
Utiliser le mode lecture-écriture non destructif.
Par défaut, seul un test en lecture seule non destructif est effectué. Cette option ne peut être combinée avec l'option -w, car elles sont mutuellement exclusives.
-s
Indiquer l'état de progression de l'analyse en affichant les numéros de blocs quand ils sont vérifiés.
-v
Mode verbeux.
Ça vous cause de ce qui se passe.
-w
Utiliser un test en mode écriture.
Avec cette option, badblocks recherchera les blocs défectueux en écrivant quelques motifs (0xaa, 0x55, 0xff, 0x00) sur chaque bloc du périphérique, et en relisant celui-ci pour en vérifier le contenu. Cette option ne peut être combinée avec l'option -n, car elles sont mutuellement exclusives.
Badblocks - commande pour vérifier et marquer les secteurs défectueux d'un disque dur
- Wiki - Tutos - Notes ( MinosHome | MH8 )
- Linux
- Debian (et autres...)
- Badblocks - commande pour vérifier et marquer les secteurs défectueux d'un disque dur
De toute beauté