Vue d’ensemble
Anticiper les pannes matérielles demeure indispensable pour prémunir vos parcs informatiques contre toute corruption de données. Ce tutoriel détaille l’utilisation de l’outil badblocks afin de localiser avec précision les secteurs dégradés sur vos disques. À travers un environnement virtuel totalement sécurisé, nous examinerons successivement le balayage passif en lecture, le suivi dynamique d’avancement, l’exportation des anomalies dans un rapport dédié, ainsi que le mode d’écriture non destructif.
1. Configuration d’un banc d’essai virtuel et analyse en lecture seule (-v)
La première étape consiste à garantir la disponibilité des utilitaires de gestion de systèmes de fichiers en mettant à jour le paquet e2fsprogs via la commande sudo apt-get update -qq && sudo apt-get install -y e2fsprogs.

Afin d’expérimenter la détection de blocs défectueux sans faire peser le moindre risque sur un support physique en production, générez un conteneur virtuel de 50 Mo à l’aide de l’instruction dd if=/dev/zero of=/tmp/disk_test.img bs=1M count=50 status=none.

Pour que le noyau manipule ce fichier brut comme une véritable unité de stockage en mode bloc, reliez-le à un périphérique boucle disponible en lançant sudo losetup -f /tmp/disk_test.img.

Récupérez ensuite le point d’accès attribué dans une variable d’environnement pour automatiser les manipulations suivantes, puis validez son affectation avec la ligne LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && echo "테스트 디바이스: $LOOP_DEV".

L’utilitaire badblocks scrute les blocs d’un support de stockage afin de mettre en évidence d’éventuelles altérations physiques ou logiques. En exploitant le mode lecture seule par défaut couplé au commutateur -v, l’analyse reste totalement inoffensive pour vos volumes tout en délivrant un retour verbeux complet. L’absence d’identifiant numérique dans le rapport final certifie la parfaite santé du média examiné.
⚙️ [Paramètres essentiels]
-v : Active le mode verbeux pour détailler le déroulement et afficher les conclusions du balayage.-w : Déclenche un test d’écriture destructif (remplacement des données existantes par des motifs de test).-n : Effectue une vérification en lecture/écriture non destructive, préservant scrupuleusement les contenus initiaux.-s : Fournit un suivi dynamique sous forme de jauge de progression en pourcentage (%) et de compteurs de blocs.-b : Définit la taille des blocs analysés en octets (la valeur par défaut étant de 1024 octets).-o : Redirige la liste des blocs corrompus identifiés directement vers un fichier texte dédié.-p : Réitère l’examen un nombre défini de passes pour débusquer les anomalies intermittentes.

2. Suivi de progression en temps réel avec les commutateurs (-s, -v)
Pour monitorer l’évolution d’un contrôle long et volumineux, associez la rétroaction verbeuse au retour d’état visuel en exécutant sudo badblocks -s -v $LOOP_DEV.
Le drapeau -s affiche en continu le pourcentage d’avancement ainsi que le volume de blocs traités, pendant que -v commente chaque phase opérationnelle.
Cette approche visuelle offre une visibilité immédiate sur les travaux de maintenance lourds ; la fin de l’opération sans signalement de blocs corrompus garantit l’intégrité de la zone sondée.

3. Ajustement de la granularité des blocs et exportation du journal (-b, -o)
Pour coller à la taille de bloc standard des systèmes de fichiers modernes (4096 octets) tout en archivant les constatations dans un journal externe, exécutez LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -b 4096 -v -o /tmp/badblocks_report.txt $LOOP_DEV.
Le paramètre -b 4096 aligne l’analyse sur la structure de partitionnement réelle plutôt que sur le format historique par défaut de 1024 octets.
De son côté, l’option -o extrait la liste exhaustive des segments défaillants dans un fichier texte, fournissant ainsi la matière première nécessaire aux outils de réparation ou d’exclusion de blocs.

Affichez le contenu du journal d’erreurs en exécutant la commande cat /tmp/badblocks_report.txt.
Sur un support entièrement fonctionnel et dépourvu de défaillance matérielle, aucun index de bloc n’est consigné : le fichier demeure par conséquent totalement vide.

4. Diagnostic approfondi non destructif (-n) et nettoyage de l’environnement
Pour soumettre le périphérique à une épreuve d’écriture tout en garantissant la sauvegarde absolue des données stockées, optez pour la commande combinée LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -n -v $LOOP_DEV.
Le mécanisme activé par -n met les données d’origine temporairement en mémoire, applique une série de motifs de test sur le bloc pour éprouver sa fiabilité en écriture, puis restitue immédiatement l’information initiale sans risque de déperdition.
Un compte rendu complet défile alors dans la console ; si aucune référence de bloc n’est remontée, le support est certifié pleinement opérationnel.

Une fois l’expérimentation achevée, détachez le périphérique virtuel et purgez les fichiers de test créés en saisissant LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo losetup -d $LOOP_DEV && rm -f /tmp/disk_test.img /tmp/badblocks_report.txt.

Vous disposez désormais de toutes les clés pour maîtriser la commande badblocks et ses paramètres sous Ubuntu.
Prendre l’habitude d’auditer périodiquement l’état physique de vos supports de stockage constitue le meilleur rempart contre les sinistres matériels imprévus.