GNU/Linux >> Tutoriels Linux >  >> Linux

Récupérer des fichiers supprimés sur Linux (tutoriel pour débutants)

Avez-vous déjà supprimé des fichiers importants par erreur ? Qui ne le fait pas ! D'accord, mais puis-je les récupérer ? Dans cet article, vous apprendrez comment récupérer des fichiers supprimés sous Linux à l'aide de divers programmes sur différents systèmes de fichiers.

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

Récupérer des fichiers depuis une partition supprimée

C'est tout un problème. 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 des fichiers à partir de ces partitions supprimées ? Pour cela, nous devons récupérer la partition à l'aide d'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 qu'Intel, MSDOS et Mac. Ce sont les tables de partition les plus populaires.

En outre, il 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 les secteurs disponibles pour l'utilisation. Si les clusters n'ont pas été écrasés, TestDisk peut récupérer les fichiers.

Tout d'abord, démarrez l'application comme ceci :

$ testdisk

Ensuite, vous avez la possibilité de créer un nouveau fichier pour les journaux. Si vous voulez en créer un, choisissez le créer et appuyez sur Entrée. Si vous ne voulez pas de fichier journal, sélectionnez l'option Aucun journal.

Ensuite, 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 un spécialisé.

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

Avec cette option, le programme analysera de manière exhaustive le disque pour trouver la structure.

Ensuite, il vous demandera le type de recherche que vous souhaitez effectuer. En règle générale, 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.

Ensuite, choisissez l'option Write pour écrire la table de partition. Lorsque vous avez terminé, redémarrez le système et vous retrouverez votre partition !

Notez que lors de 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. Ils seront détaillés plus tard.

Récupérer des fichiers supprimés d'un disque externe

Imaginons maintenant que nous ayons un lecteur flash externe et que, par erreur, vous en ayez supprimé certains fichiers. 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 démarrer le programme, nous utiliserons la commande testdisk. De plus, nous pouvons ajouter le lecteur flash en tant que paramètre comme ceci :

$ sudo testdisk /dev/sdb

Ensuite, sélectionnez continuer. Ensuite, choisissez le type de table de partition.

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

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

Ensuite, 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 dans le répertoire courant.

Enfin, vous verrez ce message :

Toutes nos félicitations! Fichiers restaurés.

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

Habituellement, sur une carte SD, il est courant de constater qu'elles servent à des fichiers multimédia. Par conséquent, il est conseillé d'utiliser un programme plus spécialisé pour ces fichiers.

Dans ce cas, nous utiliserons l'application appelée Photorec qui est intégrée à TestDisk.

Tout d'abord, insérez la carte SD dans le PC. Ensuite, exécutez photorec en tant que root :

$ sudo photorec [device]

Ensuite, vous verrez l'image suivante. Sélectionnez le média et continuez et appuyez sur Entrée.

Ensuite, 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 nous voulons récupérer. Ceci est réalisé en sélectionnant l'option Fichier Opt.

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 en utilisant la bonne touche. Pour enregistrer les options sélectionnées, appuyez sur la touche b. Retournez au menu principal à l'aide de la touche q.

Ensuite, dans le menu principal, choisissez l'option Rechercher pour démarrer le processus. Et choisissez le système de fichiers.

Deux options vous seront alors présentées. Libre et entier. Normalement, Free suffit. Si vous souhaitez effectuer 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. Rappelez-vous que le système va s'effondrer et se figer. Alors soyez patient.

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

Ensuite, vérifiez les résultats.

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

NTFS est un système de fichiers Windows. Si vous faites partie de ceux qui utilisent les deux systèmes sur l'ordinateur, vous devrez peut-être restaurer les 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.

Tout d'abord, vous devez analyser le disque ou la partition. Par exemple :

$ sudo ntfsundelete /dev/sda1

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

$ sudo ntfsundelete [HD_Or_partition] -u -m [filename]

   

  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 depuis FAT32

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

Exécutez à nouveau testdisk en tant qu'utilisateur root et passez le disque en paramètre :

$ sudo testdisk [partition/HD]

 

Continuez ensuite les étapes décrites ci-dessus pour restaurer les fichiers.

Récupérer des fichiers en mémoire (en utilisant inode)

