Mi teléfono no tiene suficiente espacio para almacenar archivos de copia de seguridad, así que me pregunto si hay una manera de hacer copias de seguridad y restaurar Nandroid con archivos almacenados en la PC.
Mi teléfono no tiene suficiente espacio para almacenar archivos de copia de seguridad, así que me pregunto si hay una manera de hacer copias de seguridad y restaurar Nandroid con archivos almacenados en la PC.
Respuestas:
He escrito algunas herramientas exactamente para este propósito, debido a frustraciones similares: https://github.com/dlenski/tetherback
Estas herramientas están escritas en Python y se utilizan adb
para crear copias de seguridad de estilo nandroid (imágenes de partición sin dd if=/dev/block/mmcblk0pXX
formato de ) o copias de seguridad de estilo TWRP (mezcla de imágenes de partición sin formato y tarballs para ext4
particiones).
Intentan sondear el diseño de partición correcto y muestran el progreso de la copia de seguridad:
$ ./twrp_backup.py
Device reports TWRP kernel (3.4.0-bricked-hammerhead-twrp-g7b77eb4).
Reading partition map for mmcblk0 (29 partitions)...
partition map: 100% Time: 0:00:03
Saving TWRP backup images in twrp-backup-2016-03-17--18-53-12/ ...
Saving partition boot (mmcblk0p19), 22 MiB uncompressed...
boot.emmc.win: 100% Time: 0:00:05 3.10 MB/s
Saving tarball of mmcblk0p25 (mounted at /system), 1024 MiB uncompressed...
system.ext4.win: 2% ETA: 0:06:29 2.69 MB/s
Este es un trabajo en progreso: ¡los comentarios son muy bienvenidos!
Requisitos:
progressbar
Se necesita el paquete ( pip install progressbar
debería hacerlo)adb
(Android Debug Bridge) herramientas de línea de comandosEDITAR: Parece que la mayor parte del tráfico a https://github.com/dlenski/tetherback proviene de este hilo. Los primeros problemas con la corrupción de datos descritos en los comentarios a continuación se han resuelto; tetherback ahora incluye controles muy fuertes contra la corrupción.
gzip
modificación de L46 , pero dudo que este sea realmente el problema. ¿Estás ejecutando Linux o Windows? Desafortunadamente, bajo Windows, adb manipula los caracteres CRLF , lo que significa que es imposible transmitir una imagen binaria a través de ella usando la técnica que estoy usando. Puedo escribir una solución para esto si es necesario.
Un hilo sobre los desarrolladores de XDA describe cómo hacer una copia de seguridad de nandroid directamente en su computadora sin usar sdcard . Por supuesto, solo funciona en dispositivos rooteados. Los requisitos adicionales incluyen un sistema operativo Posix como Linux / MacOS (los usuarios de Windows pueden emular esto con Cygwin) y ADB (o bien todo el SDK, o al menos una instalación mínima ). Además, busybox
debe estar disponible en el dispositivo y la depuración USB activada.
El artículo describe paso a paso los comandos necesarios para crear una copia de seguridad de Nandroid. Básicamente, está usando dd a través de una tubería con nombre para crear una copia a nivel de bloque de las particiones de su dispositivo, lo que básicamente es una copia de seguridad nandroid .
Me di cuenta de que (si ya tiene ADB configurado, su teléfono está rooteado y está trabajando en un sistema Linux o similar) es posible volcar el contenido de la partición por una sola línea:
adb pull /dev/block/mmcblk0
Esto es lo mismo que se describe en el hilo XDA para obtener el contenido bit por bit de la memoria flash, excepto sin el baile con netcat y tuberías (que podría ser necesario o no dependiendo de las circunstancias, supongo). Obviamente, no se debe montar ninguna partición en la memoria flash mientras se copian los datos (es decir, hacerlo desde una recuperación mientras adb mount
no se enumeran las particiones montadas), de lo contrario, correrá el riesgo de una copia de seguridad inconsistente en lugares en los que Android decidió escribir datos en el tiempo de respaldo.
Tenga en cuenta que para restaurar un simple:
pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0
no funcionará, ya adb shell
que no admite tuberías. Pero si de alguna manera puede hacer un dd of=/dev/block/mmcblk0
en el dispositivo en sí, supongo que debería restaurar su copia de seguridad. Sin embargo, no confíes en mí en esto, también podría bloquear tu teléfono. No lo he probado todavía; Hasta ahora solo necesitaba recuperar una sola partición y dd
estaba bien para eso.
Settings > Developer> tap build 7 times
)Settings > Developer > USB Debugging
)usar la recuperación para evitar las limitaciones de la raíz del sistema operativo
./adb reboot recovery
hacer el tirón
./adb pull /dev/block/mmcblk0 mmcblk0.img