Agence web » Actualités du digital » Comment récupérer des fichiers supprimés sous Linux avec testdisk

Comment récupérer des fichiers supprimés sous Linux avec testdisk

comment-utiliser-pandoc-pour-convertir-des-fichiers-sur-la-ligne-4147938
Fatmawati Achmad Zaenuri / Shutterstock

Avez-vous déjà supprimé un fichier et l’avez-vous immédiatement regretté? Vous en avez besoin de retour, et vite! Mais que faire si le fichier est si nouveau, il n’a pas encore été sauvegardé? Heureusement, vous pouvez y remédier.

rm: Abréviation de Remorse?

Il est trop facile d’utiliser le rm commande et vous retrouvez à regarder une fenêtre de terminal avec un sentiment de regret de plus en plus profond. Une petite erreur avec les jokers, et vous pouvez effacer beaucoup plus que ce que vous aviez prévu.

Le système de fichiers Linux par défaut, ext4 utilise des inodes pour conserver les données sur chaque fichier et une table des inodes pour garder une trace des inodes. L’inode contient des métadonnées sur le fichier, telles que son nom, son propriétaire, les autorisations, etc.

Il contient également des points d’entrée vers des liens physiques qui pointent vers le fichier. Chaque fichier a au moins un lien physique. Chaque fois que vous créez un nouveau lien physique, le nombre de liens physiques augmente de un. Chaque fois que vous supprimez un lien physique, le nombre de liens physiques dans l’inode est réduit de un.

Lorsque vous supprimez un fichier que l’inode a marqué comme inutilisé (et prêt à être réutilisé), le dernier lien physique est supprimé. Lorsque cela se produit, le fichier n’apparaîtra pas dans les listes de répertoires et il ne peut pas être utilisé ou accessible.

Cependant, les données qui composent le contenu du fichier sont toujours présentes sur le disque dur. Si vous pouviez patcher l’inœud afin qu’il contienne les informations correctes, le fichier serait restauré. Bien sûr, cela ne fonctionnera que si les données qui composent le fichier sur le disque dur restent intactes et ne sont pas écrasées.

Vous pouvez également créer un nouvel inode, copier les données restantes de l’ancien inode, puis remplacer les bits manquants.

Ce sont des activités non triviales. Habituellement, lorsque vous supprimez un fichier par erreur, c’est au pire moment possible. C’est toujours lorsque vous avez besoin de ce fichier, et vous en avez besoin maintenant. Vous n’avez pas le temps de vous salir avec les éditeurs de secteur et autres utilitaires. De plus, s’il s’agit d’un fichier que vous venez de créer, il n’a probablement pas encore été sauvegardé, donc cela ne vous aidera pas non plus.

Ce où testdisk est facile à utiliser et ne nécessite pas de connaissances détaillées et de bas niveau sur le système de fichiers. Voyons comment l’utiliser!

Installation de testdisk

À installer testdisk sur Ubuntu, utilisez cette commande:

sudo apt-get install testdisk

sudo apt-get install testdisk dans une fenêtre de terminal.

Sur Fedora, vous devez taper:

sudo dnf install testdisk

Sur Manjaro, vous devez utiliser pacman:

sudo pacman -Sy testdisk

sudo pacman -Sy testdisk dans une fenêtre de terminal.

Utilisation de testdisk

Bien qu’il s’exécute dans une fenêtre de terminal, testdisk a une interface rudimentaire. Vous utilisez les touches fléchées pour naviguer et Entrée pour effectuer une sélection. Pour garder les choses en ordre, il est préférable de créer un répertoire pour les fichiers restaurés.

Nous tapons ce qui suit pour créer un répertoire appelé «restauré» pour nos fichiers restaurés:

mkdir restored

mkdir restauré dans une fenêtre de terminal.

Nous tapons ce qui suit pour basculer vers le nouveau répertoire et démarrer testdisk De là:

cd restored/

cd restauré / dans une fenêtre de terminal.

Nous devons utiliser sudo avec testdisk, nous tapons donc ce qui suit:

sudo testdisk

sudo testdisk dans une fenêtre de terminal.

La première question testdisk demande concerne la journalisation. Il peut créer un nouveau fichier journal, utiliser un fichier existant ou ne rien enregistrer du tout. Peu importe l’option que vous choisissez; cela n’affectera pas la manière testdisk fonctionne.

Les options de journalisation dans testdisk dans une fenêtre de terminal.

Vous pouvez simplement appuyer sur Entrée pour accepter l’option en surbrillance et créer un nouveau fichier journal. Il sera créé dans le répertoire à partir duquel vous avez commencé testdisk. Lorsque vous faites votre sélection, testdisk demande quel disque dur contient le système de fichiers sur lequel vous souhaitez travailler.

Il répertorie les disques durs qu’il peut trouver, ainsi que les squashfs Fichiers «/ dev / loop». Il y en aura un pour chaque application que vous avez installée à partir d’un snap. Ils sont en lecture seule, vous n’auriez donc pas dû réussir à supprimer quoi que ce soit de ces systèmes de fichiers.

Un menu de disque dur dans testdisk dans une fenêtre de terminal.

Il n’y a qu’un seul disque dur physique dans cet ordinateur de test, nous avons donc utilisé la flèche vers le bas pour mettre en surbrillance l’option «/ dev / sda». Nous avons ensuite utilisé la flèche droite pour sélectionner «Continuer», puis appuyé sur Entrée.

"Procéder" sélectionné dans une fenêtre de terminal.

