Table des matières

ext3grep

Introduction

ext3grep rend encore possible de récupérer certains fichiers effacés d’une partition une fois la corbeille vidée.

Installation

Dans un terminal, tapez :

apt-get update && apt-get install ext3grep

Préalable

Avant toute chose, il faut partir du principe que moins on écrit sur la partition où était stocké le(s) fichier(s), plus on a de chance de le(s) récupérer. Il faut donc impérativement fermer tous les programmes utilisant la partition en question.

Utilisation

Mettre la partion des données à récupérer en lecture seule.
Logué en root (pas par sudo), tapez la commande suivante :

mount -o remount,ro /chemin/votre_partition

Si vous avez un message du style occupé, c’est raté.
Dans ce cas, le plus simple est de redémarrer sur un “Live CD” ou “Live USB”.

Il est recommandé d’avoir de la place pour la récupération, beaucoup de place même, car il est plus simple de récupérer un maximum du disque dur puis de recopier ensuite juste ce qui nous intéresse.

Listage

Nota :
Nous admettrons ici que la récupération se fait depuis le dossier /home placé en : /dev/sda3 et qu'il a fallu redémarrer sur un “Live CD” ou “Live USB”.

Utilisez un autre disque (disque dur externe par exemple) et placez-vous dans le répertoire de montage de ce disque2).

cd /media/disk_recup

Créez le répertoire de montage3) de la partition où récupérer les données.

mkdir /media/disk_donnees

Montez en lecture seule la partition où sont stockées les données à récupérer4) :

mount -o remount,ro /dev/sda3 /media/disk_donnee

Lancez un aperçu de ce qui est récupérable :

ext3grep /dev/sda3 --dump-names

Ceci aura pour but de créer deux fichiers index de votre disque dur.
La commande effectue un premier scan (pendant un certain temps…) en affichant des informations qui peuvent être étranges.
Enfin la commande affiche une liste de fichiers et répertoires pouvant être récupérer depuis le disque dur :
Si par exemple ces fichiers test1 et test2 étaient initialement dans le répertoire /home/test vous aurez :

exemple du retour de la commande
test/
test/exemple1
test/exemple2

Récupérer un fichier

Pour ne récupérer qu’un fichier, le fichier test2 par exemple, la commande est :

ext3grep /dev/sda3 --restore-file "test/test2"

Il est est possible que plusieurs versions de ce fichier existe sur le disque dur.
Par exemple, si on créer ce fichier, on le supprime du disque dur, puis on le recrée, le fichier peut être stocké physiquement dans un autre emplacement.
La commande va récupérer automatiquement la version la plus récente du fichier.

Récupérer plusieurs fichiers

La commande ext3grep ne permet malheureusement pas de récupérer un dossier spécifique facilement. Même si certains proposent des solutions plus ou moins simple, nous allons nous contenter ici de lancer une récupération complète.
Cependant, afin d‘éviter de récupérer tout et n’importe quoi, nous allons choisir un date à partir de laquelle on souhaite récupérer tous les fichiers.
Par exemple, pour récupérer tous les fichiers supprimés depuis le 01/12/2011, on envoie la commande suivante :

ext3grep /dev/sda3 --restore-all --after=$(date -d '01/12/2011 00:00:00' +"%s")

Patientez quelques minutes ou dizaines de minutes (quelques heures?) suivant la taille de votre disque dur, la quantité de données à récupérer et les performances de votre ordinateur.
Une fois terminé, un dossier RESTORED_FILES est créé, vous n’avez plus qu’à piocher dedans ce que vous souhaitez récupérer en espérant que vous y trouverez votre bonheur.

Lien

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !