Niveau :
Résumé : gnu ddrescue
Souvenez-vous, au premier épisode vous récupériez un disque abîmé avec dd, la technique et la répétition aidant, vous étiez passé à dd_rescue; aidé par votre (malheureusement trop) occasionnel compagnon par2.
Depuis cette époque, les gens on grandi et un petit nouveau est né. À mon avis, son auteur a fait un erreur stratégique en lui donnant presque le nom de son parrain. Il s'appelle gnu ddrescue, et seul un '_' et un gnu les séparent. Pourtant le petit nouveau a été écrit sans référence à dd_rescue.
Trêve de bavardage, récupérons ... je me coupe la parole à moi-même pour indiquer que debian met le binaire dans /sbin, mais pourquoi là ? Il n'y a pas que les admins qui ont le droit de perdre des données ! Donc, récupérons disais-je :
$ /sbin/ddrescue /dev/cdrom ~/recup.iso
Mais pourquoi utiliser celui-ci plutôt que l'autre ? Tout d'abord parce qu'il été réécrit en C et est bien plus rapide (pas de lancement de sous processus, et certaines opérations sont simplifiées). Ensuite parce que son algorithme est un peu plus intéressant. En effet, contrairement à dd_rescue, il ne cherche pas à réparer et à obtenir tout dès le début. Il fonctionne par parcours successifs du fichier à récupérer, tout d'abord avec des grosses mailles, puis de plus en plus fin. Ce qui veut dire qu'en pourcentage, vous récupérer le maximum de donnes au début, puis progressivement des parties de plus en plus détruites.
D'autre part, ddrescue peut être lancé plusieurs fois et il récupérera de nouvelles données à chaque fois. Ce qui veut dire qu'on peut prendre son temps pour la récupération (il résiste aux crash), mais aussi qu'on peut faire de la récupération à partir de plusieurs copies abîmées.
Donc pour un usage un peu plus évolué, on aura simplement besoin d'un fichier de log
# on peut lancer cette commande autant de fois qu'on veut
$ /sbin/ddrescue /dev/cdrom ~/recup.iso ~/logfile
Vous trouverez dans le man, quelques options spécifiques à certains problèmes comme -s pour limiter la taille de fichier ou -i pour commencer au milieu d'un disque.
Enfin, n'oubliez pas, dans le cas d'une récupération d'un système de fichier, il vaut mieux laisser fsck bidouiller sur une copie pour pouvoir recommencer avec d'autres outils.