打通Desire HD的任督二脈 S-OFF

什麼是Root?好像又是老生常談的樣子,簡單說就是擁有系統的最高權限,如同windows的最高權限administrator一樣,Android手機是屬Linux系統,所以最高權限就是Root,但是廠商擔心系統遭受破壞而產生不穩定狀況,因此均會將最高權限關閉。那什麼又是S-OFF呢?個人感覺Root與S-OFF是不一樣的動作,只是想要S-OFF的話,Root是首要條件,S-OFF與Root是不同的,S-OFF可以讓你通過Bootloader內的Fastboot或一些自製的RECOVERY(如ClockworkMod Recovery)來刷客製的ROM。

 

HTC 的手機通常出廠的是屬於 S-ON 的狀況,也就是鎖住SPL讓使用者無法對/system與/recovery來修改,即使使用 root explorer 刪除檔案,手機重新啟動時也會恢復,因此透過修改 HBoot 移除鎖住的方式來實現對/system與/recovery的寫入,也就是所謂的 S-OFF。

 

HTC手機啟動過程:IPL->SPL->Android

IPL是初始化程序,SPL負責載入Android系統的,SPL全名為Second Program Loader,是手機系統的bootloader外,還包括recovery、Fastboot、HBoot等功能,也就是SPL是用來讀寫flash rom的,且也提供檢測手機硬體、啟動統系統操作界面以及檢測SD卡等,因此IPL+SPL就如同PC上的BIOS一樣。

 

如何進入HBOOT檢查目前的S-OFF或S-ON

 

▼首頁桌面上按下手機上的「Menu」選擇「設定」\「應用程式」,將「快速開機」打勾取消。

 

 

▼長按電源鍵待出現「電源選項」選單後,選按「重新啟動」來重新啟動手機。

 

soff01.jpg

 

▼出現如下畫面時按著「音量下鍵」不放,若有產生震動,不要緊張還是繼續按著,然後再按紅色框的「重新啟動」(記住「音量下鍵」一直按著不放)。

 

soff03.jpg

 

▼直到出現HBOOT的畫面後才鬆開「音量下鍵」,此時可看到第一行「ACE PVT SHIP S-ON」,也就是目前我的Desire HD有鎖住SPL,無法對/system與/recovery來修改。

 

DSCN3147.jpg

 

▼想要離開HBOOT畫面,如上圖在藍底白字「FASTBOOT」上按下「電源」鍵,則會出現如下圖,再利用「音量下鍵」移動至「REBOOT」,接著再按「電源」鍵即可重新開機。

 

DSCN3182.jpg

 

▼進入HBOOT與離開HBOOT的過程影片。

 

 

S-OFF的前置作業

 

想要S-OFF有可能會變磚,那很麻煩的,所以事先的準備與學習是必要的,請先確定已完成如下的準備動作。

 

  • Step 1. 手機必須要有Root的權限,這是必要的條件,Desire HD的Root可參考Desire HD 永久性Root文章,然後將Desire HD Root並測試是否有成功。

 

  • Step 2. 須能在Android 手機上運行 Linux 命令(也可使用Android SDK 的 adb 指令),挨踢路人甲使用「Android Terminal Emulator」來S-OFF的,可參考Android Terminal Emulator一文來安裝學習操作。

 

  • Step 3. .利用上述進入HBOOT畫面檢查目前手機的S-ON或S-OFF狀況,若是S-OFF的話就恭喜你,不用再S-OFF了,除非你想還原成S-ON,不過話說回來全新的手機應該不可能是S-OFF的。

 

  • Step 4. 至 XDAdevelopers 論壇下載下載DHD-v0.6-tempfix 解壓縮(需要註冊後才能下載),解壓縮後裡面有個RTFM.txt文件檔,建議看一下注意事項,然後將「DHD-smart」資料夾放到Desire HD上SD卡根目錄下,並更名為「DHD」資料夾

 

  • Step 5. 確定有充足的電源,不要動作未完成而耗盡電源,這樣可能會變磚的。

 

S-OFF實作

 

其實說穿了S-OFF就是要將原廠的 HBOOT(SHIP S-ON) 改成工程版的 HBOOT(ENG S-OFF),記得挨踢路人甲的 Desire 僅 Root 也能刷ROM,不過在 Root 時會以 ClockworkMod Recovery 覆蓋原廠的 RECOVERY,我不是高手也不是Android工程師,所以猜想想要刷ROM並不一定要S-OFF,但原廠的HBOOT有保護機制,若有對/system的修改將會復原,Google有關刷ROM的文章,就是要利用ClockworkMod Recovery 來刷不同的ROM,而好像需要「Root + S-Off」才能正確安裝寫入ClockworkMod Recovery,這是小弟的一些心得,若有誤請多指教。

 

註:此篇文章最好詳讀完後自行評估是否要S-OFF,因為此動作是

