Si un disque dur est endommagé de quelque manière que ce soit, il est recommandé d’éteindre l’ordinateur le plus rapidement possible ! Au pire, il y a toujours la manière brutale d’appuyer sur le bouton d’allumage pendant 5 secondes environ. En effet, la moindre nouvelle opération du système d’exploitation pourrait endommager les fichiers que l’on cherche à protéger… L’idéal est donc de redémarrer l’ordinateur grâce à un LiveCD d’Ubuntu, pour avoir un systeme d’exploitation sans avoir a toucher le disque interne.

Si le problème vient d’une clé USB ou d’une carte SD ou n’importe quel support ou ne se trouve pas votre systeme d’exploitation, pas besoin d’éteindre l’ordi : il suffit d’utiliser votre système Debian/Ubuntu deja disponible.

3 logiciels peuvent etre utilises :

– Photorec (inclus dans le paquet testdisk) : il se focalise sur les fichiers image, mais il permet aussi de récupérer des documents de suites bureautiques par exemple.

Il est plutot simple d’utilisation grace a son interface textuelle, qui vous aide pas a pas. Meme en enlevant de nombreux types inutiles de ma recherche, j’ai retrouve plus de 100 000 fichiers (a cause des fameux “false positives”). Si on recherche un type de fichier precis, je le recommande. Sinon, on risque de passer des heures a retrouver son bonheur dans la masse de fichiers (d’ailleurs places au hasard par groupes de 500 fichiers dans des dossiers differents). Attention d’ailleurs a bien recopier le compte-rendu de Photorec quelque part car il ne prend pas la peine de tenir un journal de ce qu’il a fait.

– Scalpel : c’es un programme d’extraction de fichiers en ligne de commande base sur une base de donnees d’entete et de fin de fichiers. Mais par défaut, il ne va rien chercher du tout. Pour modifier cela, il faut éditer le fichier  /etc/scalpel/scalpel.conf et décommenter les formats qui nous intéressent. La ligne de commande à utiliser ensuite est

sudo scalpel “zone où chercher” -o “répertoire où mettre les fichiers”

Typiquement, la zone où chercher, si le premier disque dur interne est en cause, est /dev/hda1/ ou toute autre partition qui ressemble (impossible de chercher sur un disque dur entier).

Sans trop vraiment comprendre ce que veulent dire ces entetes, j’ai decommente les lignes qui m’interressent. Si vous etes comme moi, je recommande d’utiliser dans la ligne de commande l’option “-b” qui permet de chercher des fichiers dont les tailles ne correspondent pas a celles definies dans la base de donnees. [commande en cours d’execution, j’en dirai plus dans 5 heures environ…]

– Foremost : Plus technique que les autres, il faut tout d’abord faire une image brute du disque dans lequel on veut chercher les fichiers, typiquement grace a la commande dd_rescue (du paquet ddrescue).

Comme je disposais d’un DD externe suffisamment gros, j’ai opte pour mettre l’image du DD interne la-bas aussi (grace a la commade sudo dd_rescue /dev/sda1 /media/DD_ext/backup.img). Mais attention aux systemes de fichiers utilises ! En effet, il ne faut pas oublier que le systeme de fichier fat32 impose une limite de 4Go max pour les fichiers…

Apres avoir realise cette petite manip’, la ligne de commande a proprement parler à utiliser est

sudo foremost -t “liste des formats de fichier à retrouver, séparés par des virgules” -i “image ou chercher” -o “répertoire où mettre les fichiers” -v

Voici les types disponibles (tires du man) :

jpg Support for the JFIF and Exif formats including implementations
gif
png
bmp Support for windows bmp format.
avi
exe Support for Windows PE binaries, will extract DLL and EXE files
along with their compile times.
mpg Support for most MPEG files (must begin with 0x000001BA)
wav
riff This will extract AVI and RIFF since they use the same file for‐
mat (RIFF). note faster than running each separately.
wmv Note may also extract -wma files as they have similar format. mov
pdf
ole This will grab any file using the OLE file structure. This includes PowerPoint, Word, Excel, Access, and StarWriter
doc Note it is more efficient to run OLE as you get more bang for your buck. If you wish to ignore all other ole files then use this.
zip Note is will extract .jar files as well because they use a simi‐
lar format. Open Office docs are just zip’d XML files so they are extracted as well. These include SXW, SXC, SXI, and SX? for undetermined OpenOffice files.
rar
htm
cpp C source code detection, note this is primitive and may generate documents other than C code.
all Run all pre-defined extraction methods. [Default if no -t is specified]

Attention, contrairement a ce que dit le man, “riff” n-es pas un type autorise (alors que avi, oui) et jpeg semble aussi fonctionner (je n’ai pas teste si jpg et jpeg donnaient des resultats differents).

J’ai trouve encore plus de fichiers qu’avec Photorec (plus de 300 000 !). C’est surement plein de “false positives” mais au moins ce programme a la bonne idee de tout trier par type dans des repertoires differents. Et en plus, le fichier de journal est propre et tres clair.