Testdisk et PhotoRec, ou comment retouver une partition ou des fichiers perdus sous linux.

Introduction

Autant vous avertir tout de suite : sous linux, la récupération de fichiers effacés, c’est très compliqué, et peu de programmes permettent de le faire parfaitement tout au moins du mieux possible. Pour les partition EXT3, à part un logiciel sous windows, il n’y a rien ou presque comme on va le voir. Par contre, des programmes que j’ai trouvé par hasard, en situation légèrement problématique, peuvent vous sauver la vie. Testdisk et PhotoRec sont deux logiciels très pratiques: non, ils ne vous permettrons pas toujours de récupérer le fichier texte OpenOffice que vous venez de rédiger pendant deux heures et que vous avez bêtement perdu en l’envoyant à un camarade par messagerie instantanée, puis reçu avec quelques petites corrections en ré-écrivant sur votre fichier, puis que vous décidiez d’annuler le transfert car pas utilile en fait, puis que 1 heure plus tard, vous vous rendez compte que vous avez fait une grosse bêtise et que votre camarade à effacé son fichier car inutile. Avec la moité du fichier, vous êtes joyeux, sisi. Rigolez pas, ça m’est arrivé. Mais vous avez un espoir si vous vous y prenez vite :

Testdisk

est un programme comme son nom ne l’indique pas qui permet en gros de réparer une partition perdue (par exemple suite à l’arrêt-surprise de votre machine). Le programme se lance tout simplement en ligne de commande généralement depuis un live-cd… , et possède un assistant très bien fait, qui vous guide au fur et à mesure afin de retrouver vos données.

PhotoRec

est un deuxième programme qui comme son nom ne l’indique pas non plus permet de récupérer certains fichiers, principalement des photos comme son nom l’indique cette fois, mais aussi des texte, des images, etc.. donc son nom n’est pas indicatif. Il détecte aussi les archives ZIP, ce qui est bien pour les fichiers OpenOffice pour continuer notre exemple précédent.

Comme les utiliser avec notre ubuntu préféré ?

L’installation est très facile, car il n’y en a pas. Aucun libraire, rien ! Il suffit juste de télécharger l’archive, et de l’extraire, puis de lancer le programme voulu (photorec_static ou testdisk_static) dans un terminal. De la, l’assistant vous guidera pour la récupération de vos données. Cela fonctionne parfaitement en mode LiveCd, mais si vous avez un réseau compliqué (avec certaines cartes Wifi par exemple), je vous recommande d’avoir cette archive sur un autre disque (disquette, clé USB, …).

Et concrètement… ça marche ?

PhotoRec marche assez bien. J’ai essayé avec l’appareil photo de ma soeur théoriquement elle ne lira pas ce billet : j’ai formaté sa carte après avoir sauvegardé les photos quand même, et j’ai pu récupérer toutes les photos, même des plus anciennes ! Pour en être sur, j’ai copié 3 PDF, 2 fichiers textes, 5 présentations OpenOffice, et 5 autres images PNG. J’ai ensuite re-formaté la carte. Et tout était là. Wooo. Par contre, il s’agissait d’un système de fichier en FAT32, pas l’habituel EXT2/3, mais j’ai essayé sur une autre clé avec ce système de fichier faudrait pas bousiller l’appareil: ça fonctionne aussi, mais un peut moins bien: adieu les PNG, adieu les textes, et les fichiers PDF se sont coupés en petits morceaux. Étonnamment, tous les fichiers OpenOffice ont survécus, et de vieux gif sont apparus (2001, sisi. Et cette clé à du être formatée bon nombres de fois (elle me sert de clé de test, et est passé de FAT16 à FAT32, puis EXT3, puis un système de fichier crypté juste pour voir, puis en EXT3 pour les tests de ce billets).

Testdisk marche plus que bien, et j’ai eu le malheur de devoir l’utiliser en situation réelle (ce qui ma quand même fait découvrir ces programmes, restons positif). Les divers électrons courent à toute vitesse dans mes cables se sont stoppés nets, pendant que d’autres avait pour l’ordre d’écrire sur le disque dur : seul la moité l’on fait, et ma partition était corrompue. Y’a bien des tutos sur internet, mais je ne trouvais pas les sauvegardes de ma table de fichiers sur mon disque (en effet, y’a des sauvegardes avec l’EXT3 (peut être EXT2 aussi) qui permet de survivre à ce genre de situations). C’est la que j’ai trouvé testdisk. Du LiveCd, en 30s. le temps de répondre à ses questions, et j’ai pu redémarrer sur mon disque, sans avoir remarqué la fuite de fichier dans l’hyperespace. Depuis, testdisk est sur 2 clés USB au cas ou.

Conclusion

Vous avez perdu un fichier ? Vous pouvez peut être le récupérer, si la chance est avec vous. Pour rappel, l’écriture d’autres fichiers au fur et à mesure écrasera potentiellement petit à petit vos données, et plus le temps séparant la mort imprévue de votre fichier augmente, plus vos chances sont minces (elle peuvent même être nul dès le début). Votre disque dur est corrompu ? Vous pouvez peut être le récupérer, si vous ne faites par trop mumuse avec et si l’erreur n’est pas trop grave.

Pour rappel, si vous n’avez pas envie que l’on retrouve un de vos fichiers de cette manière, shred est votre ami !

Site officiel de testdisk et photorec


Comments

Salut TheGlu,
je pense que ton billet sur TestDisk, assez mal connu peut-être à cause de son nom, sauvera la vie à pas mal de personne car on pense souvent à tord qu’on ne peux récupérer des fichiers effacés sous Linux. Par contre, l’utilsation de la balise "supprimé" au lieu de parenthèses me semblent pas correctes sur ton blog. On utilise généralement les balises supprimés exceptionnellement pour indiquer une correction, généralement lors de l’édtion d’un billet, ou pour signaler un chose connu comme tel mais n’existant plus. Enfin voilà ;)



