4 votes

Comment récupérer les données du stockage adaptatif lorsque le téléphone rooté est bloqué au démarrage ?

Donc, j'utilise le Galaxy Mega (i9152) avec une ROM CM13 que j'ai flashé via TWRP. Pour pouvoir faire tourner PoGO, j'ai désactivé Root dans les paramètres de l'application SuperSu dans CM13 (le jeu ne fonctionnait toujours pas, il n'arrêtait pas de déclencher le filet de sécurité). Le téléphone fonctionnait bien jusqu'à il y a 2 jours, après quoi il a commencé à se mettre en boucle de démarrage.

Donc, j'ai cherché sur Google comment résoudre la boucle de démarrage et j'ai vu que la fixation des autorisations de fichiers par TWRP pourrait résoudre le problème. Je l'ai fait MAIS j'ai aussi enraciné le téléphone lorsque TWRP m'a demandé d'installer SuperSU, citant que le téléphone n'était pas enraciné. Après cela, le téléphone était bloqué à l'animation de démarrage (le visage CM Android), peut-être parce que j'ai rooté le téléphone par TWRP.

J'avais formaté ma carte SD en interne, ce qui signifiait qu'elle ne fonctionnerait sur aucun autre appareil. Toutes mes photos et mes affaires sont sur cette carte SD maintenant. J'ai fait des recherches approfondies sur Google pour trouver un moyen de décrypter la carte SD cryptée et j'ai découvert que je pouvais la décrypter par le biais de Linux. J'ai également récupéré le fichier .key dans le dossier /data/misc/vold et j'ai converti le code dans le format approprié de 16 octets par des commandes de terminal.

J'ai un système linux et j'ai essayé de le décrypter. Voici ce qui se passe lorsque j'exécute parted -l (je voulais également afficher la sortie de fdisk -l, mais mon score de réputation ne me permet pas d'afficher plus de 2 liens).

when i run parted -l

Comme les noms "android_expand" et "android_meta" sont toujours affichés, j'ai de l'espoir et de bonnes raisons de croire que mes données sont toujours intactes !

mais quand j'essaie de le monter ...

when i try to decrypt the SD card and mount it

je ne sais pas quoi faire maintenant, puisque c'est tout ce que je savais, tout ce que j'avais :/ , je n'ai aucune idée du système de fichiers de la carte cryptée. j'ai essayé ext4 comme décrit dans le guide. peut-être que s'il y avait un moyen de faire en sorte que le fichier fstab passe par TOUS les systèmes de fichiers possibles, trouve le bon et monte finalement ma carte SD. peut-être que la fonction de montage a une telle fonction 'auto' pour détecter automatiquement les systèmes de fichiers ?

J'ai essayé de reflasher la MEME ROM sans réinitialisation d'usine, mais cela m'a donné une erreur disant : "error executing updater binary" et aussi "cannot install on top of incompatible data".

J'ai effacé le cache et le cache Dalvik plusieurs fois.

J'ai sauvegardé la partie DATA, via TWRP, en utilisant une AUTRE carte SD dans le téléphone. J'ai également sauvegardé la partie SYSTEM dans le stockage interne du téléphone. Je suis juste inquiet pour mes photos et mes affaires sur la carte SD. Je ne peux pas voir ma carte SD cryptée dans TWRP, il me montre seulement O MB dans l'option de carte SD dans TWRP, peut-être parce que la carte SD est cryptée. je n'ai aucune idée de comment accéder à mes fichiers dans la carte SD cryptée par le gestionnaire de fichiers TWRP. je ne veux pas perdre mes données. Je ne sais pas si ma carte SD sera détectée dans le système d'exploitation comme avant si je suis en mesure de reflasher la même rom que j'utilisais avant ce désastre.

Juste pour clarifier, j'utilise le lecteur de carte SD interne de mon ordinateur portable pour lire la carte avec Linux (j'ai ubuntu 16.04 LTS), avec un adaptateur de carte SD fourni avec la carte (c'est une Kingston 16 GB, SDHC classe 4).

si je peux accéder à ma carte SD et récupérer toutes mes données, mon problème sera résolu. aidez-moi s'il vous plaît.

P.S : aussi, au TOUT début de cette épreuve, par erreur, j'ai peut-être créé des partitions sur la carte SD, tout en utilisant le fdisk. J'espère que cela n'a pas effacé les données de la carte SD ou ne l'a pas corrompue. J'ai fait CTRL+C pour sortir de l'utilitaire sans enregistrer les changements ... donc cela pourrait être un peu d'espoir.

EDIT (1-Dec-2019) : Il ne s'agit PAS d'un doublon, comme le montre la solution que j'ai fournie ci-dessous. Cette question représente un cas beaucoup plus sérieux avec un stockage adopté, où votre téléphone a des problèmes de démarrage ou votre OS est corrompu. Veuillez laisser cette question telle quelle, car elle sera utile aux utilisateurs avancés et aux autres personnes dont les fichiers sont bloqués dans le stockage adopté et qui ont des difficultés à accéder au système d'exploitation de leur téléphone.

3voto

Muhammad Yasir Points 201

Avant de commencer, je vous recommande de faire une sauvegarde COMPLÈTE de votre carte SD, par le biais d'une image brute (googlez la commande 'dd' sous linux).

J'ai suivi le guide ici ; Carte SD corrompue formatée en tant que stockage interne

MAIS avec quelques MODIFICATIONS IMPORTANTES de ma part !

  1. Le téléphone était bloqué en BOOTLOOP et plus tard bloqué au BOOT Animation, aucun accès à un utilitaire habituel de gestion de fichiers. Attention, c'est une situation TRÈS grave, car il n'y a pas de méthode triviale pour accéder à votre carte sd (elle apparaît comme 0mb dans le gestionnaire de fichiers TWRP) pour sauvegarder vos précieuses données, photos et souvenirs. De plus, c'est la seule partie qui est un peu incertaine puisque je ne suis pas complètement sûr si mon téléphone était enraciné ou non (puisque mon problème a changé de bootloop à l'animation de démarrage quand j'ai essayé d'installer à SuperSu par TWRP) et la récupération de la clé de cryptage est centrale pour résoudre ce problème. Je devais récupérer le fichier .key, car il était essentiel pour casser le cryptage de la carte SD. Donc, au milieu de toute cette panique, j'ai été en mesure de naviguer, par le biais du gestionnaire de fichiers TWRP, dans le dossier /data/misc/vold et j'ai trouvé le fichier .key. C'était une percée MAJEURE !

  2. Ensuite, pour extraire le fichier, j'ai utilisé une autre carte SD non cryptée et j'ai transféré le fichier .key sur cette carte, via le gestionnaire de fichiers TWRP, j'ai lu cette carte SD dans l'ordinateur portable et j'ai obtenu le fichier .key sur Ubuntu (16.04). Décoder le fichier .key et obtenir la clé de 16 octets. Il ya 2 façons de le faire ... soit ouvrir le fichier à travers un éditeur hex (j'ai utilisé BLESS) et copier les 16 paires de chiffres hex que vous voyez OU utiliser cette commande ;

hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.key

assurez-vous d'être dans le MÊME répertoire que le fichier .key lorsque vous exécutez cette commande (les utilisateurs avancés de linux pourront contourner ce problème mais je veux que ce soit aussi simple que possible pour les débutants).

Donc, j'ai obtenu la clé de 32 chiffres / 16 octets.

  1. SUIVANT, décrypter la carte SD ET la faire reconnaître par Linux. Quand je l'ai lue, à travers le lecteur de carte, elle n'apparaissait pas dans Nautilus (le gestionnaire de fichiers d'Ubuntu) mais en exécutant fdisk-l et parted -l, j'ai vu que

"parted -l output"

http://pasteboard.co/5klviklR8.jpg

"fdisk -l output"

http://pasteboard.co/POGvyBOxO.png

Remarquez android_meta et android_expand, ces noms m'ont donné l'espoir que mes données étaient toujours intactes. D'autant plus qu'au début du problème, j'avais créé des partitions et des tables de partitions sur la carte SD avec l'utilitaire fdisk (mais j'ai fait ctrl+c en sortant donc il est possible que les modifications n'aient pas été écrites, PHEW ! )

le système de fichiers inconnu a été la plus grande douleur dans tout ce fiasco ... puisque selon les quelques guides et discussions concernant ce problème, les cartes SD formatées comme internes par marshmallow étaient censées être un système de fichiers ext4. mais ce n'était pas le cas, du moins pas ici.

  1. Donc, pour décrypter la carte, j'ai utilisé

    dmsetup create crypt1 --table "0 blockdev --getsize /dev/mmcblk0p2 crypt aes-cbc-essiv:sha256 "insert your 16-byte key here w/out double quotes" 0 /dev/mmcblk0p2 0"

Si vous obtenez des erreurs liées aux ioctl, utilisez ce format à la place (c'est le format EXACT que j'ai utilisé aujourd'hui, avec ma clé et tout le reste).

dmsetup create crypt7 --table "0 `blockdev --getsize /dev/mmcblk0p2` crypt aes-cbc-essiv:sha256 07147CFFB77F249A5DBD2AD204610E7D  0 /dev/mmcblk0p2 0"

veuillez noter que l'utilitaire dmsetup doit être installé sous linux. (googlez-le). aussi, notez que j'ai choisi la parition 'mmcblk0p2', car elle était la plus grande en taille et avait la déduction évidente de contenir toutes les données !

Cela s'est bien passé, sans erreur. La partie suivante, cependant, m'a ABSOLUMENT rendu fou et a pris environ 20 heures (y compris mon temps de sommeil) pour être correctement résolu.

  1. le GADDAMN système de fichiers ! il était écrit PARTOUT que le stockage adoptif est formaté en ext4, donc quand j'ai lancé la commande

# mount -t ext4 /dev/mapper/crypt1 /mnt/1/

(veuillez noter que mnt/1/ doit exister en tant que répertoire dans votre dossier racine, sinon, utilisez mkdir pour le créer).

cela a donné cette fichue erreur

mauvais fs ou mauvaise option.

et cela m'a fait penser ... si la carte sd n'est PAS de type ext4, alors COMMENT SUR TERRE suis-je supposé savoir quel système de fichier c'est parmi tous les possibles !

J'ai cherché et cherché une commande qui pourrait forcer le cycle à travers TOUTES les possibilités dans une méthode de force brute ou n'importe quelle entrée que je pourrais faire dans le fichier /etc/fstab qui pourrait détecter AUTOMATIQUEMENT le système de fichiers d'une manière ou d'une autre, mais sans succès....

5 . A la fin, je me suis souvenu... que peut-être, juste PEUT-ÊTRE le système de fichiers était f2fs (flash-friendly file system). Et cela s'est avéré être un rappel révélateur ...

pour ce code ;

mount -t f2fs /dev/mapper/crypt1 /mnt/1

s'est avéré être le but de la victoire !

J'ai ensuite pu accéder à /mnt/1 et j'ai vu des fichiers Android-esque très familiers et à partir de là, c'était le bonheur éternel !

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