WebDevOnLinux ¦ Développement Web Sur Linux.

Comment récupérer simplement des données perdues sur Linux.

Par Steph le 09/03/2009, sous BestOf, Ubuntu

:, ,

 » L’erreur est humaine  » et effacer des données par inadvertance nous est tous arrivés. Mais d’autres raisons peuvent amener à vouloir récupérer ses données : Les virus, sur linux cela est plus rare, mais pas impossible comme certains l’affirment, les actes de malveillance et les défaillances matérielles.

La récupération de données est une tâche difficile, car les systèmes d’exploitation sont d’abord conçus afin d’utiliser les ressources efficacement pour assurer de bonnes performances. De plus, il faut éviter d’écrire à nouveau sur le disque dur ou la partition !

En effet quand vous effacez un fichier, les données ne sont pas tout de suite réécrites. L’indicateur (inode) du fichier dans le système de fichiers est simplement rendu disponible. Donc plus le disque est utilisé après que le fichier soit effacé, plus petite est la probabilité de retrouver vos fichiers.

Copie du filesystem depuis un distribution live

Il faut booter sur un cd en utilisant par exemple cette mini distribution qui possède déjà les packages nécessaires aux manipulations suivantes. Par exemple ubuntu remix disponible ici.

Le fichier iso pour graver un CD de la version 9.10 est disponible à cette adresse : ubuntu-rescue-remix-9.10.iso. ette image est compatible avec l’outil de création de disque de démarrage USB disponible dans ubuntu. Pour cela allez dans le menu Système -> Administration -> Créateur de disque de démarrage USB

Identification du filesystem à réparer

comme précédemment nous utiliserons la commande suivante :

sudo fdisk -l

Rappel:  L’identification des disques durs et des partitions sous linux. Les disques durs IDE sont nommés de la façon suivante /dev/hda (IDE 1 maître), /dev/hdb (IDE 1 esclave), /dev/hdc (IDE 2 maître), ou /dev/hdd (IDE 2 esclave). Les disques durs SATA sont nommés habituellement /dev/sd[lettre]. Les périphériques SCSI et USB commencent toujours à /dev/sda.
Au sein de ces disques, chaque partition est représentée par un numéro venant après les 3 lettres : hdb3 désigne par exemple la 3ème partition du disque hdb, sda2 la 2ème partition d’un DD sata ou d’un DD externe branché en USB, etc… les chiffres de 1 à 4 représentent des partitions principales, les partitions logiques étant numérotées à partir de 5…

restauration des données

Deux cas se présentent :

Le disque n’est pas défectueux :

Nous utiliserons ici la commande dd :

sudo dd if=/dev/hda of=recover.dd
  • if: données en entrée
  • of: données en sortie

Le disque est disque défectueux

gddrescue copie les données d’un périphérique de bloc (disque dur, CD-ROM, etc) vers un fichier, s’efforce de sauver des données même en cas d’erreurs de lecture.

Installation

sudo apt-get install gddrescue

Utilisation

sudo ddrescue -n /dev/sda ~/image.dd fichier.log

Dans le cas ou vous avez arrête l’opération le fait d’utiliser un fichier de log vous permettra de reprendre l’opération là où elle s’est arrêté.

Puis il faut monter l’image pour voir ce qui a été récupéré et copier les fichiers ailleurs:

mkdir -p /mnt/test;sudo mount -o loop /var/tmp/image.dd /mnt/test

Une fois les fichiers copiers vous pouvez démonter le filesystem :

sudo umount /dev/test/

Avec cette commande on peut également tenter de récupérer un DVD défectueux.

sudo ddrescue -n -b2048 /dev/[device] video.iso video_ddrescue.log

Récupération de fichiers effacés :

Nous avons à notre disposition divers outils:

Formost :

formost est un utilitaire de ligne de commande pour trouver et récupérer les fichiers basés sur leur extension. Il a été développé pour le service des enquêtes spéciales de l’US Air Force.

Installation

sudo apt-get install foremost

Utilisation

  1. Rapport affiché seulement à l’écran
    sudo foremost -av recover.dd
  2. Récupération de fichier par extension
    sudo foremost -t jpg,pdf -i recover.d

Les fichiers seront déposés dans le répertoire output

MagicRescue

Installation

sudo apt-get install magicrescue

Utilisation

Il peut être utiliser pour récupérer des fichiers : avi, mp3, gimp-xcf, jpeg, png, doc, odt, etc.

Pour chaque type de fichier il existe le « mode d’action » (recipe) dans le répertoire /usr/share/magicrescue/recipes: avi, elf, gimp-xcf, gzip, jpeg-jfif, mp3-id3v2, perl, zip, canon-cr2, flac, gpl, jpeg-exif, mp3-id3v1, msoffice, png.

magicrescue -d ~/output -r /usr/share/magicrescue/recipes/jpeg-jfif image.dd

Il existe d’autres utilitaires qui feront l’objet d’un autre article…. testdisk, sleuhkit

Laissez moi vos expériences dans les commentaires !

3 Commentaires pour cet article

  • BoB

    il m’est arrivé la même expérience, et c’est suite à la récupération que j’ai écrit cet article. Si tu fais pas de boulette tu devrais en récupérer une bonne partie. Fais une copie de la partition avant toute manip, cela te permettra de recommencer tes tentatives autant de fois que nécessaire.
    Bonne Chance

  • microsp

    Suite à une érreur de script php de ma conception, au lieu d’éffacer un fichier c’est un répertoire complet qui c’est effacé.
    Bien que j’ai file recovery Pro, je n’avais pas de zindow sous la main, et pas envie de démonter mon dd.
    Je suis tombé sur ton site car comme d’habitude, pas fait de backup, alors que mes amis et clients je les tarabusque la dessus.
    Bref, avant d’opérer physiquement je tente l’expérience, je ne connaissais pas le produit, rien de tel que cela soit important pour perssévérer, car 3 mois de boulot dessus donc faut récupérer.
    Je donne suite pour les auttres, je viens de lancer mon dd

  • matt

    vraiment intéressant ton article.. je vais me lancer.

Poster une réponse