
Rien à voir avec d’habitude, on va tourner aujourd’hui autour des cartes SD des appareils photos numériques.
On va voir comment récupérer des photos perdues et aussi comment éviter que quelqu’un ne récupère vos photos supprimées.
On est sous Ubuntu. Si vous êtes sous Windows, télécharger un live-cd Ubuntu et démarrez dessus. Autant utiliser un logiciel libre qui a fait ses preuves plutôt que payer un soft bidon à 80€ car vous êtes désespérés (ils le savent, d’où le prix).
Tout ceci est applicable à n’importe quel support, une clé USB ou une partition de disque dur par exemple. Et bien entendu, pour n’importe quel type de fichier (le rapport de 15 pages que vous venez de connement supprimer).
En préalable, je rappelle juste qu’il faut travailler à partir d’un autre support (une autre partition…) afin de ne pas réduire vos chances à zéro.
Récupérer des photos perdues
Il est plus efficace d’insérer la carte SD dans un lecteur de carte que d’y accéder depuis l’APN connecté en USB. Les ordinateurs portables ont tous un lecteur de carte multiformat.
Première étape, il faut connaître le périphérique. Faites ls /dev/mmc* ou si la carte est montée la commande df vous donnera ces infos :
Sys. de fich. Taille Uti. Disp. Uti% Monté sur /dev/sda2 19G 5,9G 12G 33% / /dev/sda5 106G 96G 4,5G 96% /home /dev/sda3 19G 2,2G 16G 13% /var /dev/sr0 4,2G 4,2G 0 100% /media/cdrom0 /dev/mmcblk0p1 3,8G 111M 3,7G 3% /media/FC30-8E5A
On voit que /dev/mmcblk0p1 est notre carte SD.
On va faire une image de la carte sur le disque dur. On va créer un dossier pour l’occasion et utiliser la commande dd pour faire cette image :
mkdir sd-recovery && cd sd-recovery dd if=/dev/mmcblk0p1 of=./carte-sd.img
C’est assez lent, dd copie l’intégralité des blocs. Pour une carte de 4 Go, même s’il est annoncé qu’elle contient que 2 Go d’espace occupé, il faut donc compter donc que dd copie 4 Go (à environ 7 Mo/s).
On va travailler sur l’image de la carte avec un outil nommé foremost. Si ce n’est déjà fait, installez-le :
sudo aptitude install foremost
Et on lance la bête :
sudo foremost -v -i carte-sd.img
Maintenant il faut être patient. foremost va parcourir tous les blocs de l’image de la carte SD à la recherche de fichiers. Tous ce qui est trouvé est placé dans le dossier output, trié par type. Les noms des fichiers trouvés ne sont pas les noms originaux mais reflètent à quel endroit ils ont été trouvés.
Dernière petite étape, on va mettre les droits comme il faut (ça a été exécuté en tant que root avec sudo) :
sudo chown -R $USER output
Et voilà. C’est pas infaillible, mais ça en trouve beaucoup. En fait, tant que les blocs n’ont pas été réécrits, les données sont toujours présentes. Donc moins vous avez utilisé la carte depuis la perte des photos, plus vous avez de chance de tout récupérer.
Empêcher la récupération
On vient de voir qu’il faut éviter de réécrire sur les blocs pour espérer en récupérer le plus. Tout naturellement, pour empêcher ça, l’idée est donc de réécrire sur les blocs. On va créer un fichier rempli de données aléatoires qui va occuper toute la place restante.
Le point de montage de la carte (visible avec df) étant /media/FC30-8E5A/, on utilise la commande dd :
dd if=/dev/urandom of=/media/FC30-8E5A/gros-fichier.aaa
C’est assez long (comptez environ 5 Mo/s, soit 1/4h pour 4 Go). La commande dd s’arrête quand il n’y a plus de place. Il ne reste qu’à supprimer ce fichier :
rm -fr /media/FC30-8E5A/gros-fichier.aaa
Les plus paranoïaques répéteront l’opération 2 ou 3 fois.
Voilou. Maintenant vous pouvez jouer les espions, ou sauver un Noël.





Bonjour,
Merci de ce bon tuto. Ça ma sauvais « la vie » en ces temps de fête.
Pour passé, j’ai testé photorec dans le doute. Ba ça marche. pas mal(mieux)