¿Cómo extraer mmcblk0 a una PC con Windows?

Así que esto es lo que quiero extraer: mmcblk0con un tamaño de 15,7 GB.

C:\adb>adb shell
shell@android:/ $ su
su
shell@android:/ # fdisk -l /dev/block/mmcblk0
fdisk -l /dev/block/mmcblk0

Disk /dev/block/mmcblk0: 15.7 GB, 15758000128 bytes
1 heads, 16 sectors/track, 1923584 cylinders
Units = cylinders of 16 * 512 = 8192 bytes

Esto es lo que probé:

C:\adb>adb shell su busybox cat /dev/block/mmcblk0 > C:\1.bin

Solo tengo una salida de 1 KB con contenido dentro dicho "id desconocido". También probé con pullpero parece que tampoco funciona.

¿Qué debo hacer para obtener este mmcblk0 de 15,7 GB?

Respuestas (4)

Intentar:dd if=/dev/block/mmcblk0 of=/sdcard/something.bin

Puede hacerlo en un emulador de terminal o en un shell ADB.
Solo requiere acceso de root.

A continuación, puede llevar este archivo a su escritorio. No sé de una manera de hacerlo simultáneamente.

¿Incluiría esto también la imagen de recuperación?
  1. Mostrar opciones de desarrollador ( Settings > Developer> tap build 7 times)
  2. Habilitar depuración USB ( Settings > Developer > USB Debugging)
  3. use la recuperación TWRP para evitar las limitaciones de la raíz del sistema operativo

    adb reboot recovery

  4. revisa tus puntos de montaje

    adb shell mount | FINDSTR /R /C:"^/dev"

  5. haz el tirón

    adb pull /dev/block/mmcblk0 mmcblk0.img

Para aquellos que usan un sistema similar a Unix, use grepen lugar de FINDSTR;

./adb shell mount | grep -P "^/dev" | perl -pe 's/ .*//g' | sort -u
/dev/block/platform/msm_sdcc.1/by-name/cache
/dev/block/platform/msm_sdcc.1/by-name/modem
/dev/block/platform/msm_sdcc.1/by-name/persist
/dev/block/platform/msm_sdcc.1/by-name/system
/dev/block/platform/msm_sdcc.1/by-name/userdata
/dev/fuse
No puede adb pullun dispositivo, lo siento, así que no funcionará. Ni siquiera en recuperación.
Extraño. Si marca el error de extracción de ADB: el objeto remoto '/dev/block/mmcblk0p24' no es un archivo o directorio , simplemente dio remote object '/dev/block/mmcblk0' not a file or directory, que es lo que esperaba aquí.
@ user1133275 es posible que tenga un punto allí, pero dd if=/dev/block/mmcblk0 of=/sdcard/something.bintampoco debería haber funcionado. Si lo comprobó usted mismo y funcionó para usted, supongo que simplemente tenemos que creerle y agregar "es posible que esto no siempre funcione. Si no es así, use el otro enfoque" :)

si estás en shell, podrías usar sh en lugar de su

desde Windows, usando ADB, configure el dispositivo en una recuperación personalizada y luego desde una ventana cmd:

adb remount
adb root
adb shell

si se hace mientras el dispositivo está en modo de recuperación (y no en el cargador de arranque ni en la carga lateral ), se colocará en una línea de terminal/comando con " ~: " en lugar de " shell@android: " y luego continúe con:

cat /dev/block/mmcblk0 > /sdcard/mmcblk0.img

[entonces no hay necesidad de usar sh ya que ya está en shell] y luego abra otra ventana cmd separada desde su PC para extraer el archivo que creó (hace 20-30 minutos ****) y use:

adb pull /sdcard/mmcblk0.img

puede nombrar "mmcblk0.img" a lo que quiera, solo necesita un nombre de archivo de salida y una extensión

**** SIN EMBARGO, tenga cuidado y sea paciente cuando ejecute cat, porque la ventana cmd en Windows no mostrará nada mientras "crea" el archivo .img de 15 gb, solo mostrará un salto de línea en la ventana cmd y parecerá para no proporcionar ninguna respuesta mientras procesa su comando. Y sabrá que ha terminado cuando obtenga una nueva línea para ingresar un nuevo comando. dado que tiene más de 15 gb, si su dispositivo no tiene tanto espacio de almacenamiento para crear el archivo, puede cambiar la ruta de salida después de ">" a /storage/sdcard1/mmcblk0.img o lo que sea, pero asegúrese de tener un rápido (clase 10 o mejor) microsd porque 15 gb tomará un tiempo para escribir. Estimo alrededor de media hora en una micro sd externa.

aparte de eso, ¿por qué querrías extraer eso? Tendría más sentido si preguntas acerca de mmcblk0p05 o mmcblk0p03 pero ehh, si no planeas leer los binarios por hexadecimal, entonces supongo que cada hombre (o mujer) tiene lo suyo...

Si tengo razón, no has hecho nada malo excepto la forma en que corres su.
Desde su --help(SuperSU Versión 2.79):

Uso#2: su COMANDO DE INICIO DE SESIÓN...

Por lo tanto, debe ejecutar

C:\adb>adb shell su root busybox cat /dev/block/mmcblk0 > C:\1.bin

y todo está bien