2010-05-05

Magic 官方韌體線上更新 (751.5+751.6) 並保留 Root

之前提到將 Magic 成功改機、還原成穩定的官方韌體並保留 Root 權限後,感覺已經天下太平了,結果冷不防 HTC 在二月的時候又來更新程式,而且還是線上更新的模式!快樂改過機的用戶,突然收到更新通知時,到底該不該執行啊?有勇者毅然決然地同意後,會因為「驗證失敗」導致更新失敗(還沒開始就中斷了),難道改過機的人不能繼續使用 HTC 的線上更新嗎?

首先,要能收到線上更新通知,記得更新檢查要先打開。相關設定在「設定」、「安全性」、「韌體下載」的選項裡,記得裡面選擇「下載提示」,才有機會收到通知。再來,這些線上更新內容是什麼,有沒有必要一定要上呢?根據官網的說明

還記得上篇刷回官方韌體,最後的版本號碼是 3.03.751.4,這次線上更新前後包含了 751.5 和 751.6,更新完沒太大差異,也有人喊說沒那個必要升級。不過我必須說,因為官方沒列出更新細節,只說什麼「更新用戶端」和「漫遊優化」,但總共十幾MB的更新檔,絕對不會只有這兩項,一定也並修正了大大小小的其他 Bug,才會這麼一包。我實際上的感覺,之前用藍牙耳機聽音樂時容易斷斷續續,但更新後有很大的改善,上述更新檢查的選項也換位置放了(移到「關於手機」、「系統軟體更新」,裡面有排程和手動檢查),可能還有很多修正是族繁不及備載的,所以和 Windows 一樣,要維持在最新版才能確保系統的穩定。不過上面也提到,改機過的韌體在更新時似乎會被什麼檢查抓到,讓線上更新被中斷,看來 HTC 官方也有在關注和阻擋改機的行為哩~

根據神人分析,HTC 做的是檢查 Recovery Image 版本。之前改機把 Recovery Image 換掉、換成 Amon_RA 大大做的 recovery-RA-hero-v1.6.2.img,這樣當然會驗證失敗。所以如果想執行線上更新的話,第一個步驟就是「暫時」還原官方 Recovery,待驗證過後、更新成功完再換回來。還記得上個步驟我們刷官方韌體時,拉了一個檔案 rom1.zip (後來改名為 sappimg.zip),如果我們手動解壓縮它,會在裡面發現一個 recovery.img,這就是本文需要的檔案(官方 Recovery Image)!把檔案複製出來放在電腦裡,手機關機後、重開進到 Fastboot 模式(按著返回鍵、再按電源鍵開機)、連接電腦,透過 ADB 執行重刷 Recovery 的命令:

fastboot flash recovery recovery.img

更新完重開機,手機此時已經換回官方版本的 Recovery,照理來說就能上更新啦!由於線上更新這件事官方並不是隨時在檢查,而是隨機跑出來的,也有網友等了好久遲遲沒有更新通知。而我的經驗是,只要調整手機時間、像往前調個三個月,就會觸發更新檢查、通知你該線上更新囉(我是這樣才出來的)!依序更新完 751.5 和 751.6(最好在連接 WiFi 網路時來做比較快、手機也要有足夠電力),兩次更新完就大功告成啦!兩次更新的畫面分別如下:

不過別高興得太早,前面就說過 HTC 有在關注改機的行為,更新完之前辛苦擁有的 root 權限就又不見啦!所以我們要重複之前的幾個改機步驟:先換回 Amon_RA 的客制化 Recovery、把 su 和相關程式再複製進手機才行。手機關機再進到 Fastboot 模式,與電腦連線、準備好之前的 recovery-RA-hero-v1.6.2.img 檔案,先刷回 Recovery:

fastboot flash recovery recovery-RA-hero-v1.6.2.img

刷完後重開完再關機,然後用剛刷的 Recovery 開機(按著 Home 鍵、再按電源鍵開機)、把手機透過 USB 接上電腦,再用 ADB 工具把檔案放進手機去,開 DOS 視窗執行以下命令:

