9 votes

Montage de récupération Android ADB Shell

*Question : J'ai besoin d'aide pour monter les données internes d'un téléphone Android à l'aide du shell Android ADB alors que l'appareil est connecté via USB et en mode récupération. Comment puis-je former une commande de montage correcte ? Voir ci-dessous pour des informations plus détaillées.

*FYI : J'ai de l'expérience dans le développement avec le SDK Android en utilisant Java/XML. J'ai trouvé peu de documentation sur le shell Android ADB pour mon usage.

J'ai un téléphone Samsung GT-i9000 Android dont l'écran est brisé. L'écran est noir, et ne répond pas au toucher. Le débogage USB et le montage automatique USB ne sont pas activés sur le téléphone. Je ne peux pas simplement brancher le téléphone via USB pour accéder aux fichiers souhaités (photos, et autres données internes). Je ne peux malheureusement pas confirmer la version du système d'exploitation. Le téléphone n'a pas de carte SD, toutes les données souhaitées sont sur la carte interne. Le téléphone n'est pas rooté.

*Ce que j'ai essayé : En faisant quelques recherches, j'ai démarré le téléphone en mode récupération en utilisant la méthode des trois boutons (VolUP + Home + Power) et j'ai réussi à accéder à l'appareil en utilisant la commande "adb devices" sur mon ordinateur Win 7. Il s'affiche comme "recovery". C'est le seul moyen que j'ai trouvé pour que l'ordinateur reconnaisse le périphérique via USB. J'ai essayé Kies etroidscreencast sans succès.

J'ai pu utiliser la commande "pull" pour accéder à tous les fichiers système Android du téléphone. Je suppose que c'est parce que le mode de récupération ne monte que les fichiers système requis pour les mises à jour/réparations et ne s'occupe pas des données internes. En utilisant la commande mount, je peux voir ce que je considère être les chemins d'accès aux fichiers que je recherche :

$ mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
nodev /tmp tmpfs rw,relatime 0 0
/dev/block/stl6 /mnt/.lfs j4fs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/stl9 /system rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0
/dev/block/stl3 /efs rfs rw,nosuid,nodev,relatime,vfat,llw,check=no,gid/uid/rwx,
iocharset=utf8 0 0
/dev/block/stl11 /cache rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0

Tous mes efforts pour monter échouent, généralement avec une suggestion d'utilisation :

$ mount rootfs / /mnt/ rw 0 0
mount rootfs / /mnt/ rw 0 0
Usage: mount [-r] [-w] [-o options] [-t type] device directory

5voto

Anonymouous Points 59
ls -l /dev/block/platform/dw_mmc/by-name/ 

pour trouver le chemin vers la partition des données utilisateur. Puis

mount -t ext4 /dev/block/mmcblk0p10 /data

Vérifiez le bon type de système de fichiers ainsi que mmcblkXpXX de la première commande.

En cas de succès, /data doit être monté correctement

0voto

Jason Kester Points 2111

Les partitions de Samsung Galaxy S2 contenant des données utiles sont les suivantes /data et /sdcard (mémoire interne) ou /emmc en fonction de la récupération.

Pour monter une partition, vous devez exécuter la commande suivante : mount <partition> <mount_point> o mount <mount_point> si le point de montage est déjà défini. Pour /data o /sdcard vous pouvez essayer avec mount /data et mount /sdcard .

Si le mount_point n'est pas déjà défini, vous devrez utiliser la partition : mount /dev/block/mmcblk0p10 /data . Le site -o définit les options lors de l'appel de mont mais comme vous voulez seulement obtenir toutes les données (lecture), les options par défaut suffiront.

0voto

divided-by-zero Points 952

C'est une situation un peu délicate. Comme vous n'avez pas d'accès Root, vous ne pourrez pas monter la partition de données via adb dans la récupération. Vous ne serez pas non plus en mesure de le faire : adb backup .

