Mon téléphone n'a pas assez d'espace pour stocker les fichiers de sauvegarde. Je me demande donc s'il existe un moyen de faire une sauvegarde et une restauration de Nandroid avec les fichiers stockés sur le PC.
Réponses
Trop de publicités?J'ai écrit quelques outils pour exactement cette fin, en raison de frustrations similaires : https://github.com/dlenski/tetherback
Ces outils sont écrits en Python et utilisent adb
pour créer des sauvegardes de style nandroid (images de partition brutes à partir de dd if=/dev/block/mmcblk0pXX
) ou des sauvegardes de style TWRP (mélange d'images de partitions brutes et de tarballs pour les ext4
partitions).
Ils tentent de sonder la disposition correcte des partitions, et montrent la progression de la sauvegarde :
$ ./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
Il s'agit d'un travail en cours - les commentaires sont les bienvenus !
Exigences :
- Python 3.3+ sous Linux/OSX/Windows.
-
progressbar
est nécessaire (pip install progressbar
devrait le faire)
-
-
adb
(Android Debug Bridge) outils de ligne de commande - Appareil Android enraciné avec Récupération TWRP installé.
- Les conditions requises pour un appareil enraciné et une restauration personnalisée sont les suivantes ne disparaîtra jamais : si vous n'avez pas l'accès Root, vous n'avez aucun moyen de copier l'intégralité du contenu de la mémoire de votre appareil, c'est aussi simple que cela.
EDITAR: On dirait que la plupart du trafic vers https://github.com/dlenski/tetherback vient de ce fil. Les premiers problèmes de corruption de données décrits dans les commentaires ci-dessous ont tous été résolus ; tetherback inclut maintenant des contrôles très forts contre la corruption.
Un fil de discussion sur les développeurs XDA décrit Comment faire une sauvegarde de nandroid directement sur votre ordinateur sans utiliser de carte SD ? . Bien sûr, cela ne fonctionne que sur les appareils enracinés. Les autres conditions requises sont un système d'exploitation Posix comme Linux/MacOS (les utilisateurs de Windows peuvent l'émuler avec Cygwin), et ADB (donc soit le SDK complet, soit au moins une version de installation minimale ). De plus, busybox
doit être disponible sur l'appareil, et Débogage USB activé.
L'article décrit étape par étape les commandes nécessaires pour créer une sauvegarde Nandroid. En gros, il s'agit d'utiliser dd via un tuyau nommé pour créer une copie au niveau du bloc des partitions de votre appareil. nandroid sauvegarde en gros, c'est.
J'ai remarqué que (si vous avez déjà configuré ADB, que votre téléphone est enraciné et que vous travaillez sur un système Linux ou similaire) il est possible de vider le contenu de la partition en une seule ligne :
adb pull /dev/block/mmcblk0
C'est la même chose que ce qui est décrit dans le fil de discussion XDA pour obtenir le contenu bit à bit de la mémoire flash, mais sans la danse avec netcat et les tuyaux (qui peuvent être nécessaires ou non selon les circonstances, je suppose). Il est évident qu'aucune partition de la mémoire flash ne doit être montée pendant la copie des données (c'est-à-dire que vous devez le faire à partir d'une récupération pendant que vous êtes en train d'utiliser votre ordinateur). adb mount
ne liste pas les partitions montées), sinon vous risquez une sauvegarde incohérente aux endroits où Android a décidé d'écrire des données au moment de la sauvegarde.
Notez que pour restaurer un simple :
pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0
ne fonctionnera pas, car adb shell
ne prend pas en charge la tuyauterie. Mais si vous parvenez à faire un dd of=/dev/block/mmcblk0
sur l'appareil lui-même, je suppose qu'il devrait restaurer votre sauvegarde. Mais ne me faites pas confiance, cela pourrait aussi bien briquer votre téléphone. Je ne l'ai pas encore testé ; jusqu'à présent, je n'ai eu besoin de restaurer qu'une seule partition et je n'ai pas eu besoin de l'utiliser. dd
était bien pour ça.