Récupération de fichier

De ArchwikiFR


Cet article répertorie les moyens de récupération, sous Linux, de données, disques ou fichiers, altérés ou effacés. Traduction du Wiki

Notes particulières

Avant de commencer

Cette page a essentiellement des fins éducatives. Si vous avez accidentellement supprimé ou endommagé des données précieuses et irremplaçables sans aucune expérience en récupération de données, éteignez immédiatement l'ordinateur (par appui et maintien du bouton d'arrêt ou en ôtant le câble d'alimentation, sans surtout utiliser la fonction d'arrêt du système) et recherchez une aide professionnelle.

Il est tout à fait possible et même probable que, si vous suiviez l'une des étapes décrites ci-dessous sans les comprendre pleinement, vous aggraviez la situation.

Défaillance d'un support

Dans le domaine de la récupération de données, il est préférable de travailler sur des images de disques plutôt que sur les disques physiques eux-mêmes. L'état d'un disque défaillant s'aggravant au fur et à mesure, l'objectif premier devant une défaillance matérielle devrait être le sauvetage immédiat d'autant de données que possible, dès que possible, puis l'abandon du disque.

Les utilitaires ddrescue et dd_rescue, contrairement à dd qui agît en un seul passage, vont essayer de récupérer les erreurs à plusieurs reprises en lisant le support du début à la fin, puis de nouveau au début en essayant de récupérer les données. Ils vont créer des fichiers logs pour que la récupération puisse être interrompue et reprise sans perdre les acquits.

Voir clonage de disque

Les fichiers d'images créées par un utilitaire comme ddrescue peuvent ensuite être montées comme un dispositif physique et être travaillées en toute sécurité. Toujours faire une copie de l'image originale pour pouvoir y revenir si les choses tournaient mal !

Une méthode éprouvée pour atténuer la défaillance d'un disque est de le refroidir. Un passage au congélateur est un moyen efficace, mais en prenant garde à un réchauffement trop rapide pour éviter la formation de condensation. On peut garder le lecteur au congélateur avec des câbles de connexion reliés au PC de récupération.

Ne pas tenter une réparation logicielle du système de fichiers (e2fsck, dosfsck) sur un disque défaillant pour ne pas aggraver le problème. Monter le disque en lecture seule.

Sauvegardes de petits supports flash ou petites partitions

Plutôt que travailler avec une partition native (montée ou non), il est là aussi souvent préférable de travailler avec une image, à condition que le système de fichiers en question ne soit pas trop grand et que vous ayez l'espace disque libre suffisant pour recevoir ce fichier image . Ainsi les dispositifs de mémoire flash comme les clés USB, les cartes SD d'appareils photo numériques, lecteurs de musique portables, téléphones cellulaires, etc. sont en règle générale assez petits pour la création d'une image.

Bien lire les pages "man" des utilitaires cités ci-dessous pour vérifier leur capacité à travailler avec des fichiers d'image.

Pour faire une image, on peut utiliser dd comme suit :

# dd if=/dev/target_partition of=/home/user/partition.image

Appareils photo numériques

Pour que certains des utilitaires de la section suivante puissent fonctionner sur des médias flash, ceux-ci doivent être montés en tant que stockage de masse non volatile : "block device", p.ex. répertorié dans les /dev.

Les appareils photo numériques opérant en mode PTP (Picture Transfer Protocol) ne fonctionneront pas ainsi. Les caméras PTP sont traitées de manière transparente par libgphoto et/ou libptp. Dans ce cas, «transparente» signifie que les dispositifs PTP ne sont pas définis comme "block devices". L'alternative au mode PTP, le mode USB Mass Storage (UMS), n'est pas pris en charge par toutes les caméras. Certains appareils ont un élément de menu qui permet de basculer entre les deux modes; reportez-vous au manuel d'utilisation de votre appareil photo.

Si celui-ci ne supporte pas le mode UMS et donc ne peut être consulté comme un 'block device', l'alternative est d'utiliser des lecteurs de mémoire flash amovibles et de les retirer physiquement de l'appareil photo.


Foremost

Foremost est un programme, en mode console, de récupération de fichiers selon les en-têtes et fins de fichier, et structures internes des données, ce qu'il est habituel de regrouper comme "data carving", 'sculptures de données'. Foremost peut travailler sur des fichiers d'image disque (tels que ceux générés par dd, Safeback, Encase, etc.) ou directement sur un lecteur.

Les types d'en-têtes (headers) et fins de fichiers (footers) peuvent être définis dans le fichier de configuration ou par des des commutateurs/options dans la ligne de commande, spécifiant des types de fichiers intrinsèques. Cette recherche sur des structures de données d'un format pré-défini, permet une récupération plus fiable et plus rapide.

Voir l'article Foremost.


Scalpel

Scalpel est un programme, en mode console, de recherche "sculpture" basé initialement sur Foremost , quoique bien plus efficace. Initialement développé par Golden G. Richard III, il permet à un analyste de préciser des critères d'en-têtes et fins de fichiers pour recouvrer les fichiers de certains types à partir d'une partie d'un media. Sous licence Apache, Scalpel est maintenu par Golden G. Richard III et Lodovico Marziale.

Article sur Scalpel sur Forensicswiki

scalpel-git est disponible dans AUR.


Extundelete

Extundeleteest un utilitaire en mode console conçu pour récupérer des fichiers supprimés dans des partitions ext3 et ext4.

Il peut récupérer tous les fichiers récemment supprimés d'une partition donnée et/ou un(des) fichier(s) spécifique(s) selon le(s) chemin(s) relatif(s) ou les valeurs d'inode.

Notez que cela fonctionne uniquement sur une partition démontée.

