Opis sposobu na zrobienie backupu dowolnej partycji. Można zrobić też zrzut całej pamięci telefonu. Po co? Kopia zapasowa pamięci zawierającej wszelkie informacje potrzebne dla działania modułów radiowych (GSM, WiFi, BT etc.) umożliwi nam naprawienie zepsutego telefonu (np. po wgraniu złego softu lub po innych modyfikacjach typu flashowanie niskopoziomowe - ratowanie) Na MTK wystarczy zrobić backup nvram z procesorami Qualconm już tych partycji np. z IMEI jest wqięcej. Można również zrobić kopię systemu a później przywrócić poprzez fastboot. Przydatne do ratowania systemu. MTK a Qualcomm Dla procesorów MTK mamy narzędzie o nazwie MTK Droid Tools (MTK Droid Root & Tools v2.5.3): http://forum.xda-developers.com/showthread.php?t=2160490 Nic jednak nie stoi na przeszkodzie żeby zrobić backup partycji NVRAM na MTK sposobem z tego tematu. MTK przechowuje IMEI w pamięci NVRAM. Qualcomm najprawdopodobniej na kilku partycjach: MODEMST1, MODEMST2 oraz FSC Potrzebne narzędzia: Przeczytanie FAQ: http://miuipolska.pl/adb-dzialaniefunkcjeprzyklady-dla-wszystkich/Sterowniki adb:http://developer.android.com/sdk/win-usb.html#top http://www.mediafire.com/download/byub0kqkbb4dgq1/latest_usb_driver_windows.zip Program adb.exe. Polecam zainstalować sobie Minimal ADB and Fastboot: http://forum.xda-developers.com/showthread.php?t=2317790Do listowania partycji. Binarka programu parted: http://www.mediafire.com/download/a6lsudghd3h1jwp/parted.ziplub z załącznika w pierwszym poście: http://forum.xda-developers.com/showthread.php?t=2450045 SHA1 4b47b45d44581a85588b0cecd5fc97b57044211d Lista partycji - prosty sposóbWłącz w telefonie tryb debugowania USBPodłącz do komputera i zainstaluj sterowniki ADBZainstaluj pakiet minimal ADBPrzejdź w konsoli CMD do ścieżki gdzie znajduje się program adb.exe np.:cd /d "C:\Program Files (x86)\Minimal ADB and Fastboot" Wykonaj poniższe polecenia: adb devices
adb shell
---
w powłoce telefonu
---
su
mount
Odczytujemy linijkę dla partycji /system: /dev/block/bootdevice/by-name/system /system ext4 rw,seclabel,relatime,discard,data=ordered 0 0 Interesuje nas ciąg do by-name Wykonaj polecenie zmieniajac odpowiednio ciąg /dev/block/bootdevice/by-name: ls -la /dev/block/bootdevice/by-name jeśli chcemy zapisać to w pliku na teleonie: ls -la /dev/block/bootdevice/by-name >> /sdcard/ls.txt I odczytaj plik ls.txt w telefonie. Lub można od razu zapisać na komputerze poleceniem (wychodzimy z shella telefonu CTR+C lub CTRL+D): adb shell ls -la /dev/block/bootdevice/by-name >> ls.txt Odczytaj ścieżkę partycji: np. dla system mamy symlinka do /dev/block/mmcblk0p26. Więc jeśli chcemy zrobić kopię partycji system to robimy kopię /dev/block/mmcblk0p26. Tworzenie kopii zapasowejPokażę na przykładzie listy wyżej. Charakterystyczny rozmiar 1573kB. Odczytujemy numer partycji jeśli korzystamy z parted lub innych progamów: Lub odczytujemy ścieżkę podobną do z polecenia ls:/dev/block/mmcblk0p26 UWAGA: błąd w poleceniu dd może mieć nieodwracalne skutki! "if" (ang. input file - plik wejściowy) - czyli nasza partycja "of" (ang. output file - plik wyjściowy) - kopia na karcie pamięci Jeśli partycja miała numer 12 to robimy kopię mmcblk0p12 (nazwa: modemst1) do pamięci wewnętrznej. Tak samo postępujemy z kolejnymi: dd if=/dev/block/mmcblk0p12 of=/sdcard/mmcblk0p12_modemst1
dd if=/dev/block/mmcblk0p13 of=/sdcard/mmcblk0p13_modemst2
dd if=/dev/block/mmcblk0p23 of=/sdcard/mmcblk0p23_fsg
Gotowe. Możesz teraz przenieść te 3 pliki z pamięci telefonu w bezpieczne miejsce. Backup tablicy partycjiWyżej mamy opis zrobienia kopii zawartości partycji. Tutaj postaram się umieścić opis jak zrobić kopię tablicy partycji, żeby można ją było odtworzyć. Pierwszy sposób: ręczny odczyt sektorów przez dd: http://forum.xda-developers.com/showpost.php?p=33359023&postcount=5 Drugi sposób to kopia za pomocą gdisk na andorida: http://www.mediafire.com/download/2kc5jnmj5dp74y5/gptfdisk.zip Problemy Błędy Permission denied będą sie wyświetlać jeśli: nie wykonujemy poleceń jako rootnie zamontowaliśmy partycji systemowej do zapisu (adb remount lub adb shell "su" "" "mount -o remount,rw /system")nie mamy zrootowanego telefonubłąd adb push adb push parted /system/bin/parted
Można to ominąć robiąc wszystko jako root. Można wgrać ręcznie plik parted na pamięć telefonu, zamontować systemową partycję do zapisu i nadać chmod. adb push parted /sdcard/parted
(w razie błędu wgraj ręcznie plik parted na pamięć telefonu)
adb shell
--
w shellu telefonu
--
su
mount -o remount,rw /system
cp /sdcard/parted /system/bin
chmod 0755 /system/bin/parted
Opis partycjiŹródło opisów: http://forum.xda-developers.com/showthread.php?t=1959445 GPT - GUID Partition Tablesbl1 - secondary bootloader, sbl1bak - kopia sbl1aboot - AP Bootloader, abootbak - kopia abootrpm - Resource and Power Manager, rpmbak - kopia rpmtz- trust zone, tzbak - kopia tzhyp - ??????????????padmodemst1 - IMGEFS1 (NV Data)modemst2 - IMGEFS2 (NV Data)misc fsc???????????????SSD - Secure Software Downloadsplash - ?????????keystore ????????config ??????????oem ??????????DDR ??????modem - CP binaryFSG - Golden Copysec ????????boot - Kernelsystem - Android /systempersist - PersistInfo: http://forum.xda-developers.com/google-nexus-5/general/guide-to-fix-persist-partition-t2821576 cache - Cache. Może zawierać skrypty uruchamiane przy pierwszym włączeniu telefonurecovery - userdata lub data- Najczęściej opisana jako pamięć telefonu. Na przykładzie Xiaomi RedMi Note LTE Dual SIMLista plików znajdujących się w obrazach FastBoot od xiaomi:(czyli tych do postawienia systemu) fastboot %* flash tz %~dp0images\tz.mbn || @echo "Flash tz error" && exit /B 1
fastboot %* flash sbl1 %~dp0images\sbl1.mbn || @echo "Flash sbl1 error" && exit /B 1
fastboot %* flash rpm %~dp0images\rpm.mbn || @echo "Flash rpm error" && exit /B 1
fastboot %* flash aboot %~dp0images\emmc_appsboot.mbn || @echo "Flash emmc_appsboot error" && exit /B 1
fastboot %* flash hyp %~dp0images\hyp.mbn || @echo "Flash hyp error" && exit /B 1
fastboot %* flash tzbak %~dp0images\tz.mbn || @echo "Flash tzbak error" && exit /B 1
fastboot %* flash sbl1bak %~dp0images\sbl1.mbn || @echo "Flash sbl1bak error" && exit /B 1
fastboot %* flash rpmbak %~dp0images\rpm.mbn || @echo "Flash uboot rpmbak" && exit /B 1
fastboot %* flash abootbak %~dp0images\emmc_appsboot.mbn || @echo "Flash abootbak error" && exit /B 1
fastboot %* flash hypbak %~dp0images\hyp.mbn || @echo "Flash hypbak error" && exit /B 1
fastboot %* flash modem %~dp0images\NON-HLOS.bin || @echo "Flash modem error" && exit /B 1
fastboot %* flash system %~dp0images\system.img || @echo "Flash system error" && exit /B 1
fastboot %* flash cache %~dp0images\cache.img || @echo "Flash cache error" && exit /B 1
fastboot %* flash userdata %~dp0images\userdata.img || @echo "Flash userdata error" && exit /B 1
fastboot %* flash recovery %~dp0images\recovery.img || @echo "Flash recovery error" && exit /B 1
fastboot %* flash boot %~dp0images\boot.img || @echo "Flash boot error" && exit /B 1
fastboot %* flash sec %~dp0images\sec.dat || @echo "Flash sec error" && exit /B 1
fastboot %* flash splash %~dp0images\splash.img || @echo "Flash splash error" && exit /B 1
Lista partycji, których warto zrobić backup, których nie ma a obrazach fastbootprzykład Xiaomi RedMi Note LTE Dual SIM 11 6309kB 7357kB 1049kB pad
12 7357kB 8930kB 1573kB modemst1
13 8930kB 10.5MB 1573kB modemst2
14 10.5MB 11.6MB 1049kB misc
15 11.6MB 11.6MB 1024B fsc
16 11.6MB 11.6MB 8192B ssd
18 22.0MB 22.6MB 524kB keystore
20 22.6MB 89.7MB 67.1MB oem
21 134MB 134MB 32.8kB DDR
23 201MB 203MB 1573kB fsg
27 1847MB 1881MB 33.6MB ext4 persist
Źródła podstawowych opisów:http://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/ Dopóki nie znajdę jakiegoś schematu to niestety nie uzupełnię opisów. Źródła: http://forum.xda-developers.com/showthread.php?t=2450045http://forum.xda-developers.com/showthread.php?t=2317790http://en.miui.com/thread-59832-1-1.htmlPosty użytkowników: http://miuipolska.pl/forum/topic/5795-backup-nvram/Lista partycji - sposób zaawansowanyZanim zaczniemy tworzyć obrazy partycji musimy dowiedzieć się które urządzenie blokowe to te właściwe. Włącz w telefonie tryb debugowania USBPodłącz do komputera i zainstaluj sterowniki ADBZainstaluj pakiet minimal ADBPrzejdź w konsoli CMD do ścieżki gdzie znajduje się program adb.exe np.: cd /d "C:\Program Files (x86)\Minimal ADB and Fastboot"Wypakuj plik parted do folderu z adb.exe.Wykonaj po kolei poniższe polecenia: adb devices
adb root
adb remount
adb push parted /system/bin/parted
adb shell cat /proc/partitions >> partitions.txt
adb shell mount >> mount.txt
adb shell
-------------
teraz pracujemy w konsoli telefonu
-------------
su
chmod 0755 /system/bin/parted
parted /dev/block/mmcblk0
print
exit
CTRL+C
CTR+D
Powinna wyświetlić nam się lista partycji z etykietami (przyjaznymi nazwami): Zapisujemy sobie numery interesujących nas partycji z pierwszej kolumny. (modemst1, modemst2, fsg). Będą różne dla różnych modeli.W plikach partitions.txt i mount.txt mamy informacje o dokładnych pozycjach poszczególnych partycji (sektor początkowy i końcowy) oraz o zamontowanych partycjach.