TestDisk

Aussitôt que vous constatez la perte de données, arrêtez d'utiliser le disque dur, SSD ou autre support de stockage sur lequel a eu lieu la perte. Vous risqueriez de réécrire par-dessus des données récupérables et de les effacer pour de bon!
Vous ne devez pas utiliser le support de stockage sur laquelle les données ont été perdues, y compris pour l'utilisation de TestDisk ou la sauvegarde des fichiers récupérés !
TestDisk étant disponible depuis les dépôt officiels, il n'y a aucun problème à l'installer et l'utiliser depuis une session live Ubuntu afin d'éviter toute écriture des données sur le support concerné, en particulier si il contient une partition système ou montée automatiquement.
En complément de TestDisk, vous pouvez vous assurer que le support est en bon état physique avec smartmontools.

TestDisk permet d'analyser les supports de stockage (disque dur, SSD, clé USB…) à la recherche de partitions effacées ou endommagées. Il recherche un index permettant de retrouver une partition formatée à tort. Ayant retrouvé cet index, il reconstitue le système de fichiers.
Il est fourni avec PhotoRec, un outil permettant d'analyser une partition pour retrouver puis récupérer des fichiers effacés.

On peut compléter la récupération de TestDisk en corrigeant la structure du système de fichiers avec fsck.
TestDisk est distribué sous Licence GPLv2 et fonctionne sous Windows, GNU/Linux, Mac OS X, Solaris et BSD.

Avant d'aller plus loin dans la lecture de ce document, n'hésitez-pas à vous assurer que le support est en bon état physique grâce à smartmontools. Dans le cas contraire d'autres outils seront probablement plus appropriés, par exemple ddrescue.

Sur Ubuntu

Sur un support live USB

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt update
sudo apt install testdisk

Utilisation de la version Béta

La dernière version de TestDisk est disponible "prête à l'emploi" depuis le site officiel. Elle ne nécessite aucune installation ni modification de votre système. Elle est utilisable aussi bien depuis un système installé ou un système en session live.

Son lancement s’effectue directement depuis l'exécutable fourni.

  1. Se rendre sur la page de téléchargement du site officiel;
  2. Télécharger TestDisk & PhotoRec Linux 64 bits dans votre dossier personnel;
  3. Extraire l'archive tar.bz2 téléchargée.
    Testdisk est directement utilisable en lançant l'exécutable testdisk_static situé dans le dossier extrait.

Dans 99% des cas, TestDisk sera utilisé pour récupérer des données sur un autre support physique. Prévoyez dès maintenant le montage de ce support afin de le retrouver facilement. Si c'est un support externe, les partitions sont souvent montées automatiquement. Si c'est un disque interne, la partition sera à monter. Pour identifier les partitions, utilisez cette commande:

lsblk -e2,7,11 -o MOUNTPOINT,SIZE,NAME,FSTYPE,LABEL

Un conseil, créez-y immédiatement un répertoire facilement identifiable.

mkdir /media/<Nom Utilisateur>/<Point De Montage>/RecuperationFaiteParTesdisk

Vous pouvez maintenant lancer le logiciel. Dans un terminal, saisissez la commande

sudo testdisk

Puis appuyez sur la touche Entrée ↵ pour accepter la création d’un fichier de log qui est proposée par la première grille affichée.

Et si vous utilisez la version du site officiel extraite dans votre dossier personnel :

sudo ./testdisk*/testdisk_static
On ne peut techniquement pas utiliser TestDisk pour récupérer ni forcer les partitions protégées par chiffrement.

Une description du fonctionnement d'une version plus récente est disponible sur la documentation officielle.

En règle générale:

TestDisk peut récupérer les partitions qui ont étés supprimées en réécrivant la table de partition.

On peut aller jusqu'au deeper search et sauver ce qu'on trouve sur un support de stockage tiers.

  • Celui-ci ne doit évidemment pas être le support à analyser, et d'une manière générale il ne faut surtout pas écrire sur un stockage dont on cherche à récupérer les données : lorsqu'on réécrit dessus, les données sont définitivement détruites !
  • Celui-ci ne doit pas non plus être la clé live USB (si c'est ce qu'on utilise), qui ne persiste pas les données et dont la taille serait insuffisante.

Sélection du disque

Puis avec les flèches haut et bas, on choisit le disque dur sur lequel se trouve la partition formatée à tort.

Attention : si vous vous trompez de stockage vous risquez de perdre des données (cela équivaut à le formater) !

