Mein Telefon hat nicht genug Speicherplatz, um Sicherungsdateien zu speichern, daher frage ich mich, ob es eine Möglichkeit gibt, Nandroid-Sicherung und Wiederherstellung mit auf dem PC gespeicherten Dateien durchzuführen.
Ich habe aufgrund ähnlicher Frustrationen einige Tools für genau diesen Zweck geschrieben: https://github.com/dlenski/tetherback
Diese Tools sind in Python geschrieben und werden verwendet adb
, um Backups im Nandroid-Stil (Raw-Partitions-Images von dd if=/dev/block/mmcblk0pXX
) oder TWRP-Style-Backups (Mischung aus Raw-Partitions-Images und Tarballs für ext4
Partitionen) zu erstellen.
Sie versuchen, das richtige Partitionslayout zu prüfen, und zeigen den Fortschritt des Backups an:
$ ./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
Dies ist noch in Arbeit – Feedback ist sehr willkommen!
Anforderungen:
progressbar
Paket wird benötigt ( pip install progressbar
sollte es tun)adb
(Android Debug Bridge) BefehlszeilentoolsBEARBEITEN: Sieht so aus, als ob der meiste Datenverkehr zu https://github.com/dlenski/tetherback von diesem Thread stammt. Die in den Kommentaren unten beschriebenen frühen Probleme mit Datenkorruption wurden alle behoben; tetherback enthält jetzt sehr strenge Kontrollen gegen Korruption.
gzip
indem Sie L46 ändern , aber ich bezweifle, dass dies tatsächlich das Problem ist. Nutzt du Linux oder Windows? Leider verstümmelt adb unter Windows CRLF-Zeichen , was bedeutet, dass es unmöglich ist, ein binäres Bild mit der von mir verwendeten Technik zu übertragen. Notfalls kann ich dafür einen Workaround schreiben.Ein Thread über XDA-Entwickler beschreibt , wie Sie ein Nandroid-Backup direkt auf Ihrem Computer erstellen, ohne eine SD-Karte zu verwenden . Funktioniert natürlich nur auf gerooteten Geräten. Weitere Anforderungen sind entweder ein Posix-Betriebssystem wie Linux/MacOS (Windows-Benutzer können dies mit Cygwin emulieren) und ADB (also entweder das gesamte SDK oder zumindest eine minimale Installation ). Außerdem busybox
muss auf dem Gerät USB-Debugging verfügbar und aktiviert sein.
Der Artikel beschreibt Schritt für Schritt die Befehle, die zum Erstellen eines Nandroid-Backups benötigt werden. Grundsätzlich wird dd über eine Named Pipe verwendet , um eine Kopie der Partitionen Ihres Geräts auf Blockebene zu erstellen – was im Grunde ein Nandroid- Backup ist.
Mir ist aufgefallen, dass (wenn Sie ADB bereits konfiguriert haben, Ihr Telefon gerootet ist und Sie an einem Linux-System oder ähnlichem arbeiten) es möglich ist, den Partitionsinhalt mit einem einzigen Einzeiler zu sichern:
adb pull /dev/block/mmcblk0
Dies ist dasselbe wie im XDA-Thread beschrieben, um den Bit-für-Bit-Inhalt des Flash-Speichers abzurufen, außer ohne den Tanz mit netcat und Pipes (der je nach den Umständen erforderlich sein könnte oder nicht, denke ich). Offensichtlich sollte keine Partition auf dem Flash-Speicher gemountet werden, während die Daten kopiert werden (dh tun Sie es von einer Wiederherstellung, während adb mount
keine gemounteten Partitionen aufgelistet sind), sonst riskieren Sie ein inkonsistentes Backup an Stellen, an denen Android Daten schreiben wollte Zeitpunkt der Sicherung.
Beachten Sie, dass für die Wiederherstellung ein einfaches:
pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0
funktioniert nicht, da adb shell
Rohrleitungen nicht unterstützt werden. Aber wenn Sie irgendwie dd of=/dev/block/mmcblk0
auf dem Gerät selbst etwas tun können, sollte es Ihre Sicherung wiederherstellen. Vertrauen Sie mir aber nicht, es könnte genauso gut Ihr Telefon mauern. Ich habe es noch nicht getestet; Bisher musste ich nur eine einzelne Partition wiederherstellen und dd
das war in Ordnung.
Settings > Developer> tap build 7 times
)Settings > Developer > USB Debugging
)Verwenden Sie die Wiederherstellung, um Betriebssystem-Root-Einschränkungen zu vermeiden
./adb reboot recovery
den Zug machen
./adb pull /dev/block/mmcblk0 mmcblk0.img
VarnerBeast14