Comment récupérer les données d'une mauvaise carte SD?

23

J'ai une carte SD de 4 Go avec des photos de famille que je dois récupérer. Lorsque j'insère la carte dans mon lecteur de carte, elle apparaît comme un périphérique 32 Mo inconnu (as /dev/sde) et ne peut pas être montée. Lors de la réinsertion dans l'appareil photo (un Nikon D60), il indique que les cartes doivent être formatées (tout comme l'insertion dans une machine Windows). Je veux récupérer toutes les photos sur la carte (il y en avait d'autres avant les photos de famille) car je ne sais pas combien j'ai prises ni leurs tailles exactes (mais je crois qu'elles étaient toutes en JPEG). La carte doit être formatée en tant que système de fichiers FAT32.

Quels sont les utilitaires Linux ou Unix disponibles pour récupérer les fichiers? Puis-je le faire moi-même ou dois-je demander de l'aide à un professionnel?

Edit: Il semble que mon lecteur de carte ait endommagé la carte d'une manière ou d'une autre, la rendant illisible et non formatable. Lorsque j'ai vérifié une autre carte qui était exactement la même (sauf pour aucun fichier), elle a "ruiné" la seconde. Je voudrais réutiliser la deuxième carte, donc existe-t-il un outil pour formater une carte endommagée qui ne sait pas (ou ne peut pas signaler correctement) sa taille?

n0pe
la source

Réponses:

29

Tout d'abord, d'après votre expérience avec la deuxième carte, il semble que votre lecteur soit endommagé et endommage maintenant les cartes que vous y insérez. Arrêtez immédiatement d'utiliser ce lecteur et essayez de récupérer la carte avec un autre lecteur. Si vos données sont précieuses, essayez d'obtenir un lecteur de marque de meilleure qualité qu'un lecteur à bas prix.

Si la carte est simplement partiellement illisible et pas complètement illisible, essayez d'abord de copier ce que vous pouvez de la carte dans un fichier image. Ne l'utilisez pas ddcar cela arrêtera la lecture de la première erreur. Utilisez des outils tels que dd_rescueou ddrescue. Les deux outils tentent d'extraire autant de données que possible du disque. Exemple d'utilisation ( /dev/sdcétant l'appareil correspondant à la carte; si vous ne savez pas de laquelle il s'agit, exécutez cat /proc/partitionset choisissez celui qui semble avoir la bonne taille):

ddrescue -dr3 /dev/sdc card.image logfile

Comme il semble que la structure du système de fichiers soit endommagée (vos systèmes d'exploitation proposent de formater le lecteur car ils ne voient pas de système de fichiers valide dessus), vous devrez essayer de récupérer les fichiers individuellement. Heureusement, les fichiers image commencent par un en- tête reconnaissable, et il existe de nombreux existants outils de sculpture qui reconnaissent les images: Avant tout , magicrescue , PhotoRec (par les créateurs de TestDisk ), recoverjpeg , ...

La plupart de ces outils sont disponibles sur les distributions Unix typiques. Mais si vous préférez, vous pouvez exécuter une distribution spéciale ou un autre CD live incluant des outils de récupération tels que SysRescueCD , Knoppix , CAINE

Gilles 'SO- arrête d'être méchant'
la source
Je pense que la plupart de mes problèmes sont dus au fait que les cartes ne sont reconnues que comme 32 Mo, alors qu'elles devraient faire 4 Go. Et je n'ai aucun moyen de dire quels sont les cylindres, les têtes et les secteurs de bas niveau.
2
@Tyler: Si votre carte n'est pas reconnue à la bonne taille par le matériel, remplacez immédiatement le lecteur. Si vous avez essayé de copier l'image et que la copie s'est arrêtée en raison d'erreurs après 32 Mo, essayez à nouveau avec un outil comme ddrescue. Vous n'avez besoin de rien savoir sur les cylindres / têtes / secteurs.
Gilles 'SO- arrête d'être méchant'
Que fait l'option -dr3? J'essaie de récupérer à partir d'une carte SD mais cela ne monte pas. J'obtiens ce qui suit: Erreur de lecture non alignée. La taille du secteur est-elle correcte?
user3236841
Dans les pages de manuel, l' -dr3option représente -d, ce qui signifie «utiliser un accès direct au disque», en contournant tous les caches du noyau du contenu du disque, et -r3, ce qui signifie de réessayer la lecture 3 fois s'il obtient une erreur pour un mauvais secteur.
Sean
9

PhotoRec de http://www.cgsecurity.org/ - gratuit, open source, facile à utiliser. Je viens de récupérer de nombreuses photos et vidéos de famille d'une carte SD corrompue. Décompressez simplement dans un dossier, exécutez le fichier et pointez-le vers le lecteur.

user36649
la source
8

Je recommanderais TestDisk . Je l'ai utilisé avec succès pour récupérer des fichiers à partir de disques durs corrompus. J'utilise normalement une distribution comme TRK ou SystemRescueCd .

agn
la source
6

Vous n'avez pas détaillé comment les données ont été perdues. S'il s'agit d'une suppression logique et que l'appareil n'a pas vu beaucoup d'écriture, les chances de récupérer des données sont bonnes: le conseil évident est d'opter pour TestDisk & Photorec . Bien sûr, la recommandation traditionnelle: protéger en écriture le périphérique d'origine, de toute façon, l'exposer à la moindre interaction possible. Le meilleur de tous, ddc'est sur un support différent, débranchez-le et travaillez sur le fichier image. Si, d'autre part, «mauvais» dans le sujet signifie physiquement ruiné, les choses deviennent plus difficiles, mais vous devriez tout de même essayer, car généralement une petite partie des blocs devient illisible. Surtout sur SD, qui a une réputation de très haute endurance.

user495100
la source
Je ne sais pas comment , mais la carte ne semble pas endommagée physiquement . Et je ne suis pas très familier avec dd, alors comment puis-je récupérer l'image de la carte? Que devrais-je faire spécifiquement avec l'image?
Essayez de trouver un moyen fiable de connecter le SD à un PC. Supposons que vous gérez et que le périphérique brut soit mappé sur le périphérique bloc / dev / sda (utilisez dmesg pour connaître son nom). Ensuite, faites dd if=/dev/sda of=/mnt/hda1/image.dd bs=1Moù / mnt / hda1 est le point de montage d'un autre support suffisamment grand. Débranchez ensuite le sd, faites une copie de image.dd et travaillez sur ce dernier pour ne pas avoir à rebrancher le SD. Voir le guide étape par étape de TestDisk sur sa page d'accueil. Espérons que d'après ce que vous dites, il semble que vous ayez juste à restaurer la table de partition / mbr. Bonne chance.
user495100
1
@Tyler: Ne l'utilisez pas dd, car il s'arrête à la première erreur. Utilisez quelque chose comme ddrescue.
Gilles 'SO- arrête d'être méchant'
2

J'ai utilisé photorec qui vient dans le package testdisk. Cela a bien fonctionné pour moi de récupérer des photos à partir d'un microsd sandisk qui a été corrompu par mon téléphone.

Samue
la source
1
Pouvez-vous, au moins, fournir des liens et de la documentation pour étoffer un peu votre réponse?
HalosGhost
PhotoRec a fonctionné pour moi. Ma carte SD a perdu le système de fichiers fat32 et ne montait pas. PhotoRec m'a aidé à en récupérer la plupart.
Chetan Bhargava