Bonsoir,
Suite à ma boulette, et voyant en testdisk une lueur d’espoir … :
Est-ce que quelqu’un a réussi à restaurer un fichier ou un repertoire (et non une partition) dans le format ext3 avec testdisk ? ou un autre freeware sous linux ?
Bonsoir,
Suite à ma boulette, et voyant en testdisk une lueur d’espoir … :
Est-ce que quelqu’un a réussi à restaurer un fichier ou un repertoire (et non une partition) dans le format ext3 avec testdisk ? ou un autre freeware sous linux ?
Oui mais c’est dur. Tu as l’utilitaire photorec de testdisk et sinon, tu as le programme que j’ai fait, paquet helpdelete, en statique et présent sur http://franboisson.free.fr/sarge/BootCD-2.6.iso.bz2 par exemple. C’est un programme qui reconstitue un fichier en cherchant un bloc par une chaine, une (vague) expression régulière, etc. Ce programme est sur le même principe que photorec sauf que ne connaissant pas la structure des fichiers cherchés, c’est l’utilisateur qui définit la chaine et la longueur du fichier à chercher. Les «magic numbers» aident beaucoup pour les fichiers binaires, les fichiers textes se retrouvent très vite. Ça a même marché sur du NTFS…
paquet helpdelete
deb boisson.homeip.net/debian/ sarge divers
deb boisson.homeip.net/debian/ etch divers
[quote]francois@totoche:~$ recherchefichier -help
recherchefichier [-s chaine] [-n nbre de blocs] [-d nombre]
[-m] [-H|-r| ] [-f disque] [disque]
Recherche la chaine sur le disque au début de chaque bloc de taille 512 octets
si -m non spécifiée et partout si -m spécifié et fabrique un fichier
de taille n fois 512 octets, la chaine est dans les d premiers blocs.
L’option -H indique un motif en Hexadécimal. Avec -r, * remplace plusieurs
caractères et ? un seul. -m est dans ce cas inactif (mettre * au début)
Défauts: n=16, d=1, m et H non activés, s=“Envelope to:”.
Juin 2005 (François Boisson)
francois@totoche:~$
[/quote]
Lis la doc dans /usr/share/doc/helpdelete/README.Debian.gz
[edit: en fait j’ai cherché sur Internet une récapitulation des types de fichiers et n’ai pas trouvé, je cherche un site où est indiqué pour chaque type de fichier
Okay !! super fran.b merci … bon je l’installe de ce pas …
Petite question avant de lire la doc : ‘chaine’, c’est le nom du fichier ?
Dans mon cas, c’est un repertoire que je dois récupérer, contenant quelques .mp3
donc je peux passer en argument le nom du rep ou ‘*.mp3’ ?
plutot que d’utiliser rm ,il est preferable de faire un répertoire poubelle, et de deplacer les fichier dans celui ci 
Effectivement … on peut donc même faire des alias de la commande rm + options qui rendent cela automatique, puis un mv /home/$USER/Desktop/Panier/* /dev/null pour la vider …
Houla, non, chaine est une chaine caractérisant ton fichier. Il est quasi impossible de récupérer un répertoire entier (souvent fractionné). Pour récupérer un mp3 par exemple, tu fais
$ recherchefichier -s ID3 -n 10000 /dev/hda3
cela cherche sur le disque /dev/hda3 les fichiers mp3 en les supposant de taille 5M environ. Bien évidemment,
Tu peux affiner si tu connais les ttags:
$ recherchefichier -r -s "ID3*phone" -n 10000 /dev/hda3
devrait te sortir le MP3 du groupe «Telephone».
Le problème est la longueur. Attention à mettre ton disque en lecture seule et à travailler à partir d’un autre disque.
Ah ok.
Comment je fais ça déjà ? donc, je me place sur un autre DD, dans n’importe quel répertoire ? et je lance recherchefichier sur la partition où a eu lieu la boulette ? mais comment et pourquoi je mets en lecture seul le DD où je cherche les fichiers ?
A l’heure actuel les blocs occupés par tes fichiers sont déclarés libres et peuvent être alloués, ext3 efface même le chainage (c’est pour cela qu’il n’y a pas de recover sous ext3). Donc ne pas utiliser le disque pour ne pas écrire par dessus tes fichiers. Le plus simple est de travailler en étant sur de ne rien écrier sur ton disque: soit en le démontant, soit en le montant en lecture seul:
par exemple.
Le programme te créera des fichiers Fich0001, Fich0002, etc dans le répertoire où tu es. Tu peux recommencé tant que tu veux et affiner tes recherches. Ça demande un peu de patience mais c’est efficace, surtout si tu recherches des fichiers précis. J’ai fait ce programme après avoir effacés plus de 10000 fichiers dont 400 fondamentaux.
[quote=“usinagaz”]Effectivement … on peut donc même faire des alias de la commande rm + options qui rendent cela automatique, puis un mv /home/$USER/Desktop/Panier/* /dev/null pour la vider …[/quote]FAUX.
J’ai donc fait un pti scripts que j’ai placé dans Scripts en Vrac : http://forum.debian-fr.org/viewtopic.php?t=3548&start=21
Bon ben c’est en cours …
Il n’y a pas une possibilité de spécifier une fourchette de taille, mettons tous les fichiers compris entre n * 512 et (n+x)*512 ? Ça serait top …
Je n’ai pas su démonter /home et le remonter en read only (/home is busy). Tant pis … mais je travaille à partir d’un autre DD.
Bon ça a l’air de fonctionner … mais les fichiers sont déjà corrompus (coupure, blanc, vide) pour certains … l’idéal serait que je n’ai pas de taille à spécifier, pour que le prog les restitue dans leur intégralité, un par un.
Quand tu veux dire affiner, fran.b, tu veux dire que les fichiers entiers (qui correspondent ‘pil poil’ à une taille de n*512), je les sauvegarde, et je relance en ajustant n pour chercher les fichiers plus petits ou plus grands ?
Prends plus grand pour la fourchette, poiur un fichier mp3, tu auras tout le fichier puis un reste de bruit. Il te suffira de le tronquer avec un éditeur quelconque. Je vais essayer de voir si je peux améliorer la chose, le seul pbm est de trouver la longueur du fichier…
Okay super … je vais recommencer avec plus grand alors …
Quand tu repasses par là …
si tu as une idée d’éditeur et comment ça fonctionne
( des noms ! des noms !! ) 
En étudiant de plus près, je me suis aperçu qu’il y avait un autre format de mp3, il faudra aussi faire
$ recherchefichier -H -s FFFB -n 10000 /dev/hda3
en essayant d’abord
$ recherchefichier -H -s FFFB9204 -n 10000 /dev/hda3
ou
$ recherchefichier -H -s FFFB92 -n 10000 /dev/hda3
Je suis en train de chercher des informations sur la longueur des fichiers MP3 mais visiblement, ça n’est pas dans l’entête. Apparemment, l’entête définit juste le format du fichier de l’encodage puis les «frames» se succèdent à la suite. Il ne semble pas possible de retrouver la longueur.
ah bon … ok.
Au fait, on peut donc mettre un chiffre approximatif pour -n, pas forcément multiple de 512 ?
Tiens je viens de trouver un truc que tu pourrais peut-être intégrer à ton programme …
$ sudo apt-get install mp3info
$ mp3info -p %k un-mp3
4876
donne la taille du mp3, c’est donc bien écrit quelque part dans les tags non ? (on obtient pas exactement la même taille de fichier qu’avec un ls -al …).
n est le nombre de blocs de 512 octets, donc la taille sera de n*512 octets. Là encore les secteurs sont pris en bloc.
Pour l’éditeur, j’aurais bien testé ecawave, mais son installation m’oblige à virer certains paquets, je pense alors à audacity … c’est bien ou il y a mieux ?
EDIT: À propos de recherchefichier, ça ne cherche que les fichiers effacés n’est-ce pas ? (je veux dire c’est pas en train de me réécrire le DD par paquets de n*512 dans le repertoire du l’autre DD d’où je lance la commande
).
Non, je viens d’essayer, avec audacity, il coupe de lui même le fichier et la restauration se fait de manbière impeccable.
Bon, j’ai tenté
ça me donne 243 fichiers de 10240000 octets + 1 de 7815168 + 11 de 0 octets … et donc ça s’est arrêté parce qu’il y a plus de place sur le DD de travail (c’est un 4Go avec à la base 2Go de dispo).
Quand les fichiers ont du son, c’est inaudible, comme si il y avait plusieurs mp3 qui se chevauchent …(si j’ouvre un Fic000001 avec vlc par exemple).
Soit ça vient de la taille, soit de l’arguement -s FFFB9204.
Que faire ? (j’avais de meilleurs résultats avec -s ID3).
Je tente recherchefichier -H -s FFFB -n 10000 /dev/hda ou -n 20000 ?
Faudrait que je comprenne mieux comment fonctionne recherchefichier … fran.b tu as lu mon EDIT en haut de page 2 ? (j’y pose une question).
La réponse est non, ça te donne tous les fichiers effacés ou non. Là effectivement je pourrais essayer d’améliorer les choses mais cela signifierait un scan complet du disque avant soit un temps non négligeable et de grosses ressources mémoire.
Ah bon … donc je vais pas pouvoir alors. À moins d’avoir un DD de dépannage d’au moins la taille de la partition visée : /home.
heu … Ce qui serait le top, c’est de pouvoir cibler et scanner dans un répertoire, style /home/toto/reptronqué/.
Pourquoi sous windoze c’est possible et pas sous linux en ext3 ?
Est-ce que un changement de ext3 vers ext2 est possible sans perte de données ?
Est-ce que ça me permettrait de récupérer les fichiers avec un logiciel dédié (ext2) ?
Le problème majeur est : touver un programme qui recherche les fichiers effacés suivant un regex style *.mp3 (et non lister une partition entière), comme on en trouve sous windaube, avec en sus la complication du format ext3 par rapport à ext2.