[Informatique] Vérifier les secteurs et la santé d’un disque dur et les corriger (Linux / Windows)

Verifier-sante-disque-dur-corriger-secteurs-cluster-erreurs-windows-linux

J’ai à la maison quelques vieux PC à l’état de fossile et je profite des vacances d’été pour restaurer le tout. Quelques vieux disques durs avec plus de 10 000 heures de fonctionnement me semblaient à la limite de la rupture. Comment vérifier qu’un disque dur est fiable et tester un disque dur avec windows ? Peut-on trouver les secteurs défectueux et dire au système de ne pas les utiliser ? Voici comment procéder. Pour mémoire j’avais rédigé un article sur comment vendre un disque dur ou le rendre illisible.

Sous Windows

Etat des lieux de la santé du disque dur avec SMART

Depuis 2004, les disques durs embarquent (pour la quasi totalité d’entre eux) des données SMART. Il s’agit de données enregistrées dans le micro-logiciel du disque dur (hors zone de stockage donc) et qui reflètent la santé du disque.

  • Crystal Disk Info est un logiciel gratuit qui vous présente de façon lisibles les informations relatives à vos disques. La moindre erreur SMART saute aux yeux avec des codes couleurs. Idéal pour un suivi régulier sans mettre les mains dans le cambouis.

Exemple d’un disque dur tout neuf (110 heures, PC portable neuf) :

CrystalDiskInfo-Windows-tester-disque-dur-neuf

Il est possible d’un simple clic (Edition>Copier) d’exporter les données pour les poster sur un forum spécialisé par exemple.

  • HDD Guardian, gratuit également, permet des tests plus poussés (plus longs) et l’accès à l’historique des tests passés et les erreurs associées. Je l’utilise quand Crystal disk info me sors un code couleur anormal sur un disque.

hdd_guardian_Windows-test-disque-dur

hdd_guardian_Windows-test-disque-dur-2

Je vous conseille les deux, ils sont complémentaires.

Corriger les erreurs

Sous Windows 10, on ouvre l’invite de commande (demarrer et taper « invite ») :

On va maintenant utiliser la commande chkdsk (Check Disk) :

chkdsk F: /F /R

Remplacer F: par la lettre du lecteur à vérifier. /F corrige les erreurs (réalloue les secteurs défectueux et dit à Windows de ne plus écrire dessus) et /R tente une récupération des secteurs endommagés. Souvent, Windows râle car le lecteur est en cours d’utilisation (monté) :

Chkdsk n’a pas pu s’exécuter car le volume est utilisé par un autre processus. Chkdsk pourra s’exécuter après que ce volume soit démonté. LES DESCRIPTEURS OUVERTS SUR CE VOLUME NE SERONT PLUS VALIDES. Voulez-vous forcer le démontage de ce volume ? (O/N)

Valider avec O puis Entrée aura pour effet de redémarrer la machine et lancer une vérification au démarrage.

Sous Linux

Etat des lieux de la santé du disque dur avec SMART

Installer le paquet smartmontools si ce n’est pas déjà fait sur votre distrib.

Sur Debian :

sudo apt install smartmontools

On cherche le nom du disque dur à tester (sda, sdb etc.):

sudo fdisk -l

Afficher les données SMART complètes (pour le disque X, à remplacer par a, b etc…) :

sudo smartctl -s on -a /dev/sdX

On peut lancer un selftest qui restera silencieux si aucun souci ou retournera les erreurs s’il y en a (remplacer X par la lettre de votre lecteur) :

sudo smartctl -q errorsonly -H -l selftest /dev/sdX

Recherche de mauvais secteurs

On scanne le disque en question à la recherche de secteurs défectueux à l’aide de la commande badblocks et on stocke les adresses des éventuels clusters abimés dans bad-blocks.txt. Ici sdb est le nom du 2ème disque précédemment trouvé et que l’on souhaite tester. Pensez à remplacer par le nom de votre disque dur entier (sda, sdb, sdc etc.) ou partition (sda1, sda2, …). L’opération peut être très très (très) longue !!!!

sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt

Badblocks-test-disque-dur-linux

Le test d’un très vieux disque dur WD RED 3To a pris plus de 4 jours !!!! Sur un Raspberry Pi, certes, mais quand même !!! Ici, 32590 clusters défectueux ont été trouvés (mauvais signe) :

Corriger les erreurs

Si badblocks retourne des erreurs, nous allons les corriger. Attention, les disques à corriger doivent être démontés. S’il s’agit du disque utilisé par Linux, il faudra lancer un live CD depuis une clé USB par exemple pour finir cette étape.

On démonte le lecteur (ici sdb)

umount /dev/sdb

On corrige les secteurs défectueux :

sudo e2fsck -l /tmp/bad-blocks.txt  /dev/sdb

Le mot de la fin

C’est bien beau tous ces tests mais pensez à sauvegarder vos données (A lire : ma méthode de sauvegarde, un très bon NAS pas cher, ! La Règle 3,2,1 est plutôt une bonne habitude à prendre !

3 comme 3 copies

En comptant votre version de travail, il faut au moins 2 autres copies de vos dossier importants.

2 comme 2 types de supports

Par support on entend NAS, disque dur externe, Cloud etc. Dans l’idéal il vaut mieux ne pas mettre tous les oeufs dans le même panier.

1 sauvegarde sur site extérieur

Je ne compte pas le cloud comme site extérieur. J’ai pour ma part un disque au bureau, chiffré, débranché en permanence et sur un PC jamais connecté au net lors des sauvegardes, que je mets à jour tous les 3 mois. Si ma maison brûle et mon cloud disparait, je perds 3 mois de données au pire. C’est la sauvegarde qui vous permettra de récupérer des données personnelles (photos, comptes en banque, contrats scannés etc.) en cas de méga pépin ! Prenez en particulièrement soin et pensez à la faire, c’est peut être la plus importante !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.