Les fichiers récupérés sont enregistrés dans le répertoire courant dans un dossier nommé RECOVERED_FILES/ .

Installation

extundelete est disponible dans les dépôts officiels.

Usage

Dérivé du post sur Linux Poison.

Pour récupérer des données à partir d'une partition on doit la spécifier en tant que /dev/sdXN (X est une lettre et N est un nombre.). L'exemple utilisé ici est /dev/sda4 , mais votre système peut utiliser quelque chose de différent (par exemple, les lecteurs de cartes MMC utilisent /dev/mmcblkNpN comme schéma de nommage). Si vous n'êtes pas sûr, exécutez df, qui affichera les systèmes et partitions actuellement montés.

Une fois les données de la partition déterminées, il suffit de lancer:

# extundelete /dev/sda4 --restore-file dir/file

Tous les sous-répertoires doivent être spécifiés, et la commande est exécutée à partir du plus haut niveau de la partition, ainsi, pour récupérer un fichier dans /home/User/ , en supposant que /home est sur sa propre partition, lancez:

# extundelete /dev/sda4 --restore-file User/NomDuFichier

Pour accélérer la récupération multi-fichiers, extundelete a une option "plurielle" --restore-files.

Pour récupérer un répertoire entier, lancer :

# extundelete /dev/sda4 --restore-directory SomeUserName/SomeDirectory

Pour utilisateurs avancés, pour récupérer manuellement des blocs ou des inodes avec extundelete, utiliser debugfs pour trouver l'inode à récupérer, puis lancer:

# extundelete --restore-inode inode

inode vaut pour toute inode valide. Des inodes supplémentaires à recouvrer peuvent être ajoutées sous forme d'une liste sans espace, séparées par une virgule seule. Au final pour la récupération de la totalité des fichiers effacés d'une partition entière, lancer :

# extundelete /dev/sda4 --restore-all

Testdisk et PhotoRec

TestDisk et PhotoRec sont les deux utilitaires de récupération de données open-source sous licence selon les termes de la GNU Public License (GPL).

TestDisk est principalement conçu pour la récupération de partitions perdues et/ou rendre à nouveau amorçables (bootable) des disques ayant perdu cette qualité du fait d'un logiciel défectueux, de certains types de virus, ou d'une erreur humaine comme la suppression accidentelle des tables de partition.

PhotoRec est un logiciel de récupération des fichiers perdus, des photographies (Astuce: PhotographRecovery), des vidéos, des documents, des archives de disques durs ou de CD-ROM.

PhotoRec ignore le système de fichiers et recherche les données sous-jacentes, ainsi il pourra encore fonctionner sur des systèmes de fichiers et/ou des tables de partitions gravement endommagés et même re-formatées.

Installation

testdisk est disponible dans les dépôts officiels.

Fichiers récupérés par photorec

L'utilitaire Photorec les enregistre sous un nom aléatoire (pour la plupart d'entre eux) dans des répertoires numérotés, par exemple ./recup_dir.1/f872690288.jpg, ./recup_dir.1/f864563104_wmclockmon-0.1.0.tar.gz.

Voir aussi


e2fsck

e2fsck est le contrôleur du système de fichiers ext2/ext3/ext4 inclus dans base lors de l'installation d'Arch. e2fsck repose sur un superbloc valide.

Le superbloc décrit les paramètres de l'ensemble du système de fichiers. Comme ces données sont très importantes, plusieurs copies de ce superbloc sont dispersées dans toute la partition. Avec l'option -b e2fsck peut utiliser un argument de superbloc alternatif, ce qui est utile si le premier et principal superbloc est endommagé.

Pour déterminer l'emplacement des superblocs, lancer dumpe2fs -h sur la cible, partition non montée. Les superblocs sont espacés différemment selon la taille des blocs du système de fichiers, qui est déterminée lors de la création du système de fichiers.

Une autre méthode pour déterminer les emplacements des superblocs est l'option -n de mke2fs : Assurez-vous d'utiliser le drapeau -n, qui, selon le man de mke2fs, "Amène mke2fs à ne pas réellement créer un système de fichiers, mais à afficher ce qu'elle ferait s'il devait créer le système de fichiers. Cela peut être utilisé pour déterminer l'emplacement des superblocs de sauvegarde pour un système de fichiers particulier, tant que les paramètres les de mke2fs qui ont été adoptées lorsque le système de fichiers a été créé à l' origine sont utilisés à nouveau. (Avec l'option -n ajouté, bien sûr!) ".

Installation

e2fsck et dumpe2fs sont inclus ensemble dans l'ensemble base de l'installation d'Arch avec e2fsprogs.

Voir aussi


Travailler sur des images de disque brutes (raw disk images)

Article en cours de discussion sur le Wiki Inter pour fusion avec le sujet QEMU


Récupération de fichier texte

Il est possible de trouver des fichiers texte supprimés sur un disque dur en les recherchant directement sur le périphérique. Il sera nécessaire de créer une chaîne de préférence unique à partir du fichier que vous essayez de récupérer.

Utiliser grep pour rechercher des chaînes fixes (-F) directement sur la partition:

$ grep -a -C 200 -F 'Unique string in text file' /dev/sdXN > OutputFile

Avec un peu de chance le contenu du fichier supprimé est maintenant dans OutputFile, qui peut être extrait manuellement du contexte l'entourant.

Note : L'option -C 200 demande à grep d'afficher 200 lignes de contexte entourant (avant et après) chaque occurence de la chaîne. Alternativement les options -A et -B, afficheraient le contexte seulement A, après et B, (before)avant. Vous devrez peut-être ajuster le nombre de lignes si le fichier que vous cherchez est très long.

Voir aussi