Montaje de recuperación de Android ADB Shell

*Pregunta: Necesito ayuda para montar los datos internos de un teléfono Android usando Android ADB Shell mientras la unidad está conectada a través de USB y en modo de recuperación. ¿Cómo formo un comando de montaje adecuado? Consulte a continuación para obtener información más detallada.

*FYI: Tengo experiencia en el desarrollo con el SDK de Android usando Java/XML. He encontrado poca documentación para Android ADB Shell para mi propósito.

Tengo un teléfono Android Samsung GT-i9000 con una pantalla rota. La pantalla está negra y no responde al tacto. El teléfono no tiene habilitada la depuración de USB o el montaje automático de USB. No puedo simplemente conectar el teléfono a través de USB para acceder a los archivos deseados (fotos y otros datos internos). Desafortunadamente no puedo confirmar la versión del sistema operativo. El teléfono no tiene tarjeta SD, todos los datos deseados están en la placa interna. El teléfono no está rooteado.

* Lo que probé: investigando un poco, inicié el teléfono en modo de recuperación usando el método de tres botones (VolUP + Home + Power) y logré acceder al dispositivo usando el comando "dispositivos adb" en mi máquina Win 7. Se muestra como "recuperación". Esta es la única forma en que he podido hacer que la computadora reconozca el dispositivo a través de USB. Probé Kies y Androidscreencast sin éxito.

He podido usar el comando "tirar" para acceder a todos los archivos del sistema Android desde el teléfono. Supongo que esto se debe a que el modo de recuperación solo monta los archivos del sistema necesarios para actualizaciones/reparaciones y no se preocupa por los datos internos. Usando el comando de montaje, puedo ver lo que considero que son las rutas a los archivos que estoy buscando:

$ 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

Todos mis esfuerzos para montar fallan, generalmente con una sugerencia de uso:

$ mount rootfs / /mnt/ rw 0 0
mount rootfs / /mnt/ rw 0 0
Usage: mount [-r] [-w] [-o options] [-t type] device directory
¿Existe la posibilidad de que pueda activar la configuración USB a través de XML usando los archivos del sistema que he adquirido?
¿El objetivo es montar la partición /data para extraer los archivos usando adb?

Respuestas (6)

ls -l /dev/block/platform/dw_mmc/by-name/ 

para encontrar la ruta a la partición de datos del usuario. Después

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

Compruebe el tipo de sistema de archivos correcto, así como mmcblkXpXXdesde el primer comando.

Si tiene éxito, /datadebe montarse correctamente

Todos mis comandos de montaje dan como resultado mount: Operation not permitted. Creo que he encontrado a lo que te refieres, aunque (mmcblk0p2, mmcblk0p1) existen en el directorio de bloques. El directorio de la plataforma no parece existir.
su respuesta es correcta, pero dijo que su dispositivo no está rooteado, por lo que no será de ayuda.

Las particiones de Samsung Galaxy S2 con datos útiles son /datay /sdcard(memoria interna) o /emmcdependiendo de la recuperación.

Para montar una partición, emita el siguiente comando: mount <partition> <mount_point>o mount <mount_point>si el punto de montaje ya está definido. Para /datao /sdcard, puede probar con mount /datay mount /sdcard.

Si el punto de montaje aún no está definido, tendría que usar la partición: mount /dev/block/mmcblk0p10 /data. El -oparámetro define las opciones al llamar a mount , pero dado que solo desea obtener todos los datos (leer), las opciones predeterminadas serían suficientes.

Gracias por la migración al foro adecuado. El único comando de montaje adecuado que pude ejecutar fue mount -t jpg /dev/block/mmcblk0p1 /sdcard -operación no permitida. Usé mmcblk0p1 porque la ubicación mencionada no existe.
¿Por qué estás usando -t jpgel comando de montaje?

Esta es una especie de situación complicada. Como no tiene acceso de root, no podrá montar la partición de datos a través de adb en la recuperación. Tampoco podrás hacer: adb backup.

La única forma posible de obtener de alguna manera sus datos podría ser la siguiente:

  1. flashear una recuperación personalizada a través de odin ( http://forum.xda-developers.com/showthread.php?t=2204700 quizás)
  2. iniciar la recuperación como antes
  3. monte datos a través de adb si tiene permisos de root con esta recuperación
  4. o use la tecla de navegación en recuperación para montar datos (generalmente hay una opción para hacerlo) Puede navegar con eh vol+ vol- y confirmar con poder. Solo necesita saber cómo se ve su recuperación desde un dispositivo con una pantalla de trabajo.

  5. saca todo de los datos y sé feliz

Tal vez tenga problemas para conectarse a través de adb ya que su computadora no estará autorizada. Esto tiene que ser revisado. En caso afirmativo, está jodido a menos que encuentre una recuperación que tenga esta función de seguridad deshabilitada.

ACTUALIZAR:

Acabo de encontrar algo que podría ayudarte. Es un núcleo rooteado tomado de la ROM estándar y una recuperación deshabilitada de seguridad incluida. Actualizar este Kernel a través de Odin debería ayudarlo a montar datos o cualquier partición que desee montar para recuperar sus datos.

Hacer: 1. Descargue el CF-ROOT correcto para su versión de Android aquí: http://forum.xda-developers.com/showpost.php?p=8238938&postcount=3

  1. Vaya al modo de descarga con la combinación de teclas (mantenga presionado el botón para bajar el volumen, el botón de inicio y el botón de encendido)

  2. Abra Odin (podría ser genial descargarlo antes)

  3. Haga clic en el botón PDA y seleccione CF-Root-xxx-vX.X.tar
  4. Conecta el teléfono a tu computadora
  5. Asegúrese de que la partición NO esté marcada
  6. Haga clic en el botón INICIO
  7. Espere a que el teléfono se reinicie

Ahora puede ingresar a esta recuperación como antes y montar datos a través de adb, ya que debe tener permisos de root.

Gracias por tu aporte en este viejo hilo. Haré todo lo posible para intentar su solución en la próxima semana y realizar un seguimiento lo antes posible.
Veamos si esto ayuda. Entonces, ¿mi suposición es correcta de que tiene instalada la ROM de stock?
También puede intentar usar heimdall en lugar de Odin, según el sistema operativo que esté usando. Tal vez instale la recuperación TWRP2 de su computadora en el teléfono. Luego, inicie el modo de recuperación, y debería tener la raíz en ese punto, lo que le brinda opciones que incluyen el montaje manual como se sugiere, luego adb extraer los archivos que necesita o puede extraer toda la partición a su computadora, luego montarla localmente y recuperarse de esa manera.

desde el shell adb

cat /etc/fstab

o

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
~ # 

debería darle el nombre de partición que está buscando.

Dispositivo: SG-i9001 - Samsung Galaxy S Plus

Yo tuve el mismo problema antes. La razón principal por la que no puede volver a montar su sistema de archivos y otras particiones de su dispositivo Android es porque no está ejecutando adb shell en modo raíz. Esto es lo que hice antes:

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

Esto debería resolver tus problemas. Por supuesto, en mi caso estoy ejecutando esto en un dispositivo Android rooteado (compilación LineageOS Android 7.1.2). Puede ser diferente en tu caso, pero básicamente la idea es la misma.

Prueba esto:

$ adb shell
$ su
# mount -o rw,remount /system
su: no encontrado. El comando de montaje persiste para fallar incluso usando el método #.
Si el teléfono no está rooteado, no podrá ejecutar su (o como root)