Auteur : Didier Misson
• 30 décembre 2007

J’ai un disque défectueux et j’essaye d’y récupérer les données.
TestDisk m’a retrouvé les partitions, car la table des partitions était défectueuse.

Mais ensuite, pas moyen de réparer cette partition Win XP en NTFS !
Elle est probablement trop mal en point pour que Windows y arrive.

Reste la solution de PhotoRec, qui va passer au scanning de tout le disque pour essayer de retrouver des fichiers ou photos (d’où le nom de Photorec) dans un format qu’il peut identifier.

J’avais déjà fait un billet sur un essais de récupération d’un address book.

Cette fois, j’ai un fichier qui reprend la copie complète d’un disque dur défectueux, dont la lecture est “difficile”.
La copie a été faite avec “dcfldd“.

Je lance PhotoRec sur ce fichier “backup_hdb.dd” (sinon il me demandera de choisir sur quel disque dur travailler) :

$ sudo /mnt/sda7/download/testdisk-6.8/linux/photorec_static  backup_hdb.dd
PhotoRec 6.8, Data Recovery Utility, August 2007 Christophe GRENIER  http://www.cgsecurity.org   PhotoRec is free software, and comes with ABSOLUTELY NO WARRANTY. Select a media (use Arrow keys, then press Enter): Disk backup_hdb.dd - 41 GB / 38 GiB (RO) [Proceed ]  [  Quit  ] Note: Disk capacity must be correctly detected for a successful recovery. If a disk listed above has incorrect size, check HD jumper settings, BIOS detection, and install the latest OS patches and disk drivers.

Je sélectionne “Proceed” sur ce fichier de backup.

Disk backup_hdb.dd - 41 GB / 38 GiB (RO) Please select the partition table type, press Enter when done. [Intel  ]  Intel/PC partition [Mac    ]  Apple partition map [None   ]  Non partitioned media [Sun    ]  Sun Solaris partition [XBox   ]  XBox partition [Return ]  Return to disk selection 

La table des partitions est au format “Intel”.

     Partition                  Start        End    Size in sectors    D empty                    0   0  1  5000  12  4   80325760 [Whole disk]  1 * HPFS - NTFS              0   1  1  4110 254 63   66043152

Pour être complet, je devrais prendre tout le disque dur.

Il contient une première partition c:\ en NTFS (Win XP) et une seconde partition ensuite (probablement en NTFS aussi).
Mais tout comme cet utilisateur n’a pas fait de backup, il n’a sûrement rien copié en dehors de son dossier “Mes Documents”.
Je vais limiter la rechercher à la partition 1.

Je peux sélectionner le type de fichier à rechercher.
En effet, PhotoRec se base sur des entêtes de fichiers pour tenter de reconnaitre des formats connus.

En sélectionnant “File Opt”, je peux préciser les formats que je voudrais récupérer.

PhotoRec will try to locate the following files     Previous [X] doc  Microsoft Office Document (doc/xls/ppt/vis/...), 3ds Max, MetaStock [X] dsc  Nikon dsc [ ] dta  SPSS [X] dump Dump/Restore archive [X] dv   DIF Digital Video [X] elf  Executable and Linking Format [X] evt  Windows Event Log [X] exe  MS Windows executable [X]      EXT2/EXT3 Superblock [X] fh10 Macromedia Freehand 10 [X] fh5  Macromedia Freehand 5 [X] flac FLAC audio [X] flv  Macromedia [X] fs   Zope [X] gif  Graphic Interchange Format     Next

Je laisse la sélection par défaut.

PhotoRec me demande de confirmer le file system :

 1 * HPFS - NTFS              0   1  1  4110 254 63   66043152 To recover lost files, PhotoRec need to know the filesystem type where the file were stored: [ EXT2/EXT3 ]  EXT2/EXT3 filesystem [ Other     ]  FAT/NTFS/HFS+/ReiserFS/...

PhotoRec me demande si je veux faire une recherche seulement sur l’espace non alloué, ou sur tout le disque dur :

Please choose if all space need to be analysed: [   Free    ]  Scan for file from NTFS unallocated space only [   Whole   ]  Extract files from whole partition

Je suppose que c’est pour permettre un scan rapide si on veut seulement récupérer un fichier supprimé par erreur.
Dans ce cas, le disque n’est pas défectueux et scanner seulement les zones non utilisées du disque devrait suffire.

Ce n’est pas mon cas. je choisi tout le disque dur.

Do you want to save recovered files in /mnt/sdb2/restore ? [Y/N] Do not choose to write the files to the same partition they were stored on. To select another directory, use the arrow keys. drwxr-xr-x     0     0      4096 29-Dec-2007 23:12 restore_hdb1 drwxr-xr-x     0     0      4096 29-Dec-2007 20:52 .. drwxr-xr-x     0     0      4096 29-Dec-2007 23:12 .

J’avais créé un dossier “restore_hdb1″, justement pour que PhotoRec puisse y mettre les fichiers récupérés.
Je sélectionne donc ce fichier.

Do you want to save recovered files in /mnt/sdb2/restore/restore_hdb1 ? [Y/N] Do not choose to write the files to the same partition they were stored on.

et je confirme avec “Y”.