La seule façon possible de mettre la main sur vos données est la suivante :

  1. flashage d'une restauration personnalisée via odin ( http://forum.xda-developers.com/showthread.php?t=2204700 peut-être)

  2. démarrer en récupération comme avant

  3. monter les données via adb si vous avez les droits Root avec cette récupération

  4. ou utiliser les touches de navigation dans la récupération afin de monter les données (il y a généralement une option pour le faire) Vous pouvez naviguer avec eh vol+ vol- et confirmer avec power. Vous avez juste besoin de savoir à quoi ressemble votre récupération à partir d'un appareil avec un écran fonctionnel.

  5. tirer tout des données et être heureux

Peut-être rencontrerez-vous des problèmes de connexion via adb car votre ordinateur ne sera pas autorisé. Cela doit être vérifié. Si c'est le cas, vous êtes fichu, à moins que vous ne trouviez une récupération qui a désactivé cette fonction de sécurité.

UPDATE

Je viens de trouver quelque chose qui pourrait t'aider. Il s'agit d'un noyau enraciné pris de la ROM stock et d'une récupération désactivée de sécurité inclus. Flashing ce noyau via odin devrait vous aider à monter les données ou toute partition que vous voulez monter afin de récupérer vos données.

Faites : 1. Téléchargez le bon CF-Root pour votre version Android ici : http://forum.xda-developers.com/showpost.php?p=8238938&postcount=3

  1. Passez en mode téléchargement avec la combinaison de touches (maintenez enfoncés le bouton de réduction du volume, le bouton d'accueil et le bouton d'alimentation).

  2. Ouvrez odin (il peut être utile de le télécharger avant).

  3. Cliquez sur le bouton PDA, et sélectionnez CF-Root-xxx-vX.X.tar.

  4. Connectez le téléphone à votre ordinateur

  5. Assurez-vous que la répartition n'est PAS cochée

  6. Cliquez sur le bouton START

  7. Attendez que le téléphone redémarre

Maintenant vous pouvez entrer dans cette récupération comme avant et monter les données via adb comme vous devriez avoir les permissions Root.

0voto

Gabriel Points 1565

Depuis le shell adb

cat /etc/fstab

ou

cat /fstab.qcom

~ # cat fstab.qcom
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#<src>                                              <mnt_point>  <type>   <mnt_flags and options>                                                                           <fs_mgr_flags>
/dev/block/mmcblk0p8                                /boot        emmc     defaults                                                                                          defaults
/dev/block/mmcblk0p13                               /recovery    emmc     defaults                                                                                          defaults
/dev/block/mmcblk0p17                               /system      ext4     ro,errors=panic                                                                                   wait
/dev/block/mmcblk0p15                               /cache       ext4     noatime,nosuid,nodev,noauto_da_alloc,journal_async_commit,errors=panic,barrier=1                  wait,check
/dev/block/mmcblk0p28                               /data        ext4     noatime,nosuid,nodev,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic               wait,check,encryptable=footer,length=-16384
/dev/block/mmcblk0p28                               /data        f2fs     rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr                                           wait,check,encryptable=footer,length=-16384

# zRAM
/dev/block/zram0                                    none         swap     defaults                                                                                          zramsize=201326592

# vold managed volumes
/devices/platform/msm_sdcc.4/mmc_host               auto         auto     defaults                                                                                          voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/msm_hsusb_host.0                  auto         auto     defaults                                                                                          voldmanaged=usbdisk:auto
~ # 

devrait vous donner le nom de la partition que vous recherchez.

Dispositif : SG-i9001 - Samsung Galaxy S Plus

0voto

Mike Willekes Points 2110

J'ai eu le même problème auparavant. La principale raison pour laquelle vous ne pouvez pas remonter votre système de fichiers et d'autres partitions de votre appareil Android est que vous n'exécutez pas le shell adb en mode Root. Voici ce que j'ai fait auparavant :

$ adb shell 
$ su 
# mount -o rw, remount /system

Cela devrait résoudre vos problèmes. Bien sûr, dans mon cas, je l'exécute sur un appareil Android enraciné (LineageOS Android 7.1.2 build). Cela pourrait être différent dans votre cas, mais fondamentalement l'idée est la même.

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