發表文章

目前顯示的是 1月, 2018的文章

[筆記] 解壓縮 TWRP Recovery 透過 adb backup 產生的備份檔

圖片
想必找到這篇的人應該心裡很急,先用半調子解決方案作為開頭(假設想解壓的空白目錄是output,輸入為backup.ab): cd  output dd if='backup.ab' bs=512 skip=1 | tar fxiv - 先在此掃興,輸出不太好用,這結果只適合用來拯救帳號等重要資訊。所有資料都還是完整的,但輸出時所有分割區會混成一片;如果讀取檔案的 header 或者利用輸出檔案的時間做切割,應該就可以完整的還原分割區的樣貌。 接下來敘述一下這兩行指令背後的故事。 在期末考前這幾天,手機體感越來越慢,突然腦袋一抽就去 xda 上找了 Android 8.0 AOSP 的 ROM 刷進我年事已高的 2S 中,作者表示 GPU 的嚴重問題已經解決了,於是就放心的刷入。 當然在刷機之前要做 nandroid 備份,基於 2S 沒有記憶卡,且 TWRP 新增了 adb backup 的功能,備份勢必無後顧之憂。於是: adb backup backup.ab  --twrp system cache data boot 災難由此開始。 備份過程一切順利,產生檔案大小符合預期,TWRP表示備份成功,/sdcard需要手動備份在預料之中,完美。刷入新 ROM,感覺手機像新的一樣,用起來只有爽能形容,遊戲也不會 lag 了,只可惜考試離100分越來越遠。 雖然帳號等等大多做了獨立的備份,繼承碼和綁定也確認完成,但不曉得為什麼腦子抽了---有個不常玩的遊戲(但有著難得的卡,CC日板惠惠突滿!EXPLOSION!!)沒有設定到繼承碼。好險,有備份!先還原舊版系統拿到繼承碼就好。 然而,俗話有云,備份直到還原之前都不知道是不是有效的備份。這個 nandroid 備份就是近乎無效的備份。 執行adb restore,TWRP 只會還原 /system ,就很開心的停下表示 succeed。跟文件說的 all or nothing 完全不同,屢試不爽。新系統的備份沒用,原本系統的備份也不能用,資料大爆裂。 情急之下搜尋到了這篇: https://android.stackexchange.com/questions/171638/extract-twrp-backups-made-with-adb 指令都不能用,加上