On choisit si besoin l'action Proceed en bas avec les flèches et (elle est sélectionnée par défaut) puis on valide avec Entrée ↵.

Choix du type de partition à récupérer

Sur l'écran suivant, on détermine la table de partition (qu'on suppose avoir été utilisée). Notez qu'on peut ainsi récupérer différents systèmes de fichiers, dont ceux de supports Xbox, macOS ou Sun.
Les tables de partitions utilisées sur PC sont Intel (aussi appelée MBR ou MS-DOS), surtout utilisée avec l'ancien matériel, et désormais on utilise le plus souvent EFI GPT (aussi appelée GUID).

Si vous ne savez quelle table de partition a été utilisée pour votre support, essayez en premier EFI GPT, puis Intel si ce premier essai n'est pas concluant !

Analyse

On laisse ensuite Analyse sélectionné :

TestDisk présente sur l'écran suivant le partitionnement actuel du support.

On peut ensuite lancer Quick Search (flèches du clavier si nécessaire puis touche Entrée ↵).

Cette opération prend moins d'une seconde.

Choix des partitions

On est invité sur l'écran suivant à sélectionner des partitions parmi celles détectées par cette recherche rapide :
on sélectionne ou désélectionne les partitions grâce aux touches flèches et à la barre d'espace .

Les partitions sélectionnées sont surlignées en vert.

Une fois les partitions choisies, ont appuies sur Entrée ↵.

Action sur partitions

Sur l'écran suivant on a le choix entre

  • Write qui permet de simplement écrire les partitions retrouvées,
  • ou Deeper search (recherche approfondie), à utiliser si on n'est pas satisfait des partitions retrouvées.

Écriture

Attention, en choisissant write, TestDisk réécrit l'index du support.

On peut alors redémarrer l'ordinateur.

Recherche approfondie

Soit on appuie sur Entrée ↵ pour arrêter la recherche car nous avons reconnu notre partition (inutile d'attendre qu'il analyse tout le disque).

Soit on laisse toute la recherche se faire lorsque le cas est plus complexe.

Étape 8

TestDisk liste les partitions effacées qu'il a découvertes.

Ici, une autre partition en FAT32 (sûrement une partition encore plus vieille) et MA partition en NTFS ; je vois même le label (le nom) de mon ancienne partition.

Pour récupérer cette partition, il faut appuyer sur les flèches droite et gauche. En effet, on remarque au début de la ligne un D ce qui signifie Deleted (effacée) on va changer ça. On peu choisir soit :

  • L = logical
  • E = extended
  • P = primary
  • * = primaire et bootable

Dans mon cas, c'est primary bootable à noter que je n'ai le choix que entre primary

et primary bootable

Étape conditionnelle

La table de partition n'est pas réécrite car trop détruite. Il est alors nécessaire de faire le deeper search et de sauvegarder les données qui vont être récupérées sur un autre support physique.

et de laisser tourner car cela prend beaucoup de temps. On peut regarder l'écran évoluer.

Au final on a une liste qui peut être très impressionnante ou pas.

Étape 19

Il faut maintenant aller scanner les partitions à la recherche des données perdues. Le fait de connaître préventivement l'implantation ancienne peut éviter de rechercher dans certaines partitions. Sinon elles sont toutes à faire dans l'ordre qu'on le sent. Il faut se positionner sur la ligne choisie et frapper le caractère P qui permet de visualiser le contenu.

Dans la grille ci-dessus, Les répertoires et fichiers logiquement supprimés ont été masquées (commande h) sinon ils seraient affichés en rouge. On s'est baladé dans les répertoires en faisant un return sur les lignes tentantes. On peut aussi descendre dans la hiérarchie. (Ici, on est descendu dans un répertoire.) On remonte d'un cran par la commande q. En conclusion: On a décidé de récupérer trois répertoires qui ont été sélectionnés en appuyant sur le caractère : Ils sont maintenant affichés en vert. C'est le moment de les copier sur un autre support par la commande C

Étape 12

C'est le moment de bien naviguer pour sélectionner le répertoire de réception de ce qui va être copié. Une explication plus détaillée est disponible dans cette discussion https://forum.ubuntu-fr.org/viewtopic.php?pid=21702798#p21702798

Ne pas oublier qu'il ne doit pas être sur le même disque et qu'il doit être de taille adéquate par rapport à ce qui a été sélectionné. Au besoin, diminuer la sélection en prenant seulement un répertoire. Puis lorsque la copie sera faite, sélectionner les autres répertoires avec un autre support physique pour la sortie.