En quelques secondes il me met déjà :

PhotoRec 6.8, Data Recovery Utility, August 2007 Christophe GRENIER  http://www.cgsecurity.org Disk backup_hdb.dd - 41 GB / 38 GiB (RO)      Partition                  Start        End    Size in sectors  1 * HPFS - NTFS              0   1  1  4110 254 63   66043152 Pass 1 - Reading sector      92592/66043152, 1681 files found Elapsed time 0h00m18s - Estimated time for achievement 3h33m40 txt: 455 recovered png: 411 recovered jpg: 235 recovered exe: 173 recovered gif: 94 recovered doc: 80 recovered tx?: 49 recovered riff: 42 recovered wmf: 41 recovered bmp: 35 recovered others: 66 recovered   Stop 

Ca me semble même beaucoup…

Mais attendons ;-)

Un rapide coup d’oeil dans une autre session me montre que le dossier de restauration se rempli :

$ ls -l /mnt/sdb2/restore/restore_hdb1 total 812 drwx------ 2 root root 20480 2007-12-29 23:44 recup_dir.1 drwx------ 2 root root 20480 2007-12-29 23:45 recup_dir.10 drwx------ 2 root root 20480 2007-12-29 23:45 recup_dir.11 drwx------ 2 root root 20480 2007-12-29 23:45 recup_dir.12 drwx------ 2 root root 20480 2007-12-29 23:46 recup_dir.13 drwx------ 2 root root 20480 2007-12-29 23:46 recup_dir.14 drwx------ 2 root root 20480 2007-12-29 23:46 recup_dir.15 ...

Il a donc récupéré des dossiers. :-)
Au hasard :

$ sudo ls -l recup_dir.23 | less -rw-r--r-- 1 root root 189314 2007-12-29 23:47 f1207280.jpg -rw-r--r-- 1 root root  73728 2007-12-29 23:47 f1207656.dll -rw-r--r-- 1 root root 110216 2007-12-29 23:47 f1207816.jpg -rw-r--r-- 1 root root  54768 2007-12-29 23:47 f1208048.gif -rw-r--r-- 1 root root    764 2007-12-29 23:47 f1208168.bmp -rw-r--r-- 1 root root   8192 2007-12-29 23:47 f1208224.html -rw-r--r-- 1 root root  17852 2007-12-29 23:47 f1208240.jpg -rw-r--r-- 1 root root   7591 2007-12-29 23:47 f1208280.txt -rw-r--r-- 1 root root   2371 2007-12-29 23:47 f1208296.jpg -rw-r--r-- 1 root root  10958 2007-12-29 23:47 f1208768.html -rw-r--r-- 1 root root   4736 2007-12-29 23:47 f1208800.txt -rw-r--r-- 1 root root   3872 2007-12-29 23:47 f1208824.txt -rw-r--r-- 1 root root  24576 2007-12-29 23:47 f1208832.swc -rw-r--r-- 1 root root   4608 2007-12-29 23:47 f1208880.doc ...

Ce ne sera pas évident de faire le tri ensuite !
Mais probablement que je pourrai retrouver facilement les documents Word et Excel.
J’espère les boites mails aussi… mais là… on verra !

Il m’a déjà trouvé plus de 24.000 fichiers…

Donc, une récupération totale sera évidemment impossible ! Comment remettre un nom correct sur tous ces fichiers, en particulier le fichier texte qui contient… du texte oui… mais rarement tapé par l’utilisateur, en général des scripts, des fichiers “.ini” de Windows, etc.

Mais la sélection de fichiers les plus courants, Word, Excel, devrait être possible et pour ces fichiers il sera plus facile de retrouver le nom d’origine.

Ok, PhotoRec a terminé en un peu moins de 2h30 pour une partition de 32 GB environ :

61758 files saved in /mnt/sdb2/restore/restore_hdb1/recup_dir directory. Recovery completed. txt: 28071 recovered exe: 10655 recovered jpg: 7914 recovered gif: 4502 recovered png: 2482 recovered bmp: 1824 recovered doc: 1414 recovered tx?: 1127 recovered riff: 1111 recovered swf: 636 recovered others: 2022 recovered

“du” me dit :

:/mnt/sdb2/restore$ sudo du --max-depth=1 -h 19G     ./restore_hdb1

Il me reste donc à faire le tri parmis 19GB de données !

Heureusement, je peux assez vite balancer les .exe, .com, .dll
mais ça me prendre du temps malgré tout…

Mais je pense qu’au moins une partie des documents est récupérée ;-)

Catégorie: Linux | Tags :
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Vous pouvez laisser une réponse, ou un rétrolien depuis votre propre site.

2 réponses

  1. 1
    charlotte 
    7 janvier 2008

    c’est de mon disque qu’il s’agit ??????

    oui ?

    Tant mieux pour mes adresses.

  2. euh… non non…
    ce n’est pas ton disque dur…

    C’est un qui est encore plus mal que n’était ton disque !
    Le tient, ce n’était pas le même problème : j’avais retrouvé les boîtes mails Thunderbird, mais vides…
    Probablement qu’il y avait déjà des problèmes la dernière fois où Thunderbird a tourné…
    :-(

Laisser un commentaire