racoon97, 2007-03-22 22:13:28

Merci pour ce billet.

Sinon j’allais faire la même remarque, avec les balises barré ça devient carrément illisible. Dommage !



Phocean, 2007-03-23 02:11:52

Salut, je suis tombé par hasard sur ce billet en passant par ubuntu-fr. Merci de promouvoir ce très bon logiciel, qui plus est gratuit. Bien sur, n’ayant pas d’interface graphique, il peut paraitre rebutant, mais il est assez simple à utiliser.
(Je ne vais pas dire que j’ai travaillé dessus, mais…)
A part ça, il y a des gens qui ne comprennent pas l’humour du net^^ (cf. balise <strike></strike>)



skander, 2007-03-23 03:27:11

Pour ceux qu’aiment pas mes strikes : tout ce qu’il y a dedans, c’est le contenu inutile et plus ou moins drôle qui n’a rien à vois avec le billet.Je peut aussi mettre des millions de notes comme "La Voix de Damocles", mais je trouve pas assez lisible. Et na.



The_Glu, 2007-03-23 07:11:46

Bon article, je me demande comment tu t’y es pris pour redémarrer ta distribution après ton incident. Faut que j’essaye, j’ai justement mon portable qui m’a lâché (pas eu le temps de brancher la prise quand les batteries étaient finies).

à propos des balises et de l’humour du net… La lecture est facilitée par le respect de quelques règles dont la grammaire, l’orthographe et quelques principes typographiques. C’est pas pour embêter, hein? C’est sensé faciliter l’accès au contenu du mesage. L’auteur a choisi de ne pas respecter une convention, c’est son choix. Pour ma part, je porte plus d’intérêt à l’humour dans le style que dans la forme. Les rayures font pour moi brouillon et comme je passe mon temps à lire des brouillons, ça me gêne un peu. Disons qu’heureusement tout le monde ne fait pas comme ça. Vous connaissez la chanson? Chacun fait ce qui lui plait plait plait…

Et l’article est très très bien, encore une fois !



hdiamant, 2007-03-23 09:53:21

"PhotoRec

est un deuxième programme qui comme son nom ne l’indique pas non plus de récupérer certains fichiers…"

Est-ce qu’il ne manquerait pas un "permet" dans cette phrase?



Ti-nerisson, 2007-03-23 10:06:06

Ti-nerisson -> Merci, c’est corrigé.

hdiamant -> Bon d’accord, je n’utiliserais plus de ca. si c’est totalement illisible. Mais je l’utiliserais alors des notes, que je trouve personnellement moins lisible.



The_Glu, 2007-03-23 12:07:04

"Totalement illisible" faut pas exagérer non plus ! L’expression doit rester libre, hein?



hdiamant, 2007-03-23 12:23:32

ce qui manque, c’est un lien ou un exemple d’utilisation !
Parce que tout ceux qui vont tomber sur cet article (en tapant "récupérer fichiers linux" dans google) ne sont pas forcément connaisseurs en installation avec des tar.gz

testdisk existe sur le system rescue CD, mais pas photorec, dommage

Pour ce qui est du style barré : libre expression peut-etre mais tu n’exprime pas (ou mal) ce que tu veux exprimer. Pour moi barré=supprimé (par un prof <:-) )

Mais ça reste très facile à lire



FestinMWM, 2007-03-23 22:15:42

a votre avis est il possible de recuperer des fichier aprés un rm toto.txt par exemple ?

car ça vien de m’arriver au boulot, deux semaine de fichier php qui sont partie en rm en 1 seconde avec une mauvaise manip



iMaTh, 2007-06-20 22:57:01
Très bon article, que j’ai découvert (par hasard) après une tonne d’autres traitant du même sujet.

Je ne peux pas dire que cet article est vraiment utile pour la récupération de données (car aucun exemple concret d’utilisation n’est donné), mais ce billet permet -quand même- de faire découvrir ces logiciels.

@iMaTh: Ben, comme le dit l’auteur: PEUT-ÊTRE … seul un test te le dira :p.

Sinon, pour les paranos qui ont peur d’utiliser ces logiciels DIRECTEMENT sur leur disque foireux, il est possible de créer une ‘image conforme’ de votre disque (donc une image foireuse) afin d’effectuer la récupération.

Afin de créer cette image, vous pouvez utiliser l’utilitaire ‘dd’ , dont je donne un exemple d’utilisation ci-dessous (mais allez quand même chercher un peu sur le net pour BIEN comprendre le fonctionnement!).

Afin de créer une image d’une partition:

dd if=/dev/sda1 of=/mnt/backup.img : Ceci créera une image ‘backup.img’ de la partition ‘sda1’ vers le dossier ‘/mnt’.

Ensuite, pour rétablir cette image, procédez comme suit: dd if=/mnt/backup.img of=/dev/sda1

Je sais que cet exemple n’est ‘pas correct’ (car je rétablis l’image sur le même disque foireux, donc ça ne change rien…), mais à vous de l’adapter pour qu’il vous convienne :-)

unnamed, 2008-01-19 23:27:52