il ne reste plus qu'à sélectionner le répertoire .. et lancer la copie par la commande C Puis regarder l'action se faire.

Étape 13

Pour contrôler que les données sont bien récupérées dans le support prévu, le plus simple est de rebooter et de remonter ce support et regarder le contenu. Si rien, il sera possible de recommencer après avoir appliqué la bonne procédure

Quelques exemples.

Réaliser l’image Disque bit par bit

Lancer une récupération de fichiers sur un disque dur défectueux, ce n’est pas le pied. D'abord parce que ce n'est pas fiable, ça plante tout le temps et ensuite parce que cela risque d'endommager encore plus le disque dur. Cette copie sera un clone identique du disque, cela veut dire que vous pourrez récupérer dessus tous les fichiers même ceux qui ont été effacés par inadvertance.

Jusqu'à preuve du contraire, lorsque le disque est défaillant, l'outil de duplication à privilégier est ddrescue.

Restaurer la structure de boot de la partition windows

astuce de YannUbuntu

  • sélectionner le disque où se trouve la partition à réparer,
  • [Proceed],
  • choisir le type de partition (généralement [Intel]),
  • [Advanced],
  • sélectionner la partition à réparer avec [Boot], ça va afficher quelque chose comme ceci:
                        Boot sector
                        Status: Bad
                        Backup boot sector
                        Status: OK
                        Sectors are not identical.
           A valid NTFS Boot sector must be present in order to access
           any data; even if the partition is not bootable.
         [  List  ]  [Backup BS]  [Rebuild BS]  [  Dump  ]
  • Vérifier que vous avez bien "Status ok" en-dessous de "Backup boot sector"
  • enfin sélectionnez [Backup BS].

Création d'un MBR pour booter windows.

  1. Faire les étapes 1, 2, 3 et 4 du chapitre 5. Mais à l'étape 4 il faut choisir "MBR Code" au lieu de "analyse".
  2. Accepter l'écriture du MBR dans le premier secteur. Puis confirmer l'écrasement.
  3. Lancer Gparted afin de s'assurer que le flag de boot est bien mis sur la partition windows.

Récupérer le contenu d'une partition chiffrée luks

Il est possible de lancer testdisk pour récupérer les données d'une partition chiffrée LUKS si cette partition peut être préventivement montée. Sinon, on récupère seulement la structure de boot. Tentative réalisée en version 22.10. Voici l'écran montrant ce qui est récupérable. Uniquement la structure de boot! (PhotoRec ne fera pas mieux)

======================================================================
TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
     Linux filesys. data      1054720    4554751    3500032
Directory /
 
>drwxr-xr-x     0     0      4096  2-Dec-2022 16:28 .
 drwxr-xr-x     0     0      4096  2-Dec-2022 16:28 ..
 drwx------     0     0     16384  2-Dec-2022 15:52 lost+found
 drwxr-xr-x     0     0      4096  2-Dec-2022 15:55 efi
 drwxr-xr-x     0     0      4096  2-Dec-2022 16:29 grub
 -rw-------     0     0   6250707 12-Jul-2022 10:51 System.map-5.15.0-43-generic
 -rw-r--r--     0     0    261694 12-Jul-2022 10:51 config-5.15.0-43-generic
 lrwxrwxrwx     0     0        28  2-Dec-2022 16:26 initrd.img
 lrwxrwxrwx     0     0        28  2-Dec-2022 15:55 initrd.img.old
 -rw-r--r--     0     0    182800  6-Feb-2022 21:35 memtest86+.bin
 -rw-r--r--     0     0    184476  6-Feb-2022 21:35 memtest86+.elf
 -rw-r--r--     0     0    184980  6-Feb-2022 21:35 memtest86+_multiboot.bin
 lrwxrwxrwx     0     0        25  2-Dec-2022 16:26 vmlinuz
 lrwxrwxrwx     0     0        25  2-Dec-2022 16:26 vmlinuz.old
                                                   Next
Use Right to change directory, h to hide deleted files
=============================================================

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
Pour supprimer la version du site officiel extraite dans votre dossier personnel, il suffit de supprimer le dossier extrait.


Contributeurs : toth_o, krodelabestiole.

  • testdisk.txt
  • Dernière modification: Le 13/12/2025, 18:04
  • par krodelabestiole