25 votos

¿Hay alguna manera de hacer una copia de seguridad de Nandroid directamente a la PC y luego restaurar directamente desde la PC también?

Mi teléfono no tiene suficiente espacio para almacenar los archivos de copia de seguridad, así que me pregunto si hay una manera de hacer copia de seguridad Nandroid y restaurar con los archivos almacenados en el PC.

1 votos

Dudo que haya alguna forma de hacerlo. Deberías intentar hacer una copia de seguridad en una tarjeta SD externa y luego transferirla al ordenador. O simplemente mover suficientes archivos a su computadora para que pueda crear y restaurar la copia de seguridad en su teléfono y luego mover los archivos de nuevo cuando haya terminado.

15voto

Chris Joyce Puntos 1

He escrito algunas herramientas para exactamente este propósito, debido a frustraciones similares: https://github.com/dlenski/tetherback

Estas herramientas están escritas en Python y utilizan adb para crear copias de seguridad al estilo nandroid (imágenes de partición en bruto de dd if=/dev/block/mmcblk0pXX ) o copias de seguridad estilo TWRP (mezcla de imágenes de partición en bruto y tarballs para ext4 particiones).

Intentan sondear la disposición correcta de las particiones 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  

Se trata de un trabajo en curso, por lo que los comentarios son bienvenidos.

Requisitos:

  • Python 3.3+ bajo Linux/OSX/Windows.
    • progressbar es necesario el paquete ( pip install progressbar debería hacerlo)
  • adb (Android Debug Bridge) herramientas de línea de comandos
  • Dispositivo Android rooteado con Recuperación TWRP instalado.
    • El requisito para un dispositivo rooteado y un recovery personalizado es nunca va a desaparecer Si no tienes acceso Root, entonces no tienes medios para copiar todo el contenido de la memoria de tu dispositivo, así de simple.

EDITAR: Parece que la mayor parte del tráfico hacia https://github.com/dlenski/tetherback viene de este hilo. Los primeros problemas de corrupción de datos descritos en los comentarios de abajo se han resuelto; tetherback ahora incluye controles muy fuertes contra la corrupción.

0 votos

En primer lugar gracias por hacer el programa. Parece que funciona bien, excepto que cuando uso nandroid.py los archivos más grandes, como el system.img.gz y el userdata.img.gz, fallan al descomprimir el gzip. El "crc falla" y produce un archivo img de aproximadamente 1/5 del tamaño del archivo img.gz. Sin embargo, el bootloader.img.gz se descomprime bien. ¿Hay alguna forma de desactivar el gzipping o conoces otra manera de arreglar el archivo corrupto?

1 votos

@I'm_With_Stupid, puedes desactivar el gzip modificando L46 pero dudo que este sea realmente el problema. ¿Utilizas Linux o Windows? Lamentablemente, en Windows adb manipula los caracteres CRLF Es decir, es imposible transmitir una imagen binaria a través de ella con la técnica que estoy utilizando. Puedo escribir una solución para esto si es necesario.

0 votos

Además, si puedes proporcionar más detalles, por favor, añádelo como un New Issue en el repositorio de Github porque así es más fácil de seguir.

9voto

Hudayfah Puntos 1

Un hilo en XDA developers describe Como hacer una copia de seguridad de nandroid directamente en el ordenador sin usar la sdcard . Por supuesto, sólo funciona en dispositivos rooteados. Otros requisitos incluyen un sistema operativo Posix como Linux/MacOS (los usuarios de Windows pueden emularlo con Cygwin), y ADB (así que o bien el SDK completo, o al menos un instalación mínima ). Además, busybox debe estar disponible en el dispositivo, y Depuración USB activado.

El artículo describe paso a paso los comandos necesarios para crear una copia de seguridad de Nandroid. Básicamente, se trata de utilizar dd a través de un tubo con nombre para crear una copia a nivel de bloque de las particiones de su dispositivo - qué nandroid copia de seguridad básicamente es.

2 votos

Gracias por la indicación, @Hudayfah. Pero mientras que los mensajes de sólo enlace pueden teóricamente responder a la pregunta, sería preferible para incluir las partes esenciales de la respuesta aquí, y proporcionar el enlace como referencia. De lo contrario, la respuesta se vuelve inútil en caso de que el enlace muera. He actualizado tu post para mostrar cómo puede ser, para ayudarte en lo que respecta a futuros posts (que espero que hagas :) ¡Una cálida bienvenida a nuestra comunidad incluida!

0 votos

Además, ¿cómo se puede restaurar esta copia de seguridad, suponiendo que sólo tiene acceso a fastboot o tal vez adb en la recuperación?

0 votos

¿por qué debe estar rooteado?

4voto

jmanning2k Puntos 3354

Me he dado cuenta de que (si ya tienes configurado el ADB, tu teléfono está rooteado y trabajas en un sistema Linux o similar) es posible volcar el contenido de la partición con una sola línea:

adb pull /dev/block/mmcblk0

Esto es lo mismo que se describe en el hilo de XDA para obtener el contenido bit a bit de la memoria flash, excepto que sin el baile con netcat y pipes (que puede ser necesario o no dependiendo de las circunstancias, supongo). Obviamente ninguna partición de la memoria flash debe estar montada mientras se copian los datos (es decir, hacerlo desde un recovery mientras adb mount no lista ninguna partición montada), de lo contrario te arriesgarás a tener una copia de seguridad inconsistente en lugares en los que Android decidió escribir datos en el momento de la copia de seguridad.

Tenga en cuenta que para restaurar un simple:

pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0

no funcionará, ya que adb shell no admite tuberías. Pero si de alguna manera se puede hacer un dd of=/dev/block/mmcblk0 en el propio dispositivo, supongo que debería restaurar su copia de seguridad. Sin embargo, no te fíes de esto, ya que podría brickear tu teléfono. Todavía no lo he probado; hasta ahora sólo he necesitado recuperar una sola partición y dd estaba bien para eso.

2voto

zhaorufei Puntos 101
  1. Mostrar opciones de desarrollo ( Settings > Developer> tap build 7 times )

  2. Activar la depuración USB ( Settings > Developer > USB Debugging )

  3. Utilizar la recuperación para evitar las limitaciones de OS Root

    ./adb reboot recovery

  4. hacer el tirón

    ./adb pull /dev/block/mmcblk0 mmcblk0.img

1 votos

¿Cómo puedo restaurar dicha copia de seguridad?

1 votos

@Suma con adb push (o montar la img y copiar los archivos de interés)

0 votos

¿Android te permitirá acceder a la totalidad del almacenamiento interno tan fácilmente?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X