綁定帳號登入

Android 台灣中文網

漫畫聯合國

[教學] 從2.10.709.1[ROOT] 到 3.36.709.3 一點小心得

[複製連結] 查看: 2549|回覆: 6|好評: 0
ekids1234 | 收聽TA | 顯示全部樓層 |閱讀模式
發表於 2016-2-21 23:05

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x

我就直接說方法了,如板上文章所敘,不過在多加點注意事項。

我的手機是8月買的,所以8月更新到最新就是2.10.709.1
如果跟我一樣的人,跟我做差不多的事情應該能高機率成功。
其他版本就是類似做法


1.把system分區還原回去 + read only


參考這篇

[ROM] [NANDroid] HTC One M9 | TWRP Backup | Asia TW | 2.10.709.6


值得注意的是,請對照當前版本下載。

我原本想說 : 我直接抓2.10.709.6版就好了  跳過一次OTA
但抓完想想不對,系統備份還原回去應該是建立在同個版本上


2.把官方recovery刷回去


這個部分---是我遇到的最大問題。

首先,我的版本是2.10.709.1
但是我按照網路上的資源,把 [ recovery_M9_1.32.709.14 ] 這個官方recovery刷進去  
卻一直沒成功  跑出

error in @/cache/recovery/block.map

這個東西。

於是我又還原了好幾次,重新OTA,都還是一樣。

後來我又綜合很多文章,大概猜測除了檢驗system分區外應該也會檢查recovery吧
所以我是直接提取 [2.10.709.1 升 2.10.709.6的OTA壓縮檔]裡面的[firmware.zip],裡面有[recovery.img]
直接刷進去。

於是問題解決,正常OTA了。

***此方法我不確定是否正確,照理來說---我應該是要刷 [1.40.709.8 更新到 2.10.709.1 的OTA檔裡面的recovery.img]
但...會不會是剛好版本一樣,還是我這個"預先刷OTA檔裡面的recovery是件


3.OTA

reboot system 然後去軟體更新~
2.10.709.1 升 2.10.709.6 的時候,一直跑完100%又繼續重跑是正常的,為此更新中其實我頗害怕失敗的XD



「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

terafrost | 收聽TA | 顯示全部樓層
發表於 2016-2-21 23:32
本帖最後由 terafrost 於 2016-2-21 23:34 編輯

我也有遇到小小問題,升級步驟略跟樓主不同。

1.手機firmware為2.10.709.1,fastboot oem rebootRUU指令先刷入2.10.709.6的firmware。

2.TWRP 2.8.7中還原2.10.709.6的原廠ROM(這是我自己備份的,網友有提供亦可)

3.TWRP改回system read only,然後刷回原廠recovery

4.手機上網直接OTA更新6.0。

以上是最後成功更新的步驟。

遇到的問題:
做完前三步驟後,第四步OTA更新一直失敗,進度條升到20%就會跳紅色驚嘆號手機畫面,無法OTA

後來解決的方式:第二步還原時,先用TWRP砍掉系統(system),再來還原ROM。
wipe試過了一樣沒用,可能先前第三方ROM在system新增了某某東西,結果直接還原ROM卻讓system被檢查出不乾淨而更新失敗吧?~~~以上純臆測

沒有看到任何錯誤訊息,就一個紅色驚嘆號+手機的畫面,搞得我也不曉得錯哪裡,只好砍光光。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

sabpprook | 收聽TA | 顯示全部樓層
發表於 2016-2-22 12:19
M9 OTA 正確方式

節錄一部分 OTA 更新腳本

# Htc Script Version: L51QCT.01.103.029

ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.6:user/release-keys" ||
    getprop("ro.build.fingerprint") == "htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.180:user/release-keys" ||

    abort("Package expects build fingerprint of htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.6:user/release-keys or htc/himauhl_htc_asia_tw/htc_himauhl:5.1/LMY47O/576582.180:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
(range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1") == "bc92459f1799a76019f15b2cc6150f0e32369abf") || (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1") == "fcdb1b6cb9be274514a57476fb89aaf5b44f4c59") || update_has_interrupt("") == "t" || abort("/dev/block/bootdevice/by-name/system has been remounted R/W; reflash device to reenable OTA updates");
if (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1146880") == "393cc5514f9dd7c59c73007191b294e87c70598c" || update_has_interrupt("") == "t") then
ui_print("Verified system image...");
else
  (range_sha1("/dev/block/bootdevice/by-name/system", "2,0,1146880") == "725b58ba128f643fe0cfc8e3906b3ed406984170") ||
  abort("system partition has unexpected contents");
endif;

由此可知,OTA更新會驗證 recovery 版本與 system 分區之 sha-1 校驗碼

假設從 2.10.709.1 更新至 2.10.709.6
必須先刷回 2.10.709.1 版本之 system 與 recovery image


還原步驟

  • TWRP 中勾選 mount system read-only (系統分區唯讀)
  • 抹除 Cache、Dalvik Cache、System 這三個分區
  • 還原 boot、system_image
  • 重新開機至 download 模式刷入原廠 recovery

完成以上步驟後即可無痛進行 OTA 更新



評分

參與人數 1幫助 +1 收起 理由
terafrost + 1 偶像,看完你的內容,讓我找到了活著的意義.

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

boss671220 | 收聽TA | 顯示全部樓層
發表於 2016-2-22 22:48
請問誰有2.10.709.6要升到3.36.709.3原廠 recovery,我在這次更新的OTA抓的 recovery都不能用



點評

https://drive.google.com/file/d/0B62zVliqKyLBYnU4NDZyVEY1RzA/view?usp=sharing  發表於 2016-2-25 15:42
如果是刷2.10.709.1--->2.10.709.6的OTA包的recovery呢?  發表於 2016-2-25 15:40
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

berlinlu | 收聽TA | 顯示全部樓層
發表於 2016-12-3 23:45
由 手機網頁 發佈
解決了嗎?  可以直接用ad b直接刷成6.0
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則