Ponsel saya tidak memiliki cukup ruang untuk menyimpan file cadangan, jadi saya ingin tahu apakah ada cara untuk melakukan backup dan mengembalikan Nandroid dengan file yang disimpan di pc.
Ponsel saya tidak memiliki cukup ruang untuk menyimpan file cadangan, jadi saya ingin tahu apakah ada cara untuk melakukan backup dan mengembalikan Nandroid dengan file yang disimpan di pc.
Jawaban:
Saya telah menulis beberapa alat untuk persis tujuan ini, karena frustrasi yang sama: https://github.com/dlenski/tetherback
Alat-alat ini ditulis dengan Python dan digunakan adb
untuk membuat cadangan gaya nandroid (gambar partisi mentah dari dd if=/dev/block/mmcblk0pXX
) atau cadangan gaya TWRP (campuran gambar partisi mentah dan tarball untuk ext4
partisi).
Mereka mencoba menyelidiki tata letak partisi yang benar, dan menunjukkan kemajuan cadangan:
$ ./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
Ini adalah pekerjaan yang sedang berjalan — umpan balik sangat disambut baik!
Persyaratan:
progressbar
paket diperlukan ( pip install progressbar
harus melakukannya)adb
(Android Debug Bridge) alat baris perintahEDIT: Sepertinya sebagian besar lalu lintas ke https://github.com/dlenski/tetherback berasal dari utas ini. Masalah awal dengan korupsi data yang dijelaskan dalam komentar di bawah ini semuanya telah diselesaikan; tetherback sekarang termasuk pemeriksaan yang sangat kuat terhadap korupsi.
gzip
dengan memodifikasi L46 , tapi saya ragu ini sebenarnya masalahnya. Apakah Anda menjalankan Linux atau Windows? Sayangnya, di bawah Windows adb merusak karakter CRLF , artinya tidak mungkin untuk mengirimkan gambar biner melalui itu menggunakan teknik yang saya gunakan. Saya bisa menulis solusi untuk ini jika perlu.
Utas pada pengembang XDA menjelaskan Cara membuat backup nandroid langsung ke komputer Anda tanpa menggunakan sdcard . Tentu saja itu hanya berfungsi pada perangkat yang di-rooting. Persyaratan lebih lanjut termasuk OS Posix seperti Linux / MacOS (pengguna Windows dapat meniru ini dengan Cygwin), dan ADB (jadi seluruh SDK, atau setidaknya instalasi minimal ). Selain itu, busybox
harus tersedia di perangkat, dan USB debugging diaktifkan.
Artikel ini menjelaskan langkah demi langkah perintah yang diperlukan untuk membuat cadangan Nandroid. Pada dasarnya, ini menggunakan dd melalui pipa bernama untuk membuat salinan tingkat blok partisi perangkat Anda - apa sebenarnya cadangan nandroid .
Saya perhatikan bahwa (jika Anda sudah mengkonfigurasi ADB, telepon Anda di-rooting dan Anda bekerja pada sistem Linux atau sejenisnya) dimungkinkan untuk membuang konten partisi dengan satu baris:
adb pull /dev/block/mmcblk0
Ini sama dengan apa yang dijelaskan dalam utas XDA untuk mendapatkan konten flash memori bit-for-bit, kecuali tanpa tarian dengan netcat dan pipa (yang mungkin diperlukan atau tidak tergantung pada keadaan, saya kira). Jelas tidak ada partisi pada memori flash yang harus dipasang saat menyalin data (mis. Lakukan dari pemulihan sementara adb mount
tidak mencantumkan partisi apa pun yang dipasang), jika tidak, Anda akan menghadapi risiko cadangan yang tidak konsisten di tempat-tempat yang Android memutuskan untuk menulis data di waktu cadangan.
Perhatikan bahwa untuk mengembalikan yang sederhana:
pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0
tidak akan berfungsi, karena adb shell
tidak mendukung perpipaan. Tetapi jika Anda entah bagaimana dapat melakukan dd of=/dev/block/mmcblk0
pada perangkat itu sendiri, saya kira itu harus mengembalikan cadangan Anda. Tapi jangan percaya padaku, ini mungkin juga merusak ponselmu. Saya belum mengujinya; sejauh ini saya hanya perlu memulihkan satu partisi dan dd
baik-baik saja untuk itu.
Settings > Developer> tap build 7 times
)Settings > Developer > USB Debugging
)gunakan pemulihan untuk menghindari keterbatasan root OS
./adb reboot recovery
lakukan tarikan
./adb pull /dev/block/mmcblk0 mmcblk0.img