Así que esto es lo que quiero extraer: mmcblk0
con 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 pull
pero parece que tampoco funciona.
¿Qué debo hacer para obtener este mmcblk0 de 15,7 GB?
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.
Settings > Developer> tap build 7 times
)Settings > Developer > USB Debugging
)use la recuperación TWRP para evitar las limitaciones de la raíz del sistema operativo
adb reboot recovery
revisa tus puntos de montaje
adb shell mount | FINDSTR /R /C:"^/dev"
haz el tirón
adb pull /dev/block/mmcblk0 mmcblk0.img
Para aquellos que usan un sistema similar a Unix, use grep
en 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
adb pull
un dispositivo, lo siento, así que no funcionará. Ni siquiera en recuperación.remote object '/dev/block/mmcblk0' not a file or directory
, que es lo que esperaba aquí.dd if=/dev/block/mmcblk0 of=/sdcard/something.bin
tampoco 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
davidelminion