有風險的,請自行承擔風險。

 

▼在實作之前請先確定完成上述的前置準備動作,接下來首先執行「Terminal Emulator」出現如右圖畫面,利用虛擬鍵盤輸入"su" 按下「Enter」,發現$符號變成#符號,也就是進入最高權限的狀態,這也就是之前說必須先Root的原因。

 

 

▼利用虛擬鍵盤輸入"sh /sdcard/dhd/check" 按下「Enter」,此動作會檢查DHD目錄內的hboot_eng.nb0 檔案是否正確,若將不正確又寫入的話那豈不是變磚了嗎?所以看MD5 checksum 碼是否相符合,而中間的訊息是說會測試 kernel Module,若符合橘色框中的任一訊息表示OK的,那就可以繼續黃色箭頭的指令。

 

soff05.jpg

 

▼一樣在虛擬鍵盤上輸入 "sh /sdcard/DHD/backup" ,結果一大堆的文字跑出來,此動作主要是備份原廠的 HBOOT 與 RECOVERY,其備份的檔案就放在DHD目錄內(如右圖),右圖中你可以發現都會連續備份兩次,且 RECOVERY 是偷偷的備份並沒有顯示訊息,改天有寫入ClockworkMod 時也可還原原廠的 RECOVERY哦!

 

比較重要的是比對兩次備份的 hboot_orig0.bin 與 hboot_orig1.bin 的 MD5 checksum 碼(就是那一大串的文字與數字)是否一樣,如果不一樣應該馬上停止往下的動作,不然會變磚的,除此之外也要注意執行此動作時,DesireHD 目前的 HBOOT 狀態(是S-OFF還是S-ON),因為萬一是處在 S-OFF 狀態下執行 "sh /sdcard/DHD/backup" ,表示你的機器可能已經有做過此動作,那將會覆蓋掉DHD目錄下的原廠的 HBOOT 與 RECOVERY 的備份,也就是此動作只要備份一次就好了,建議第一次執行備份後將DHD目錄備份到PC上以防萬一。

 

soff06.jpg

 

▼接下來這個動作是關鍵,一樣在虛擬鍵盤上輸入 "sh /sdcard/DHD/hboot" 按下「Enter」,老樣子還是出現一堆文字,其主要動作是將hboot_eng.nb0寫入後並再備份出成hboot_check.nb0檔。

 

soff07.jpg

 

▼為了方便比對以橫向截圖說明,必須比對綠色框中的第一、二行前面的MD5 checksum 碼是否一樣(請務必仔細比對,不可馬虎了事),若一樣恭喜你S-OFF成功了,第三行則是原廠的 HBOOT MD5 checksum 碼,若和第一行一樣,那還好僅執行沒有成功,表示目前還是原廠的HBOOT,假如第一行與其他兩行都不一樣,哇!晴天霹靂,我也不知道怎麼辦,去請教其他高手吧!不過我想機率應該不高吧!

 

soff08.jpg

 

▼確定第一、二行的MD5 checksum 碼都一樣後即可重新啟動,進入HBOOT檢測S-OFF方式可參考最前文說明,下圖可明顯看到「ENG S-OFF」字眼,表示已刷成功了變成工程版的HBOOT了。

 

 

 

 

回復原廠HBOOT的SHIP S-ON

 

XDADevelopers論壇上有許多一鍵S-OFF的文章,除非你不想還原Desire HD原先的HBOOT,因為一鍵S-OFF的程式大多沒有備份原先的HBOOT與RECOVERY,所以建議還是使用指令步驟較繁瑣的方式來處理,這樣比較有保障。

 

▼一樣在虛擬鍵盤上輸入 "sh /sdcard/DHD/restore_hboot" 按下「Enter」,老樣子還是出現一堆文字,其主要動作是將 hboot_orig0.bin 寫入後並再備份出至 hboot_check.bin 檔。

 

soff09.jpg

 

▼為了方便比對以橫向截圖說明,必須比對紅色框中的兩個MD5 checksum 碼是否一樣(請務必仔細比對,不可馬虎了事),若一樣恭喜你S-ON成功了,重新啟動並進入HBOOT檢測目前的狀況,結果你會發現出現「SHIP S-ON」字眼。其實若沒有特殊理由不需要 S-ON 回去的,基本上是不影響OTA升級的,倒是要回原廠維修時才可能要S-ON 吧!

 

snap20110223_213725.jpg
itwalker
itwalker

或許技術與功力已遠遠不及時下年輕人,但試著去畫一個圓,圓不圓沒關係,盡力就好,如果覺得文章不錯的話,請大家按個「讚」或「+1」,感謝您的支持與鼓勵!歡迎加入我的粉絲團 : https://www.facebook.com/itwalker ,更多關於挨踢路人甲的文章: https://walker-a.com

文章: 2983