Echec pour récupérer un fichier juste effacé depuis NTFS

lenainjaune Messages postés 628 Date d'inscription mercredi 7 mai 2008 Statut Contributeur Dernière intervention 22 juin 2024 - 13 mai 2024 à 08:35
mamiemando Messages postés 33173 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 10 juillet 2024 - 14 mai 2024 à 12:30

Bonjour à tou.te.s :),

Sous Debian, après avoir exécuté un script (très mal testé), j'ai supprimé l'entièreté du contenu d'un dossier très rempli (+ de 1000 fichiers) depuis un système de fichier NTFS. Sans paniquer, j'ai tout de suite démonté la partition pour tester différents outils de restauration de données (ntfsundelete, photorec, etc.), donc à priori le disque n'a pas évolué depuis l'incident.

Appliqué sur un fichier image donné (CD audio BIN/CUE/TOC), le script était censé extraire les pistes, les lire et enfin les supprimer. Avec les différents outils, j'ai réussi à retrouver des fichiers mais malheureusement aucune trace du fichier image (~700MB) sur lequel j'ai testé le script.

A noter que j'ai des sauvegardes partielles dont le fichier image sur lequel j'ai testé le script (donc je ne l'ai pas perdu :D), mais toutefois je ne peux pas certifier que je peux reconstituer le contenu du dossier avant suppression.

Le script ne faisait rien après avoir supprimé (donc à priori pas de ré-écriture sur l'espace libéré) et à l'heure actuelle 112GB/4TB sont disponibles.

Pourquoi des outils tel ntfsundelete dédié à NTFS, ne voient pas ledit fichier ? Autre chose à tester ?

Si quelque expert pouvait me guider vers la lumière, ce serait cool :D ...

Avec adelphité,

lnj


Linux / Firefox 115.0


A voir également:

1 réponse

mamiemando Messages postés 33173 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 10 juillet 2024 7 761
14 mai 2024 à 12:30

Bonjour,

Je ne vais pas beaucoup pouvoir t'aider, mais je vais essayer. Dans l'idée, chaque fichier correspond à une plage de données. Ces plages de données sont organisée à l'aide d'une arborescence, matérialisée en pratique par des inodes. En fonction du système de fichiers, un inode peut notamment matérialiser un dossier, un lien symbolique, un fichier de donnée, etc.

Concrètement, plusieurs stratégies pour supprimer un fichier :

  • soit on supprime l'inode du fichier, sans remettre à zéro la plage de donnée (c'est généralement ce que fait une suppression de fichier, par exemple avec rm) ou un formatage rapide (qui supprime tous les inodes)
  • soit non seulement on supprime les inodes, mais on remet à zéro toutes les plages de données (c'est ce que fait un formatage bas niveau).

On peut raisonnablement espérer que tu es dans le premier cas. Toute la difficulté est alors de reconstruire les inodes qui ont été malencontreusement supprimé.

Ici tu ne peux pas faire appel à la Corbeille, vu que tu as vraisemblablement utilisé rm. À noter que quand tu mets un fichier en corbeille, tu ne fais pas une supression : tu ne fais que déplacer dans le dossier de la corbeille (typiquement ~/.local/share/Trash/files/).

Donc maintenant, la question est comment récupérer lesdits inodes ? C'est là que les outils que tu cites interviennent.

  • photorec "sait" que les fichiers photos commence par un motif de données propres aux fichiers images. Donc il scanne octet par octet le disque, et dès qu'il détecte un tel motif, tente de reconstruire un inode et vérifie que le fichier résultant est bien formé. Une fois l'inode reconstruit, la photo redevient de facto visible dans le système de fichiers
  • ntfsundelete semble exploiter une sorte de corbeille interne au système de fichier ntfs, sans garantie de récupération.

Dans ton cas, ntfsundelete semble être le bon outil, mais si tu n'es pas parvenu à récupérer tes fichiers... eh bien il faut soit trouver un nouvel outil, soit confier ton disque à une société spécialisée (souvent très cher). Si tu envisages cette seconde option, mon conseil serait d'intervenir le moins possible sur le système de fichiers concerné.

Bonne chance