5 votes

Récupérer les données d'une carte SD corrompue et formatée en tant que stockage interne (Marshmallow)

J'ai une carte SD dans un Moto G (2015) fonctionnant sous marshmallow, non rooté. Elle a été formatée en tant que stockage interne, et contient des photos et des vidéos de la naissance de notre fille, mais elle est devenue corrompue.

Puisqu'il a été formaté en tant que stockage interne, il s'agit d'un système de fichiers ESDFS, vraisemblablement crypté. Je ne peux pas le décrypter sans accéder à la clé de cryptage, ce que je ne peux pas faire car je ne suis pas rooté. Je suppose que l'enracinement supprimera cette clé de chiffrement.

Je suppose qu'elle est corrompue car toute tentative de consultation de la carte SD depuis Android démonte la carte, et le téléphone ne peut voir aucune des photos/vidéos qui s'y trouvent. Lorsque la carte est insérée, le menu "stockage" reconnaît d'abord la carte et m'indique qu'elle est pleine, mais toute tentative de regarder à l'intérieur de la carte entraîne son démontage.

J'ai essayé de lancer fsck - dans system/bin il y a fsck_msdos et fsck.f2fs, mais les deux apparaissent comme "permission refusée" lorsque je les cherche, et "aucun fichier de ce type" lorsque j'essaie de les lancer.

Je peux accéder à /data à partir d'un shell adb, mais si je tente d'accéder à /data/data/media, j'obtiens le message "permission denied" (autorisation refusée)

Quelqu'un peut-il nous aider ? Par exemple 1) est-ce que l'enracinement supprime la clé de cryptage de sorte que la carte ne soit pas accessible ? 2) Y a t-il un moyen de faire fonctionner fsck ? 3) d'autres idées pour récupérer le média de cette carte ?

Merci d'avance. Je suis un peu novice, des instructions claires sont donc très appréciées !

3voto

acejavelin Points 5816

1) L'enracinement supprime-t-il la clé de cryptage de sorte que la carte ne puisse pas être utilisée ? accéder à la carte ?

Non, en fait, le "rootage" ne supprime rien. L'enracinement consiste simplement à ajouter une application pour un accès au niveau superutilisateur ou racine. Cela étant dit, pour pouvoir procéder au rootage de votre appareil, vous devez disposer d'un bootloader déverrouillé. Le déverrouillage du bootloader effacera l'ensemble de l'appareil, y compris la clé de cryptage et toutes les autres données de l'appareil. Sur le Moto G 2015, il n'y a aucun moyen de contourner ce problème. Oh, et retirer la carte et effectuer l'opération ne fonctionnera pas, une fois qu'il est rooté, le système sera différent et la clé de cryptage changera.

2) Existe-t-il un moyen de faire fonctionner fsck ?

Pas sans accès à la racine. Pour être honnête, même si vous parvenez à le faire fonctionner, les chances qu'il corrige ce type de problème sont très faibles.

3) D'autres idées pour retirer les médias de cette carte ?

Malheureusement non... une fois que le support a été adopté par le système, il est crypté avec une clé unique à ce système. Si vous pouvez accéder à la clé, il est possible d'accéder aux données via Linux, à condition que les données ne soient pas corrompues. Si les données sont corrompues, les chances de récupérer des données cryptées et corrompues sont extrêmement faibles.

Même si j'aimerais pouvoir vous donner une réponse pour récupérer vos précieuses photos et vidéos, je ne pense pas qu'il y en ait une. Tout ce que je peux dire, c'est qu'à l'avenir, je suggère de NE PAS utiliser de stockage adopté si possible (si cette carte était un simple stockage externe/portable, les chances de récupérer les médias qu'elle contient augmenteraient de façon exponentielle) et d'utiliser une solution de sauvegarde dans le nuage comme Google Photo, qui a la capacité de maintenir une sauvegarde de vos photos et vidéos automatiquement.

2voto

Dan Fruehauf Points 21

Ayant vu le même problème plus d'une fois et après avoir abandonné l'idée d'essayer de Rooter mon téléphone (runtime Root), j'ai opté pour une méthode que j'espérais efficace et qui l'a été.

La méthode que j'ai choisie nécessite une carte SD identique et un lecteur de carte, mais je pense qu'elle devrait fonctionner avec n'importe quelle carte SD, à condition qu'elle soit plus grande - je ne l'ai pas testée.

Retirez la carte SD supposée corrompue du téléphone et branchez-la sur une machine Linux. Après avoir trouvé le périphérique qui la représente (généralement /dev/mmcblk* ), utiliser dd pour en extraire le contenu :

$ sudo dd if=/dev/mmcblk0 of=/tmp/sdcard.dump bs=4M

sdcard.dump sera absolument inutile car il est crypté et vous n'avez pas la clé de cryptage, mais cela n'a pas d'importance. Éjectez cette carte SD et insérez la nouvelle, sondez le périphérique de la carte SD (disons /dev/mmcblk1 ), puis exécutez :

$ sudo dd if=/tmp/sdcard.dump of=/dev/mmcblk1 bs=4M
$ sync; sync

Ejectez la nouvelle carte SD et branchez-la dans votre téléphone. Dans mon cas, le téléphone a été amené à utiliser cette nouvelle carte comme son espace de stockage existant, ce qui a permis de la monter et d'accéder à son contenu.

Si vous obtenez des erreurs lors de la lecture de la carte SD corrompue, essayez d'utiliser la fonction ddrescue au lieu de dd lors de la création de l'image initiale. Il est probable que, malgré les erreurs, vous aurez accès à une grande partie des données contenues dans la carte.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X