Récupérer un fichier effacé : petits
trucs (Réagir sur le
sujet)
Vu la multiplication des questions à propos de la
récupération des fichiers effacés (que je nommerai Undelete), je me
permets de faire un sujet qui explique pourquoi on ne récupère pas tous
les fichiers effacés et ce que la défragmentation régulière apporte dans
ce contexte-là.
J'ai déjà expliqué certaines choses à différents
moments de cette année, ce sujet est donc une espèce de résumé de ce qui a
été dit. Je me suis basé sur mon expérience personnelle ainsi que sur les
fichiers d'aide de certains logiciels que je mentionnerai à chaque fois.
Je ne dirai rien de Norton qui a une fonction Undelete, c'est un produit
payant qui marche très bien mais je parle ici uniquement de
freeware.
Pour perpétuer une habitude dans mes sujets, quelques
vrais/faux.
VRAI
Il n'y a plus de Undelete depuis
Win95
Ben vi, sinon, je ne devrais pas faire un sujet à part.
Je ne connais pas la raison exacte de la disparition de la fonction
Undelete de Win3.1, il est possible que l'apparition de la corbeille a
fait penser à MS que tout le monde allait s'en servir et que ça permettait
de se passer d'un Undelete. On verra plus loin que ce n'est pas aussi
simple. Heureusement, de bonnes âmes ont écrit des programmes qui
permettent de pallier à ce manquement.
Je dois sauver mon
fichier récupéré sur un autre disque physique ou logique
C'est
dû au fait qu'un fichier effacé ne l'est pas réellement, ce sont les
secteurs qu'il occupait qui sont rendus disponibles. Si on veut donc
récupérer un fichier effacé, il est vivement conseillé de l'écrire sur un
autre support, même logique, de manière à ne pas écraser les secteurs du
fichier. C'est-à-dire que si vous avez 2 disques (C et D) mais qui sont en
réalité un seul disque physique, vous pouvez sauver sur D un fichier
effacé sur C, et vice-versa.
C'est maintenant que je dois
installer un programme de Undelete
En effet, quand on a effacé
un fichier et qu'on n'a pas de programme de Undelete installé, c'est
(presque) trop tard. Je vois souvent que des gens demandent comment faire
pour récupérer un fichier, c'est qu'ils n'ont pas le programme ad hoc.
Dans ce cas, il faut prendre toutes les précautions. Pour ceux qui
surfent pour chercher un programme de Undelete, qui le téléchargent sur le
même disque, il y a très peu de chance qu'ils récupèrent leur fichier.
Idéalement, il faut avoir déjà le programme de Undelete sous la main. Si
ce n'est pas le cas mais que vous avez un 2ème PC avec accès Internet,
servez-vous de celui-là pour télécharger le programme de Undelete et
mettez-le sur une disquette. Si vous êtes en réseau, vous pourrez
peut-être récupérer un fichier effacé sur un autre PC (je n'ai jamais
essayé mais à priori, ça devrait marcher). Si vous n'avez qu'un seul PC
avec accès à Internet, téléchargez alors le fichier sur une disquette ou
un autre disque que celui où vous voulez récupérer le fichier.
Attention lors de l'installation, il pourrait écraser les secteurs que
vous voulez justement récupérer. Il existe des programmes de Undelete qui
ne nécessitent pas d'installation, je pense en particulier à
Restoration qui peut tourner à partir d'une disquette, il n'a
besoin que de 400 KB une fois décompressé et il n'y a pas
d'installation.
FAUX
On peut toujours récupérer
des fichiers effacés, même longtemps après l'effacement.
Chaque
seconde qui passe vous éloigne de la récupération de votre fichier.
Bon, j'exagère un peu. Quoique. Quand on voit ce qui tourne sous
Windows en permanence, il est clair que des tas de programmes écrivent des
bouts de fichiers, même sans que vous ne vous en rendiez compte. Par
exemple, un antivirus écrira dans un fichier journal, Word sauve toutes
les x minutes votre document si vous avez activé l'option "enregistrer les
infos de récupération automatique", etc. Le fichier swap (mémoire
virtuelle) peut gonfler ou dégonfler également. Si vous avez XP, il y a
des tas d'autres programmes système que je ne connais pas qui écrivent des
données à différents moments, pour la bonne (?) gestion de l'OS. Or, le
principe de l'écriture d'un secteur sur disque est toujours le même sous
Windows, il y a une recherche du premier secteur (cluster en anglais)
disponible dans la liste des secteurs libres et il est alloué à un
fichier, dès qu'un programme crée un fichier ou écrit dans un fichier et
que cette écriture nécessite un agrandissement. Donc, si vous venez
d'effacer un fichier, ne touchez plus à rien, démarrez un des programmes
de Undelete et récupérez-le illico car tous les autres programmes tournant
à ce moment-là pourraient utiliser les secteurs précédemment occupés par
votre fichier. Si Word tourne, ne le fermez pas car il écrira dans des
fichiers de travail, il sauvera votre document ouvert et ça risque
d'écraser votre autre fichier. Si vous surfez, stoppez immédiatement votre
session Internet car IE (ou un autre navigateur) écrit en permanence des
fichiers sur disque. Il arrive néanmoins que certaines personnes
récupèrent des fichiers effacés depuis longtemps, d'autres ne récupèrent
pas ou partiellement un fichier effacé 10 minutes avant. Un bémol à mon
affirmation : il paraît qu'il existe des moyens techniques (logiciels ?)
de récupérer toutes les données écrites sur un disque dur. Mais c'est
réservé aux Chinois du FBI (ceux qui regardent les Guignols de l'Info
auront compris l'allusion ). Sans déconner, pour ceux qui ont quelque
chose à cacher, il existerait un moyen de récupérer les données car ce
sont des couches différentes qui sont magnétisées. Si vous voulez
réellement qu'on ne retrouve rien sur votre disque dur, aplatissez-le à
coups de marteau. Dans certains cas, on peut récupérer les fichiers de
disques formatés, si c'était un formatage rapide.
Si j'ai un
programme de Undelete, je n'ai plus besoin de faire des copies de sécurité
de mes fichiers importants
Pas du tout. Ces programmes ne sont
que des palliatifs pour récupérer un fichier en catastrophe et en aucun
cas, ne sont là pour remplacer un backup. Si vous avez des données
importantes, voire critiques, sauvez-les sur CD si vous avez un graveur,
sur disque Zip, sur un autre disque du réseau, etc. En pratique, il
m'arrive souvent de récupérer un fichier pas critique, dont je n'ai pas de
copie. Cela arrive par exemple après avoir surfé car certains sites
détruisent la page dans le cache IE quand vous quittez la page. Si vous
n'avez pas sauvé la page au moment où vous étiez dans le navigateur, c'est
une manière de la récupérer. Il se peut aussi que vous voulez
récupérer un fichier de travail, de Word, par exemple. Si vous avez
utilisé l'option précitée, Word écrit toutes les x minutes dans des
fichiers (.tmp, .asd) de quoi récupérer votre document en cas de problème.
Mais si vous voulez par exemple récupérer le fichier avant la modif, vous
aurez une petite chance en allant trifouiller dans Windows\Temp. Il arrive
que plusieurs personnes partagent un PC et que l'une d'elles supprime
accidentellement des fichiers, là aussi ces programmes trouvent leur
raison d'être. Certains suppriment des fichiers en passant par la
corbeille, d'autres (en utilisant la touche Shift) suppriment directement,
sans passer par la corbeille. Voir plus bas ce qu'il faut faire pour les
fichiers qui sont passés par la corbeille.
Les programmes de
Undelete ne sont pas très efficaces
J'explique plus bas les
limitations de ces programmes, inhérentes au fonctionnement de l'écriture
des secteurs et de la FAT de Windows, la FAT étant la table d'allocation
des fichiers, c'est l'index des fichiers, en somme. J'ai déjà entendu
des gens se plaindre de ce genre de logiciels qui ne récupèrent pas tous
les fichiers, ce n'est en rien à cause d'un manquement du programme mais
uniquement dû à la manière dont Windows gère les fichiers, c'est-à-dire en
les fragmentant lorsqu'ils sont créés et/ou modifiés. D'autres OS comme
Linux gèrent les fichiers différement.
Rentrons dans le vif du
sujet. D'abord quelques considérations techniques pour comprendre pourquoi
on ne récupère pas toujours un fichier effacé, que ce soit partiellement
ou complètement.
Il y a quelque chose qui est méconnu et qui est
extrêmement important en ce qui concerne la récupération de fichiers
effacés. C'est le fait que le fichier effacé soit ou non fragmenté.
Imaginez un fichier fragmenté en 3 morceaux, disons 3 KB, 5 KB, 2 KB, ce
qui fait un fichier de 10 KB. Fragmenté signifie que les 3 morceaux du
fichier ne sont pas contigus sur le disque. En fait, vous ne savez même
pas que votre fichier est fragmenté. C'est Windows qui "colle" les
morceaux quand vous l'ouvrez, ce qui prend d'ailleurs plus de temps que si
le fichier était en un seul bloc. Imaginons que vous l'effacez par
mégarde. Vous démarrez immédiatement un des softs de Undelete et que se
passe-t-il, le soft détecte le fichier mais à cause de la fragmentation,
il ne retrouve que le premier bloc de 3 KB et pas les autres. Ce n'est pas
un bug ou une incohérence mais c'est dû à la perte de l'information sur
l'ordre des secteurs (clusters) du fichier, aussi appelé chaînage des
clusters.
Voici ce que dit l'auteur de Drive Rescue (DR) dans son
help (la traduction n'est pas terrible mais on comprend ce qu'il veut
dire) :
Si l'utilisateur efface un fichier (et non pas
simplement placé dans le presse-papier de Windows), la première lettre de
l'entrée, est remplacée par un caractère spécial (E5 en hexadécimal, 229
en décimal). En plus, les informations sur l'ordre des clusters sont
également effacées lors de la suppression. Cela n'a pas d'importance si le
fichier n'était pas fragmenté (c'est à dire que les clusters du fichiers
ont été enregistrés successivement). Avec un lecteur fragmenté
(cela est fréquent avec l'enregistrement et l'effacement fréquent des
données), la chance de retrouver des fichiers est relativement faible.
Cependant, si le fichier est visible dans le dossier "Effacés" dans Drive
Rescue, vous pouvez essayer de le récupérer, et Drive Rescue s'assurera
qu'il n'est pas fragmenté.
Petite précision, quand il dit "les
clusters du fichier ont été enregistrés successivement", ça veut dire en
clair que le fichier est en un seul bloc.
Si vous avez lu entre les
lignes, c'est un plaidoyer pour une défragmentation fréquente, un effet
indirect assez méconnu de la défragmentation d'ailleurs. Vous allez me
dire "je n'enregistre et n'efface que rarement des fichiers". Et vous
pensez donc ne pas être concernés par ce problème de fragmentation.
Faites alors l'expérience suivante : après avoir surfé, lancez une
défragmentation, puis, affichez les détails une fois qu'il a commencé à
déplacer les fichiers et faites "pause". Puis, allez voir à la fin des
secteurs utilisés, ça ressemble (chez moi) à un véritable gruyère malgré
une défragmentation quotidienne.
Autre expérience : allez voir avec
DR, après avoir surfé, les (4,8 ou 12) répertoires du cache Internet
(TIF\Content.IE5). Vous verrez une série de fichiers effacés dont la date
et l'heure est très récente et pourtant, ils sont renseignés comme étant
en mauvais état. C'est parce que depuis leur effacement (normal car généré
par les pages html, java, asp), d'autres fichiers ont été écrits à la
place occupée et leur contenu est plus que probablement perdu.
Je
vous conseille de lire l'aide en français de Drive Rescue, il y a des
schémas bien plus explicites que de longs textes.
Si on a effacé un
répertoire, donc, son contenu, on peut récupérer le répertoire mais
l'expérience montre que c'est mieux de récupérer les fichiers un par
un.
Pourquoi y a-t-il un caractère bizarre au début du nom de
mon fichier ?
Les logiciels de Undelete montrent une liste de
fichiers effacés et certains d'entre eux ont un caractère spécial au début
de leur nom (E5 en hexadécimal, 229 en décimal), c'est Windows qui
remplace ce caractère au moment de l'effacement du fichier. A vous de
modifier ce caractère par le bon au moment où vous restaurez le
fichier.
Cas particulier : récupérer des fichiers effacés de
la Corbeille
On pourrait imaginer que c'est simple,
détrompez-vous. C'est plus subtil car Windows les renomme quand vous
effacez un fichier en l'envoyant dans la corbeille. On peut considérer que
c'est un déplacement de fichier de votre répertoire vers le répertoire
Recycled (le vrai nom de la corbeille) mais avec un nom différent, de
manière à éviter les doublons. L'extension est conservée mais les
caractères avant le point sont remplacés par quelque chose du genre D?x, ?
étant la lettre du disque et x étant égal à 1, 2, 3, etc. Par exemple,
si on efface un fichier toto.doc et un autre toto.txt du disque C, on aura
dans le répertoire Recycled un fichier Dc0.doc et Dc1.txt. Si on récupère
avec un soft de Undelete ces fichiers effacés de la corbeille, on se
retrouve donc avec des fichiers qui n'ont plus les bons noms. Pour
retrouver leur nom, il faut alors passer par un programme du genre de
Total Commander (anciennement Windows Commander) qui montre la corbeille
comme un vulgaire répertoire. On y trouvera un fichier caché qui s'appelle
chez moi info2 sans extension (sous Win98) et en regardant son contenu
avec le bloc-notes, on devrait retrouver les noms des fichiers perdus au
milieu de caractères spéciaux, les pointeurs dont Windows se sert pour
reconstruire les fichiers qu'on restaure de la
corbeille.
Comment savoir si un fichier est fragmenté
?
Ce n'est pas simple. Il ne faut pas compter sur MS pour nous
le dire. Une précédente version de DR avait une fonction qui montrait le
chaînage des clusters et permettait ainsi de voir que des fichiers
n'étaient pas en un bloc. Je connais Winhex (éditeur en hexadécimal), il a
toute une série de fonctions très intéressantes, c'est un
shareware.
Voici ce qu'on trouve dans l'aide :
WinHex
recherche les clusters assignés au fichier ou répertoire que vous avez
spécifié. Les clusters trouvés sont listés dans une fenêtre à part. Vous
pouvez cliquer un élément de la liste pour vous déplacer vers ce numéro de
cluster.
WinHex 9.92 for Windows 95/98/Me/NT/2000/XP, existe en
français. C'est un outil très puissant mais qui peut être dangereux si on
commence à modifier des fichiers directement sur le disque. Il permet de
chercher du texte, même dans la partie du disque non-assignée à des
fichiers. Vous pouvez ainsi retrouver des secteurs contenant des bouts de
fichiers effacés depuis longtemps.
http://www.winhex.com
Que faire avec le
fichier récupéré ?
Vous pensez avoir récupéré votre fichier car
son nom et sa taille sont OK. Ce n'est pas encore gagné. En effet,
certains fichiers semblent avoir la bonne taille mais quand vous l'ouvrez
avec l'application liée, il est illisible ou incomplet. C'est la faute à
pas de chance. Soit, vous avez attendu trop longtemps avant de le
récupérer, soit, il était fragmenté au préalable et le "sauveur" n'a pas
pu faire de miracle. Si c'était un fichier vital pour vous, il aurait
mieux valu en avoir une copie quelque part.
Quels programmes
utiliser ?
Les programmes que je conseille permettent de
récupérer un nombre illimité de fichiers effacés. Il existe d'autres
logiciels avec une limitation, pas plus de 3 à la fois, je pense à
Revival.
Je conseille Drive Rescue. Depuis juillet 2002, il
est devenu shareware mais il est encore simple de se procurer la dernière
version freeware. Voici des liens :
http://www.familoo.com/familoo/RepFiles/7966277758/Drive_Rescue_1.9.zip
(670 KB)
ou ici
http://pcinfonews.free.fr/rescue_disk.zip
Page
d'accueil : http://home.arcor.de/christian_grau/rescue/index.html
Pour
Windows® 95, 98, ME, NT, 2000 ou XP, avec FAT 12/16/32 (hard disks, disks,
SmartmediaT, Compact FlashT, Memory Stick) et NTFS (incomplet). Récupère
des disques formatés (formatage rapide). Il permet de faire des
recherches avec des caractères génériques si vous connaissez le nom du
fichier effacé mais que vous ignorez dans quel répertoire il se
trouvait.
Restoration : freeware
Voici une autre
excellent logiciel, très simple à l'usage (un seul bouton pour récupérer
le fichier). Il permet (comme DR) de rechercher les fichiers avec des
caractères génériques, par exemple, .txt cherchera tous les fichiers .txt
effacés. Si votre fichier s'appelle toto.doc, vous pouvez tapez son nom
dans le champ réservé qui s'appelle "All or part of the file". Si vous
laissez ce champ vide, le logiciel cherchera tous les fichiers effacés.
Ce logiciel a une fonction exactement inverse également, il permet
d'effacer "définitivement" tous les secteurs inoccupés, ce qui empêchera
de récupérer un fichier effacé. J'ai mis des guillemets car les Chinois du
FBI sont capables de retrouver tout ce qui a été écrit sur un
disque.
Voici un extrait du readme.txt accompagnant
Restoration
[Supported OS] : Windows
95/98/Me/NT/2000/XP
[Supported File System] FAT12/FAT16/FAT32/NTFS
Compressed files of NTFS are supported. However, encrypted files of NTFS
are not supported so far.
[Supported Devices] Hard
disk Floppy disk ZIP drive (I tested by parallel port ZIP drive. I
don't know the reason but if the OS is Windows 95/98/Me, it doesn't
recognize the disk unless the disk is inside the drive when the PC boots
up. However, you can change the disk after boot.) PD (A user reported
that it worked correctly.) DVD-RAM (A user reported that it worked
correctly.) Smart media (A user reported that it worked
correctly.) Memory stick drive (A user reported that it worked
correctly.)
http://hccweb1.bai.ne.jp/~hcj58401/REST2514.EXE (193
KB)
PC File inspector (NTFS) c'est un clone de Drive
Rescue
http://www.pcinspector.de/file_recovery/uk/url.htm
Vos
commentaires et questions sont les bienvenus.
Merci de
m'avoir lu jusqu'au bout !
J'ai
trouvé un petit utilitaire pour les cas d'urgence. Il s'appelle
TestDisk, il est en licence GNU, c'est donc un logiciel
libre, avec les sources incluses. Il permet de vérifier les
partitions et les secteurs boot des disques, il peut récupérer des
partitions effacées.
http://www.cgsecurity.org//index.html?testdisk.html
http://www.cgsecurity.org//testdisk-4.4.zip (500
KB)
Voici ce qu'on trouve dans le Readme
TestDisk
checks the partition and boot sectors of your disks. It is very
useful in recovering lost partitions. It works with : -
FAT12 - FAT16 - FAT32 - NTFS (Windows NT/W2K/XP) -
EXT2FS/EXT3FS (Linux) - Linux Swap (1 & 2) - IBM
Multiboot - BeFS (BeOS) - UFS (BSD) - ReiserFS (1 &
2)
TestDisk runs under: - Dos, Win9x - Linux -
FreeBSD
TestDisk is under GNU General Public License.
Je pense que c'est un Français qui l'a écrit, il
s'appelle Christophe GRENIER.
Comme vous pouvez le constater,
il tourne sur différentes plateformes et même sous Windows (dans une
boîte DOS). C'est un outil puissant qui peut être dangereux si on
l'utilise à mauvais escient, c'est vraiment pour les cas désespérés
de disque qui ne démarre même plus. L'exécutable pour DOS/Win
fait 142 KB et pour tourner en DOS pur, il faut en plus le programme
Cwsdpmi.exe (19 KB) car c'est un vrai 32 bits. Ce programme est
évidemment fourni avec testdisk. On peut donc le mettre sur une
disquette de démarrage et ainsi, pouvoir l'utiliser si Win refuse de
se lancer. Je l'ai testé mais comme je n'ai pas de partition
effacée, je n'ai pas pu essayer sa fonction de récupération. Si
quelqu'un est tenté avec un disque de test, merci de le
signaler.
------------------------- Pierre. |
------------------------- Pierre.
|
|