Attention : il y a une différence entre : * réparer un filesystem * tenter de réparer un disque dur La première opération est plus certaine de réussir ; le disque n'est pas endommagé La deuxième opération est moins certaines et peut être plus risquée. Cet article parle de cette deuxième opération, en opérant à partir d'un système linux. Elle consiste à : - identifier les secteurs défectueux d'un disque dur - tenter de les réparer - les isoler, en indiquant au controlleur de disque de ne plus les prendre en compte et des les considérer comme des défauts d'usine Dans tous les cas, avant de commencer ce 2e genre d'opération, c'est que le disque est généralement en fin de vie, donc il est indispensable de tenter de récupérer ses données le plus vite possible ... ===== s.m.a.r.t. ===== Le Self-Monitoring, Analysis and Reporting Technologiy (Technique d’Auto-surveillance, d’Analyse et de Rapport) est un système de surveillance de disque dur intégré dans ce dernier et permettant le suivi continu de son état. Ce dernier se base sur plusieurs indicateurs de fiabilité lui permettant d’anticiper d’éventuelles erreurs. ===== Identifier la partition/le disque dur ===== On peut utiliser les outils suivants $ fdisk -l $ df -h $ mount $ gparted $ parted ===== Identifier les secteurs défecteux ===== $ sudo badblocks -v /dev/sda10 > badsectors.txt ou $ gsmartctl ou $ smartctl /dev/sd ===== Tenter de réparer les secteurs défectueux ===== === . Option1, via linux === Si on sait que le secteur 426966611 du device /dev/sdc est défecteux, on tappe hdparm --write-sector 426966611 --yes-i-know-what-i-am-doing /dev/sdc C'est potentiellement risqué, ça peut continuer à détériorer la géométrie du disque ... === . Option 2 : HDD Regenerator === http://www.clubic.com/telecharger-fiche56934-hdd-regenerator.html ===== Isoler secteur défectueux ===== === Specifically for ext2/ext3/ext4 file-systems === $ sudo e2fsck -l badsectors.txt /dev/sda10 === For other file-systems === $ sudo fsck -L badsectors.txt /dev/sda10 === badblocks directement === $ badblocks -nvs /dev/sdb --> 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. $ badblocks -wvs /dev/sdb6 --> vérifie le disque "sdb", sa sixième partition, 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. === Autres outils === * Repartition Bad Drive, soft windows : [[http://www.dposoft.net/rbd.html]] * MHDD : ISO windows * UBCD (ultimatebootcd), ISO windows : [[http://www.ultimatebootcd.com/download.html]] ===== A lire : badblocks ===== [[https://wiki.archlinux.org/index.php/badblocks]]