adb shell mount /system
adb push su /system/bin/
adb shell chmod 4755 /system/bin/su
adb push Superuser.apk /system/app/

請注意,在此神人發現 HTC 在這又做了點手腳,更新完它在系統目錄下 (/system) 複製了一份官方 Recovery Image 檔案,正常開機的時候,韌體會檢查 Recovery 的版本,一旦不符就把系統目錄下的檔案複製過去蓋掉手機的 Recovery,好奸詐啊!不過道高一尺魔高一丈,看破手腳後對策就簡單啦!我們只要把那個官方 Recovery 換成客製的版本(檔名用一樣),就算被抓到要複製,也還是複製非官方版啊(直接砍掉應該也行,不過怕有風險)!所以接下來的命令做的事情就是在砍掉官方偷塞的 Recovery Image、把非官方版的改檔名複製進去,然後重新開機就搞定啦!

adb shell rm /system/recovery.img
adb push recovery-RA-hero-v1.6.2.img /system/recovery.img
adb shell reboot

經過本文步驟,我們透過官方線上更新、讓版本從 751.4 升到 751.6,並維持非官方的 Recovery、還有之前改機的 root 權限,一併「破解」了官方的檢查動作(缺點就是開機會再慢一點),而這也是我目前維持在「最新官方韌體」的版本:

如果不敢冒險用其他非官方韌體來說,這樣的版本應該是「目前」官方最穩定、最棒的了。(又出其他更新的話不知道還會怎麼做..XD)

回應: 6

Ocean Ban 提到...

博主你好,通过你的博客我学会了很多东西,优化了我的博客,有个问题想请教博主,能不能在模板里面设置一些规则,使其产生hosts里面的这种效果:
127.0.0.1 http://www.blogger.com/navbar.g?
因为中国防火墙的原因无法加载navbar,但是又无法禁止掉,影响网页加载速度,以前听过设置FTP发布可以取消掉,但是现在没有FTP功能了,不知博主还有其他能彻底删除navbar而不是隐藏navbar的方法么?十分感谢。

Ocean Ban 提到...

我已经找到彻底删除navbar的方法了,http://blog.kban.info/2010/05/navbar-bloggercom.html ,你的博客给了我很多帮助,谢谢。

匿名 提到...

您好:
  我是問題很多的oxygenheaven,我經過3天2夜的奮戰,終於搞定了刷機,但是現在又出現一個問題,我搞不清楚是刷機之後產生的,還是其他原因。
  全部刷完,我要設定google帳戶,無法登入,顯示:無法建立穩定的資料連線通路,伺服器連線失敗。這可能是暫時性的問題,也可能是您的SIM卡無法使用資料傳輸服務。如果此問題一直無法解決,請洽詢客戶服務中心。
  目前已經試著登入了半小時,因為我不知道是刷機後的問題還是我的卡的問題(以前沒發生過),所以想請問你刷機之後,有遇過哪些問題?可以先告訴我,讓我了解一下嗎?謝謝
p.s昨天我刷完歐版RUU+中文化之後,有短暫使用手機,當時是可以登入google帳戶的

匿名 提到...

dear abin:
   sorry,我真的很白痴!我的問題我自己解答了,好像是因為在設定更新的時候改變了時間,手機時間我亂設的,我剛剛改回正常時間,然後重新登入就好了。非常感謝你的部落格,我真的很智障,發問很多次,然後又自己解答。


                               oxygenheaven

小亂 提到...

大大 我輸入su以後 不小心因為營幕轉向的問題 按到always deny...卻不是always allow
我要怎辨 現在再輸入su 都只會出現

Permission denied
here1here2here3here4here5here6$

請您救命了><

小亂 提到...

謝謝 我找到方法了^^

張貼留言

歡迎留言或發表意見,不過要理性不做人身攻擊。匿名的朋友得到回應的速度會比較慢喔~
發問相關的禮貌和規矩請先參考這篇文章,不當留言、和本文無關的回應可能會被直接刪除無視喔!