(modifié le 8 avril 2023 à 18:19)

J'utilise Search Everything depuis plus de 15 ans car il permet d'avoir une recherche instantanée de tous les fichiers et dossier de votre disque dur grâce à la MFT (master file table), un élément natif du système de fichiers NTFS.

Suite à un crash de mon disque secondaire j'ai eu besoin de lire ce fichier everything.db pour savoir ce que contenait exactement le disque avant qu'il ne me lâche.

Everything indexait tous mes disques avant la panne, il connait donc l'intégralité des noms de fichiers contenus sur le disque HS. Ainsi j'ai pu décider si cela valait le coup ou non que j'envoie le disque en salle blanche.

Je vous propose aujourd'hui de vous expliquer comment convertir une base everything.db en fichier EFU (Everything file list).

La configuration pour que ça fonctionne

Pour bien comprendre ma situation, j'avais 2 disques :

  • Disque 1 (SSD) lettre C:\ contenant l'OS (et Everything)
  • Disque 2 (HDD) disque D:\ contenant les données

C'est le HDD qui a rendu l'âme d'un coup, mais la base indexée everything.db était stockée sur le SSD. Everything stocke son indexation dans le fichier :

%localappdata%\Everything\everything.db

Mon conseil : si cette situation vous arrive avant toute chose faites un backup du everything.db grâce à un liveCD comme PartedMagic ou Sergei Strelec.

db2efu

Important : la méthode qui va suivre permet de connaître les noms des fichiers et dossiers (et leur date de modification) mais ne permet pas de lire leur contenu.

Il n'est pas possible de restaurer simplement le fichier everything.db à son emplacement d'origine car Everything va re-indexer les fichiers à partir de la MFT dès qu'il sera lancé. Comme le disque dur HS n'est plus connecté/visible par Windows Everything va supprimer la liste des fichiers stockés sur ce disque de sa base indexée.

Un peu en catastrophe j'ai contacté David, le créateur de Everything, qui m'a répondu en 1h (big up à lui!) en m'expliquant qu'il a créé un utilitaire pour convertir le fichier everything.db en fichier *.efu (everything file list).

Cet utilitaire s'appelle Everything database recovery tool (db2efu). Une fois que vous l'ouvrez il vous demander ou se trouve le fichier everything.db :

par défaut il est dans %localappdata%\Everything\everything.db

Puis il vous demande où enregistrer le fichier de sortie *.efu :

Et voilà ! Vous pouvez maintenant double cliquer sur le fichier sortie.efu pour l'ouvrir avec Everything qui vous affichera le listing, dans une fenêtre identique à la recherche classique.

Le nom du fichier EFU est précisé en bas à droite, cela évitera de vous mélanger avec le vrai Everything qui tourne en parallèle sur votre machine :

Si l'association du fichier EFU ne fonctionne pas lancez Everything et faites menu Fichier > "Ouvrir une liste de fichiers..."

Conclusion

A l'avenir je pense que je ferai une sauvegarde de ce fichier everything.db au moins une fois par mois, vu que ce fichier m'a sauvé les fesses. Grâce à lui j'ai pu arrêter de stresser sur la liste réelle des fichiers perdus dans le disque HS.

Grâce à TestDisk j'ai réussi à récupérer les quelques megoctets de fichiers importants (le disque fonctionnait par intermittence et de façon très lente).

Dans la foulée j'ai donc naturellement fait un petit don à David Carpenter pour supporter le développement de Everything. Vu le temps gagné grâce à Everything depuis toutes ces années je l'ai fait avec plaisir, pour moi il est important de soutenir les logiciels gratuits qui nous rendent service (qu'ils soient libre ou non) 👍

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter