*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
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 mmcblkXpXX
desde el primer comando.
Si tiene éxito, /data
debe montarse correctamente
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.Las particiones de Samsung Galaxy S2 con datos útiles son /data
y /sdcard
(memoria interna) o /emmc
dependiendo 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 /data
o /sdcard
, puede probar con mount /data
y 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 -o
parámetro define las opciones al llamar a mount , pero dado que solo desea obtener todos los datos (leer), las opciones predeterminadas serían suficientes.
-t jpg
el 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:
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.
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
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)
Abra Odin (podría ser genial descargarlo antes)
Ahora puede ingresar a esta recuperación como antes y montar datos a través de adb, ya que debe tener permisos de root.
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.
$ adb shell
$ su
# mount -o rw,remount /system
usuario1710096
Pedro