2 votes

Comment cloner une carte SD adoptée ?

J'ai adopté une carte SD comme mémoire interne et un jour, elle a soudainement cessé de fonctionner.

Avec l'aide précieuse du membre @alecxs, j'ai pu en faire une copie et parcourir les fichiers qu'elle contient. Ici est une partie des bases de la façon dont cela a été fait.

Je ne sais pas pourquoi cela a échoué sur le téléphone, car s'il s'agissait d'un problème physique avec la carte SD, il n'aurait pas dû être impossible de la lire ou de la décrypter ?

Quoi qu'il en soit, j'ai une autre (nouvelle) carte SD et je voudrais y cloner l'ancienne afin de pouvoir commencer à l'utiliser comme si c'était l'ancienne... en fait, tout doit être comme avant la panne de la carte SD.

Y a-t-il un moyen de le faire ? Comment ?

Je suis en mesure de voir mes photos, ce qui est un énorme soulagement, mais ce qui me préoccupe maintenant, ce sont les données de l'application qui ne sont pas visibles à moins qu'elles ne soient remises dans le téléphone et ouvertes avec son application.

0voto

alecxs Points 3105

Essayez ce qui suit

  • copiez d'abord sd.img sur la nouvelle carte MicroSD (cela finira par un "error writing, not enough space").

  • créer un autre sd2.img à partir de la nouvelle carte MicroSD (celle qui s'est terminée sans succès, nous avons juste besoin d'un sd2.img brut avec une taille correcte)

  • exécuter kpartx pour mapper sd.img dans /dev/mapper/loop1p1, /dev/mapper/loop1p2 et sd2.img dans /dev/mapper/loop2p1, /dev/mapper/loop2p2 (peut varier)

  • créer deux nouveaux périphériques blocs pour /dev/mapper/loop1p2 et /dev/mapper/loop2p2 (voir le lien dans votre question)

  • Maintenant, supposons que /dev/mapper/loop1p2 est /dev/mapper/crypt1 (= sd.img) et /dev/mapper/loop2p2 est /dev/mapper/crypt2 (= sd2.img).

  • crypt1 doit être montable en tant que partition ext4 sur n'importe quel point de montage (c'est votre ancienne carte MicroSD).

  • crypt2 est probablement cassé à cause de la taille inférieure et doit être formaté avec mke2fs

    mke2fs -t ext4 /dev/mapper/crypt2

  • maintenant crypt2 devrait être montable comme ext4 aussi, monter à un autre point de montage

  • ensuite, copiez tous les fichiers d'un point de montage à un autre. assurez-vous de préserver les permissions secontext, xattrs, uid et fichiers. ceci peut être fait avec busybox cp -ac o tar --selinux --xattrs -p

Je suis sur mon portable et occupé aujourd'hui, j'améliorerai cette réponse plus tard. En fait, je ne suis pas sûr que ce soit comme ça que ça fonctionne (la partie dmsetup).

bonne chance

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