Récupérer des fichiers supprimés sous Linux (Tutoriel pour débutants)

Vous avez déjà supprimé des fichiers importants par erreur ? Qui ne le fait pas ! D’accord, mais puis-je les récupérer ? Dans ce post, vous apprendrez à récupérer des fichiers supprimés sur Linux en utilisant divers programmes sur différents systèmes de fichiers.

Vous verrez comment récupérer des fichiers supprimés sur des cartes SD, des disques durs et des partitions supprimées sur différents systèmes de fichiers Linux tels que EXT3, EXT4, et même sur des systèmes de fichiers Windows tels que FAT32 & NTFS.

Table des matières

Récupérer les fichiers d’une partition supprimée

C’est un problème assez important. Souvent, les utilisateurs de Linux installent fréquemment plusieurs systèmes en même temps, et ils peuvent supprimer une partition par erreur pendant le processus d’installation.

Cependant, comment récupérer les fichiers de ces partitions supprimées ? Pour cela, nous devons récupérer la partition en utilisant un outil appelé TestDisk.

Testdisk est un puissant utilitaire d’analyse de partition et de récupération de données. La plupart des distributions Linux telles que Debian et Ubuntu sont livrées avec TestDisk.

D’autre part, l’application est multiplateforme et prend en charge un grand nombre de tables de partition telles que Intel, MSDOS et Mac. Ce sont les tables de partition les plus populaires.

Egalement, elle prend en charge de nombreux systèmes de fichiers tels que NTFS, EXT4, et d’autres systèmes de fichiers non populaires tels que BeOS et ReiserFS.

Lorsque vous supprimez un fichier, la liste des clusters occupés par le fichier est supprimée, marquant ces secteurs disponibles pour l’utilisation. Si les clusters n’ont pas été écrasés, TestDisk peut récupérer les fichiers.

D’abord, démarrez l’application comme ceci :

$ testdisk

Puis, vous avez la possibilité de créer un nouveau fichier pour les journaux. Si vous voulez en créer un, choisissez l’option de création et appuyez sur Entrée. Si vous ne voulez pas de fichier journal, sélectionnez l’option No Log.

Puis, les disques ou partitions reconnus par le système seront analysés. Dans ce cas particulier, sda est la partition que nous voulons récupérer.

TestDisk reconnaît différents types de tables de partition. Il s’agit généralement d’Intel, sauf si vous en utilisez une spécialisée.

Dans l’écran suivant, vous verrez une série d’options dont dispose le programme. Pour ce cas particulier, nous devons choisir l’option Analyse.

Avec cette option, le programme va analyser exhaustivement le disque pour trouver la structure.

Puis, il vous demandera le type de recherche que vous souhaitez effectuer. En général, choisissez l’option de recherche rapide.

Si vous avez de la chance, vous verrez la partition supprimée. Sinon, vous devrez choisir une recherche plus approfondie.

Puis, choisissez l’option Write pour écrire la table de partition. Une fois terminé, redémarrez le système, et vous retrouverez votre partition !

Notez que pendant ces étapes, cela peut prendre beaucoup de temps. Cela dépend de la taille du disque.

Selon le type de système de fichiers, cette partition peut avoir, des instructions particulières seront suivies. Elles seront détaillées plus tard.

Récupérer des fichiers supprimés d’un lecteur externe

Maintenant, imaginons que nous avons un lecteur flash externe, et que par erreur, vous avez supprimé certains fichiers de celui-ci. Comment les restaurer?

Grâce à TestDisk, le processus devient assez similaire à celui d’une partition supprimée. Mais il y a quelques différences.

Pour lancer le programme, nous allons utiliser la commande testdisk. De plus, nous pouvons ajouter le lecteur flash comme paramètre comme ceci :

$ sudo testdisk /dev/sdb

Puis, sélectionnez procéder. Ensuite, choisissez le type de table de partition.

Puis, sélectionnez les options avancées pour récupérer les fichiers.

L’étape suivante consiste à sélectionner la partition et l’option Undelete.

Après cela, vous verrez tous les fichiers supprimés sur la partition.

Maintenant, sélectionnez le dossier de destination pour placer les fichiers récupérés. Vous devez appuyer sur C sur la première option pour placer les fichiers sur le répertoire actuel.

Enfin, vous verrez ce message :

Félicitations ! Fichiers restaurés.

Récupérer les fichiers supprimés de la carte SD

En général, sur une carte SD, il est courant de remarquer qu’elles sont utilisées pour les fichiers multimédia. Par conséquent, il est conseillé d’utiliser un programme plus spécialisé pour ces fichiers.

Dans ce cas, nous allons utiliser l’application appelée Photorec qui est incorporée dans TestDisk.

D’abord, insérez la carte SD sur le PC. Ensuite, exécutez photorec en tant que root:

$ sudo photorec 

Alors, vous verrez l’image suivante. Sélectionnez le support et procédez et appuyez sur Entrée.

Suivant, sélectionnez la partition. Et sélectionnez Options et appuyez sur Entrée.

Vous y verrez les options de récupération :