Si vous supprimez un fichier utilisé par un autre processus, vous pouvez le restaurer à partir de la mémoire à l'aide d'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 autorisations.

Dans ce cas, je vais créer un fichier appelé example.txt à l'aide de l'éditeur nano et ajouter du texte :

$ nano example.txt

Enregistrez ensuite les modifications, ouvrez une autre fenêtre de terminal et utilisez 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 bien supprimé :

$ rm example.txt

$ ls example.txt

Comme vous pouvez le voir, le fichier n'existe plus. Mais nous pourrons 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 utilisent le fichier (la commande less). À partir de cette image, nous devons prêter attention aux deuxième et quatrième valeurs. Il s'agit respectivement du PID du processus et du descripteur du fichier.

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

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

 

Ensuite, copiez-le à l'emplacement de votre choix, et cela suffit pour le récupérer.

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

  Ensuite, vérifiez les résultats et ouvrez le fichier :

   

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

Récupérer des fichiers supprimés à partir d'EXT4 (à l'aide d'extundelete)

EXT4 est le système de fichiers par défaut sur la plupart des distributions Linux. Il est assez rapide et avec des 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. Il est simple à utiliser et est installé par défaut sur la plupart des distributions Linux.

Pour récupérer un certain fichier, utilisez simplement la commande suivante :

$ sudo extundelete [device] -restore-file [pathfile]

Par exemple :

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

Si vous souhaitez 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 souhaitez restaurer tous les fichiers de la partition ou du disque, la commande suivante suffira :

$ extundelete /dev/sda6 -restore-all

Ainsi, les fichiers récupérés seront dans le répertoire RECOVERED_FILES. Ainsi, de cette façon, vous pouvez récupérer des fichiers supprimés à l'aide d'extundelete.

Utiliser les débogages

Il est également possible d'utiliser l'outil debugfs pour récupérer les fichiers supprimés. Cet outil utilise également le numéro d'inode du fichier supprimé. Cependant, cela 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 [device]

Par exemple,

$ sudo debugfs /dev/sdb1

Ensuite, après un certain temps, 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 consiste à utiliser Ext4magic. Cette application est également assez simple à utiliser.

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

$ sudo ext4magic [device] -f [folder_to_scan] -r -d [output_folder]

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

C'est comme ça qu'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 (à l'aide de Scalpel)

Scapel est un autre outil open source qui vous permet de récupérer des fichiers à partir de lecteurs formatés, de fichiers écrasés et même de lecteurs 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 des fichiers sans l'aide de 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 du fichier à l'aide d'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 est réduite à l'utilisation du terminal et du gestionnaire de paquets de la distribution.

Le moyen le plus rapide et le plus simple d'utiliser Scapel est le suivant :

$ scalpel [device] -o [output_folder]

Le output_folder 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 pourrez l'ouvrir avec votre éditeur de texte préféré, et là vous n'aurez plus qu'à décommenter les lignes pour définir les formats de fichiers à rechercher.

Les formats de fichier que vous décommentez, Scalpel le recherchera.

Ensuite, 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 l'état du disque et de la quantité de données corrompues.

En outre, il existe de nombreux algorithmes de soif que vous pouvez utiliser, mais nous avons discuté ici de la méthode de base de soif de 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 devrons utiliser un lecteur externe où enregistrer les données. D'un autre côté, si 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 pouvez essayer de régénérer la partition à l'aide de TestDisk comme expliqué ci-dessus.

Conclusion

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

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

Continuez à revenir.

Merci.


Linux
  1. Comment récupérer un fichier supprimé sous Linux

  2. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  3. Comment récupérer des fichiers supprimés sous Linux à l'aide de l'outil de récupération de données Scalpel ?

  4. Comment puis-je récupérer/récupérer des fichiers d'une partition ext4 ?

  5. Unix/Linux restaure/récupère les fichiers supprimés

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Tutoriel de commande Linux lsof pour les débutants (15 exemples)

Comment installer TestDisk sur Linux et récupérer des fichiers supprimés

Comment utiliser PhotoRec pour récupérer des fichiers supprimés sous Linux/Ubuntu

Top 20 des meilleurs outils de récupération de données Linux pour récupérer des fichiers supprimés/corrompus

Comment utiliser Linux pour récupérer des fichiers supprimés