Te būs mazliet par to, ko reti kurš zin. Tiem, kuri nopērk bakstāmo tālruni, un lieto to pēc instrukcijām ar “stock” programmatūru, šis vienkārši nav vajadzīgs. Bet vesela armija censoņu cenšas savam komunikācijas rīkam uzmānīt root tiesības, nomainīt firmwari, Linux kodola versiju, un veikt visādus citādus brīnumus. Kamēr viss upgrade norit korekti, parasti nav arī problēmu. Bet dažs labs noslinko pārbaudīt kontrolsummas; gadās, ka procesā USB vads izlido no telefona, vai jaunā firmware vispār neder šim modelim, un tad rodas klasiskais fenomens, kam vārds ir ķieģelis.
Labi, ja tiekam cauri ar pusķieģeli, un var vismaz ielīst iekš Recovery, lai salabotu sava stulbuma sekas. Bet ja aparātiņš kļuvis pilnīgi mēms, un arī pie datora nereaģē uz adb un fastboot komandām? Tas nozīmē, ka bootloaderis ir nolidojis kopā ar partīciju tabulu. Un tad nu lietotāju rīcība dalās: vieni brēc “mamm, palīgā!”, otri steidz uz servisa darbnīcu, kur īpaši profesionāli meistari piedāvās par 100 eirikiem nomainīt mātesplati. Trešie vienkārši piedzersies un ieslīgs depresijā. Bet maz kurš zinās, ka gudrā Google ir vienā no 20+ sistēmas partīcijām noglabājusi rezerves bootloaderi!
Tad nu atliek nograuto dabūt atpakaļ. Tie, kuriem telefons rootots un apgādāts ar busybox, var apskatīties, ka štata bootloaderis ar nosaukumu aboot apslēpts 12. (Nexus 4) un 6. partīcijā (Nexus 5). Savukārt attiecīgi bootloadera rezerves kopija abootb meklējama 15. un 11. partīcijā. Jā – te nav nekāds Windows, Androidam partīciju ir ļoti daudz.
adb shell busybox fdisk /dev/block/mmcblk0
[img]https://notepad.lv/userpix/28_n4_4.jpg[/img]
[img]https://notepad.lv/userpix/28_n5_3.jpg[/img]
Lai salabotu nograuto bootloaderi, iestartējam tālruni ar vienlaicīgu pogu [Vol Up + Power] nospiešanu. Tad pieturam vienlaicīgi trīs pogas [Vol Up + Vol Down + Power]. Ja bootloaderis nebūs bijis vainīgs – šī kombinācija nemaz nestrādās. Tālāk slēdzam savu Nexus pie PC, un restaurējam sāknētāju. Š ī operācija atjaunos arī partīciju tabulu; līdz ar to varēs instalēt tālāk.
Nexus 4:
$ adb shell
> su
> dd if=”/dev/block/mmcblk0p15″ of=”/dev/block/mmcblk0p12″
Nexus 5:
$ adb shell
> su
> dd if=”/dev/block/mmcblk0p11″ of=”/dev/block/mmcblk0p6″
Noteikti, ka šie nav vienīgie viedtālruņi ar bootloadera rezerves kopiju. Bet tas katram jānoskaidro pašam.
Avots: Xakep #4 2015 drukātā versija