Appuyez sur q pour revenir à l’écran précédent. Il est nécessaire de choisir les types de fichiers que l’on souhaite récupérer. Pour ce faire, il faut sélectionner l’option Opt de fichier.

Appuyez sur la touche s pour sélectionner et désélectionner tous les formats. Vous pouvez également sélectionner les types de fichiers que vous souhaitez récupérer à l’aide de la touche droite. Pour enregistrer les options sélectionnées, appuyez sur la touche b. Revenez au menu principal à l’aide de la touche q.

Puis, dans le menu principal, choisissez l’option Rechercher pour lancer le processus. Et choisissez le système de fichiers.

Vous aurez alors deux options . Free et Whole. Normalement, Free est suffisant. Si vous voulez faire une analyse approfondie, choisissez Whole, mais gardez à l’esprit que cela ralentira le processus.

Maintenant, il est nécessaire de choisir l’emplacement où les fichiers seront enregistrés. Pour ce faire, appuyez sur la touche c.

Après avoir choisi la destination, le processus de récupération commencera. N’oubliez pas que le système va s’effondrer et se figer. Soyez donc patient.

À la fin, vous verrez un message vous informant de tout ce qui s’est passé.

Suivant, vérifiez les résultats.

Récupérer des fichiers supprimés de NTFS

NTFS est un système de fichiers Windows. Si vous êtes de ceux qui utilisent les deux systèmes sur l’ordinateur, alors vous pouvez avoir besoin de restaurer des fichiers supprimés d’une partition Windows avec ce système de fichiers.

Pour ce faire, nous avons un outil appelé ntfsundelete qui est assez simple à utiliser.

D’abord, vous devez analyser le disque ou la partition. Par exemple :

$ sudo ntfsundelete /dev/sda1

Puis, nous pourrons récupérer le fichier supprimé avec la commande suivante :

$ sudo ntfsundelete -u -m 

Les fichiers récupérés appartiennent maintenant à l’utilisateur root. La dernière étape consiste à modifier les autorisations et les propriétaires des fichiers à l’aide de la commande chown.

Récupérer des fichiers à partir de FAT32

Un autre système de fichiers Windows courant est FAT32. Vous pouvez récupérer des fichiers à partir de FAT32 est en utilisant TestDisk.

Donc, exécutez à nouveau testdisk en tant qu’utilisateur root et passez le disque en paramètre :

$ sudo testdisk 

Puis continuez les étapes comme décrit ci-dessus pour restaurer les fichiers.

Récupérer en mémoire des fichiers (Utilisation d’inode)

Si vous supprimez un fichier qui est utilisé par un autre processus, vous pouvez le restaurer en mémoire en utilisant inode.

Certaines conditions initiales doivent être établies. Tout d’abord, le fichier supprimé DOIT rester ouvert par un autre processus. Ensuite, vous devez vérifier le processus et enfin le récupérer et modifier ses permissions.

Dans ce cas, je vais créer un fichier appelé exemple.txt en utilisant l’éditeur nano et ajouter du texte :

$ nano example.txt

Puis enregistrer les modifications et ouvrir une autre fenêtre de terminal et utiliser le fichier. Par exemple, avec la commande less.

$ less example.txt

Ouvrez une autre session de terminal, supprimez le fichier et assurez-vous qu’il est supprimé :

$ rm example.txt$ ls example.txt

Comme vous pouvez le constater, le fichier n’existe plus. Mais nous allons pouvoir le récupérer. Pour cela, récupérons le numéro du processus associé à l’inode du fichier.

$ lsof | grep example.txt

Vous remarquerez le processus et la commande qui utilise le fichier (la commande less). À partir de cette image, nous devons prêter attention aux deuxième et quatrième valeurs. Ce sont respectivement le PID du processus et le descripteur du fichier.

Puis, récupérez-le avec la commande suivante :

$ ls -l /proc/2325/fd/4

Puis copiez-le à l’endroit que vous voulez, et cela suffit pour le récupérer.

$ sudo cp /proc/2325/fd/4 .

Vérifiez ensuite les résultats et ouvrez le fichier :

De cette façon, nous pouvons récupérer un fichier supprimé qui est toujours en mémoire et utilisé par un processus avec l’inode.

Récupérer des fichiers supprimés d’EXT4 (en utilisant extundelete)

EXT4 est le système de fichiers par défaut de la plupart des distributions Linux. Il est assez rapide et doté de fonctionnalités techniques très bien exploitées par le noyau Linux.

L’un des outils utilisés pour récupérer des fichiers du système de fichiers EXT4 est extundelete.

Extundelete est une application open-source qui permet de récupérer des fichiers supprimés d’une partition ou d’un disque avec le système de fichiers EXT3 ou EXT4. Elle est simple à utiliser et est installée par défaut sur la plupart des distributions Linux.

Pour récupérer un certain fichier, il suffit d’utiliser la commande suivante :

$ sudo extundelete -restore-file 

Par exemple :

$ sudo extundelete /dev/sdb1 -restore-file home/angelo/other.txt

Si vous voulez récupérer tous les fichiers d’un dossier, utilisez le caractère générique :

