web-dev-qa-db-fra.com

Récupérer le système de fichiers ext4 après le formatage rapide

J'ai accidentellement formaté un de mes disques et j'espère pouvoir récupérer une grande partie de mon système de fichiers car je n'ai fait qu'un formatage rapide.

Après avoir installé un deuxième disque dur identique, j'ai rapidement formaté le mauvais disque par accident via l'application Disks d'Ubuntu (14.04). Le disque était au format ext4 auparavant et j'ai refait le format rapide d'ext4. Il n'y avait qu'une seule partition sur le lecteur. Quelques secondes à peine après les dégâts, j'ai démonté le lecteur pour éviter les écritures accidentelles.

Les fichiers que je recherche sont au format binaire (sans extension, à ma connaissance, tels que .npy.t7.mat), certains sont des fichiers .txt.

En lisant des forums et des blogs, j'ai compris que Testdisk + Photorec pourrait peut-être aider à récupérer la partition perdue. J'ai essayé rapidement Photorec, mais comme la plupart des fichiers importants sont binaires et n'ont pas de signature, j'ai fini par avoir des milliers de fichiers .txt inutiles et non lisibles .mat. Testdisk, d’autre part, affiche des invites peu concluantes pour autant que je sache. Je n'ai pas encore essayé d'effectuer une analyse approfondie, car je m'attends à ce que les informations se trouvent au tout début du lecteur (le lecteur fait 8 To). Voir les instantanés Testdisk suivants pour plus d'informations:

Écran de sélection de partition

Menu avancé après avoir sélectionné Aucun comme type de partition

  • En sélectionnant EFI-GPT ou Intel comme type de partition, Testdisk m'indique qu'aucune partition n'est disponible.

L'analyse du lecteur (après avoir sélectionné le type Aucun) a pour résultat que la partition est vide (sauf pour un disque perdu + trouvé vide). En revanche, l'analyse du lecteur après la sélection du type GPT donne plusieurs entrées identiques de ce type: ext4 0 0 1 972801 80 63 156280533168

Superblocs:

superblock 0, blocksize=4096
superblock 32768, blocksize=4096
superblock 98304, blocksize=4096
superblock 163840, blocksize=4096
superblock 229376, blocksize=4096
superblock 294912, blocksize=4096
superblock 819200, blocksize=4096
superblock 884736, blocksize=4096
superblock 1605632, blocksize=4096
superblock 2654208, blocksize=4096

Questions

  1. Que fait Ubuntu en particulier pour le lecteur lors de la sélection du format rapide? Pouvons-nous en déduire s’il est (im) possible de récupérer le système de fichiers?

  2. Puis-je récupérer des parties de la structure à l'aide de superblocs? Quelque part, j'ai lu qu'un superbloc de sauvegarde est écrit à la position 1024. Est-ce récupérable ou est-ce que cela a été effacé également via le format rapide?

  3. Quelles options, à l'exception des fichiers de récupération tels que Photorec ou Scalpel, me restent pour récupérer mon système de fichiers? Je connais les chemins complets de certains des fichiers les plus importants que je veux récupérer.

4
Max

J'ai réussi à récupérer tous mes fichiers en utilisant un superbloc de sauvegarde! Après que TestDisk n'ait pas pu m'aider, j'ai essayé une approche à partir d'une question . Par souci de clarté, voici la procédure que j’ai suivie pour récupérer la structure de mon fichier:

  1. Assurez-vous que votre lecteur est démonté.
  2. Découvrez vos superblocs de sauvegarde via

    dumpe2fs /dev/<drive-id> | grep -i superblock

    par exemple. dumpe2fs /dev/sdb | grep -i superblock

  3. Vérifiez le système de fichiers basé sur l'un des superblocs, mais n'appliquez aucune modification pour voir si ce superbloc est structurellement intact.

    fsck.ext4 -v -n -C 0 -b <Superblock> /dev/<drive-id>

    par exemple. fsck.ext4 -v -n -C 0 -b 2654208 /dev/sdb

    -v rend la commande détaillée pour afficher plus de détails, -n s'assure qu'aucune tentative de réparation du système de fichiers n'est effectuée en répondant toujours "non" à chaque invite, -C 0 affiche une barre de progression et -b définit la position de départ d'un superbloc donnée par l'étape précédente.

  4. Si un superbloc approprié a été trouvé, laissez fsck.ext4 réparer votre système de fichiers en remplaçant le -n par -y pour accepter automatiquement tous les correctifs.

    fsck.ext4 -v -y -C 0 -b <Superblock> /dev/<drive-id>

  5. Redémarrez et montez le lecteur.

Dans mon cas, le premier niveau de noms de répertoire n'a pas pu être récupéré. Ainsi, ils pourraient tous être trouvés en fonction de leur nom inode dans le répertoire lost+found, qui est masqué.

2
Max