testdisk doit également connaître le type de partition. Il présente un menu d’options, ainsi que le type de partition détecté automatiquement en bas.

Menu de type de table de partition dans testdisk dans une fenêtre de terminal.

À moins que vous n’ayez une bonne raison de ne pas le faire, mettez en surbrillance le type de partition détectée automatiquement, puis appuyez sur Entrée.

Dans le menu de fonctions qui apparaît, mettez en surbrillance «Avancé», puis appuyez sur Entrée.

"Avancée" sélectionné dans le menu de fonction dans une fenêtre de terminal.

Le menu de sélection de partition apparaîtra.

Le menu de sélection de partition dans testdisk dans une fenêtre de terminal.

Les fichiers que nous recherchons se trouvent dans la partition du système de fichiers Linux. Nous n’avons qu’une seule partition Linux sur notre disque dur, mais vous pourriez en avoir plus.

Sélectionnez la partition sur laquelle se trouvaient vos fichiers, utilisez les touches fléchées gauche et droite pour sélectionner «Liste», puis appuyez sur Entrée. Le menu de sélection de fichiers apparaîtra.

Le menu de sélection de fichier dans testdisk dans une fenêtre de terminal.

Utilisez les flèches haut et bas ou les touches PgUp et PgDn pour parcourir la liste des fichiers et répertoires. Appuyez sur la flèche droite ou Entrée pour entrer dans un répertoire et sur la flèche gauche ou Echap pour quitter un répertoire.

Nous recherchons des fichiers appartenant à dave. Les fichiers de tous les comptes utilisateurs se trouvent dans le répertoire «Accueil». Nous mettons donc en surbrillance le répertoire «Home», puis nous pouvons appuyer sur la flèche droite ou sur Entrée pour entrer dans ce répertoire.

Tous les comptes utilisateurs sont alors répertoriés pour nous. Nous soulignons dave, puis appuyez sur la flèche droite ou sur Entrée pour accéder à ce répertoire.

Un répertoire personnel dans testdisk dans une fenêtre de terminal.

Nous pouvons maintenant voir les fichiers qui appartiennent au dave Compte. Les entrées en rouge ont été supprimées. Nous naviguons dans les fichiers et les répertoires jusqu’à ce que nous trouvions les fichiers que nous voulons récupérer.

Fichiers supprimés dans TestDisk dans une fenêtre de terminal.

Pour récupérer un fichier, mettez-le simplement en surbrillance, puis appuyez sur c (minuscule).

L’affichage change et vous indique de choisir une destination pour le fichier récupéré. Parce que nous avons créé un répertoire appelé «Restauré» et avons commencé testdisk à partir de là, la première entrée de la liste (.) est ce répertoire. Pour récupérer ce fichier supprimé dans ce répertoire, nous appuyons sur C (majuscule).

Le menu de destination du fichier dans TestDisk dans une fenêtre de terminal.

Après cela, vous revenez à l’affichage de sélection de fichiers. Si vous souhaitez récupérer plus de fichiers, répétez simplement le processus. Mettez en surbrillance un fichier supprimé, appuyez sur c (minuscule) pour le copier, puis appuyez sur C (majuscule) pour le récupérer.

Travailler avec des fichiers restaurés

Une fois que vous avez restauré un fichier, l’arborescence des répertoires à son emplacement d’origine est reconstruite, ce qui est utile car cela vous rappelle où sur le disque dur le fichier d’origine se trouvait. Cela signifie que si vous devez le recopier, vous savez où le mettre.

Si vous récupérez un certain nombre de fichiers à partir d’emplacements de système de fichiers différents qui ont le même nom de fichier, ils devront de toute façon être stockés séparément.

Vous pouvez taper ce qui suit pour voir le contenu du répertoire «Restauré»:

ls

Si vous avez demandé testdisk pour créer un fichier journal, ce sera dans le répertoire «Restauré». Parce que nos fichiers récupérés se trouvaient dans «/ home / dave», ils ont été copiés dans notre répertoire «Restauré», imbriqués dans des répertoires du même nom.

Nous pouvons changer dans le répertoire «dave» copié en utilisant cd. Assurez-vous de ne pas inclure de barre oblique (/) sur le chemin: vous souhaitez passer au « home » local, pas au système « / home ».

Nous tapons ce qui suit:

cd home/dave

Les fichiers récupérés sont dans ce répertoire, nous tapons donc:

ls

ls dans une fenêtre de terminal.

Jetons un autre regard sur les fichiers récupérés en utilisant le -l (longue liste) option:

ls -l

ls -l dans une fenêtre de terminal.

Parce que nous avons utilisé sudo lancer testdisk, les fichiers récupérés ont été restaurés avec «root» comme propriétaire. Nous pouvons redéfinir le propriétaire sur « Dave » en utilisant chown:

sudo chown dave.dave *

sudo chown dave.dave * dans une fenêtre de terminal.

Nous tapons ce qui suit pour nous assurer que la propriété correcte a été restaurée:

ls -l

ls -l dans une fenêtre de terminal.

testdisk: Code de secours

Ce sentiment de soulagement après avoir récupéré un fichier important qui, il y a un instant, se sentait irrémédiablement perdu, est quelque chose que vous apprécierez toujours.

C’est pourquoi testdisk est un utilitaire si pratique. Une fois que vous avez parcouru les menus et que vous pouvez commencer à restaurer des fichiers, il est facile de tomber dans un rythme de surbrillance, c, C, répéter.