$ extundelete /dev/sda6 -restore-file home/angelo/*

Mais si vous voulez restaurer tous les fichiers de la partition ou du disque, la commande suivante suffira :

$ extundelete /dev/sda6 -restore-all

Donc, les fichiers récupérés se trouveront sur le répertoire RECOVERED_FILES. Ainsi, de cette façon, vous pouvez récupérer des fichiers supprimés en utilisant extundelete.

Utilisation de debugfs

Il est également possible d’utiliser l’outil debugfs pour récupérer des fichiers supprimés. Cet outil utilise également le numéro d’inode du fichier supprimé. Cependant, il ne fonctionne que sur les systèmes de fichiers EXT4.

Son fonctionnement est également assez simple. Tout d’abord, vous devez entrer la partition ou le périphérique.

$ debugfs 

Par exemple,

$ sudo debugfs /dev/sdb1

Puis, après un moment, vous pourrez vous connecter à la console debugfs pour rechercher les fichiers récemment supprimés.

$ debugfs: lsdel

Dans la première colonne, vous verrez le numéro d’inode des fichiers supprimés dans ce périphérique. Ensuite, restaurez-le avec la commande suivante :

$ debugfs mi <inode_number>

Et c’est tout. C’est assez facile.

Utiliser ext4magic

Une autre façon alternative de récupérer des fichiers supprimés sur un disque avec un système de fichiers Ext4 est d’utiliser Ext4magic. Cette application est également assez simple à utiliser.

La syntaxe la plus basique de l’application est la suivante :

$ sudo ext4magic -f -r -d 

Si je voulais récupérer les fichiers supprimés d’un dossier appelé files, la commande serait similaire à celle-ci :

$ sudo ext4magic /dev/sdb1 -r -d files

Voilà à quel point il est facile d’utiliser ext4magic. Tout cela grâce au fait qu’Ext4 est un système de fichiers communautaire et open source.

Récupérer des fichiers écrasés (en utilisant Scalpel)

Scapel est un autre outil open source qui vous permet de récupérer des fichiers sur des disques formatés, des fichiers écrasés et même des disques endommagés. Il est bien connu pour sa rapidité et son efficacité. En ce sens, il apparaît comme une alternative à considérer.

Scalpel sculpte les fichiers sans l’aide des systèmes de fichiers. Il essaie d’extraire les en-têtes et les pieds de page des fichiers et tente de deviner la structure entière des fichiers à l’aide de certains algorithmes bien conçus.

Comme TestDisk, il est disponible dans les dépôts officiels de la plupart des distributions Linux. Par conséquent, son installation se réduit à l’utilisation du terminal et du gestionnaire de paquets de la distribution.

La façon la plus rapide et la plus simple d’utiliser Scapel est la suivante :

$ scalpel -o 

Le dossier_de_sortie spécifie où scapel placera tous les fichiers récupérés. Notez que Scalpel créera lui-même le répertoire de sortie.

Mais comment Scapel sait-il quels fichiers récupérer ? Eh bien, cela est défini dans le fichier de configuration de l’application.

Ce fichier de configuration se trouve généralement à l’emplacement suivant :

/etc/scalpel/scalpel.conf

Et vous pouvez l’ouvrir avec votre éditeur de texte préféré, et là, vous n’aurez qu’à décommenter les lignes pour définir les formats de fichiers à rechercher.

Les formats de fichiers que vous décommentez, Scalpel va les rechercher.

Puis, exécutez la commande Scalpel complète, et dans le dossier de sortie, vous verrez les fichiers récupérés.

$ sudo scalpel /dev/sdb1 -o recovered_files1

Parfois, Scalpel restaure des parties du fichier. Cela dépend de la santé du lecteur et de la quantité de données corrompues.

De plus, il existe de nombreux algorithmes de craving que vous pouvez utiliser, mais nous avons discuté ici de la manière de base de craving des données.

Récupérer des fichiers à partir d’un système non amorçable

C’est un cas délicat car nous devons accéder à partir d’un Live cd d’Ubuntu ou d’une autre distribution Linux similaire. Une fois que nous avons démarré, nous pourrions utiliser TestDisk pour essayer de récupérer les données.

Dans ce cas, nous devrions utiliser un disque externe où sauvegarder les données. D’autre part, au cas où TestDisk ne peut pas faire le travail, nous pouvons également essayer extundelete ou ext4magic tant que la partition est Ext4.

Si cela ne fonctionne pas, vous pourriez essayer de régénérer la partition en utilisant TestDisk comme expliqué ci-dessus.

Conclusion

Il est possible de supprimer des fichiers accidentellement. L’idée est de connaître les outils et techniques appropriés pour récupérer ces fichiers.

Dans ce post, nous avons couvert plusieurs circonstances et différents systèmes de fichiers qui pourraient aider à éviter de tels problèmes.

Revenez nous voir.

Merci.

Fondateur de LikeGeeks. Je travaille en tant qu’administrateur système Linux depuis 2010. Je suis responsable de la maintenance, de la sécurisation et du dépannage des serveurs Linux pour plusieurs clients dans le monde. J’adore écrire des scripts shell et Python pour automatiser mon travail.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *