2013年1月17日

Root HTC One SV

關於Root是什麼意思就不解釋了
總之終於在今天把他給弄成
注意:刷機一定有風險,使用前請詳閱公開說明書
注意:刷機將造成保固失效,發生問題一概不負責

簡單來說HTC機的Root就兩個步驟:
1. 去 http://www.htcdev.com/ 進行 Unlock Bootloader ,這個隨便搜尋一下就有所以也不解釋。
2.放一些檔案到系統分區,在此我使用的是 http://androidsu.com/
將su放到/system/bin並將權限設為4755,將superuser.apk放到/system/app

到第2步有問題了,必須先有root權限才能修改系統分區,也必須修改系統分區才能得到權限。
因此必須借助其他系統的功能fastboot和recovery

recovery是一種微型的系統,而HTC內建的recovery在一般使用者來說是沒有功能的,我們可以用fastboot將recovery換掉成現在最流行的Clockworkmod或TWRP,就可以在recovery下獲得修改系統分區的權力。

而又有另一個問題了,因為HTC One SV的時間還不夠久(在xda上連討論區都還沒有),Clockworkmod和TWRP皆無提供為其編譯的版本,必須自行編譯,而我選用了Clockworkmod來做。

製作方法:
1. 從 http://androidfiles.org/ruu/ 下載 HTC One SV的Ruu
(台哥大賣的代號k2_u,香港版的代號k2_ul,此代號可以從bootloader上獲得)
2. 解開Ruu取出rom.zip
3. 解開rom.zip取出recovery_signed.img(pc$ unzip rom.zip
4. 到http://builder.clockworkmod.com提交recovery_signed.img或是在Previous Builds中察看是否已有相同的編譯

到此就可找到recovery.img,但此img用fastboot刷上後無法啟動,只會在紅字後自動重啟。
解決這問題的方法很奇妙,將原本recovery_signed.img中的前2KB覆蓋掉新編出來的recovery.img的前2KB即可。(這裡我使用Madedit)
Update:另外若00 00 A0 E1的開始位置在0800 則補 00 直到他位置到0900 (使格式與原本的img相同)

重新開機到fastboot(pc$ adb reboot bootloader)刷上(pc$ fastboot flash recovery recovery.img)後,在bootloader中選擇recovery應該就可以進入到clockworkmod中了,但用手機上按鍵操作的各種功能都無法使用。

可以用usb連接到有root權限的adb,用其將androidsu放好就行了。
1. 連接上adb (pc$ adb shell )
Update:若無法連線,請換台電腦嘗試,感謝網友「匿名」的測試
2. 掛載system分區(adb# mount /dev/block/mmcblk0p33 /system
3. 退出adb  (adb# exit
4. 放上su (pc$ adb push su /system/bin )
5. 放上SuperUser.apk (pc$ adb push SuperUser.apk /system/app )
6.連接上adb (pc$ adb shell )
7. 修改su所有者 (adb# chown root /system/bin/su
8. 修改su執行權限 (adb# chmod 4755 /system/bin/su
9. 重新開機 (adb# reboot
到此root就完成了!

54 則留言:

  1. 您好:我在 fastboot flash recovery recovery.img 時出現錯誤
    sending 'recovery' (7454 KB)... OKAY
    writing 'recovery'... FAILED (remote: image error! (BootMagic check fail))

    請問是否要先 s-off 才可以呢?謝謝

    回覆刪除
    回覆
    1. 你好:我沒有s-off,只做了Unlock Bootloader就可以了

      忘了註明 00 00 A0 E1的開始位置是0900而不是0800

      這是我改過的recovery可以試試看(一樣只能adb,無法用手機上的按鍵操作)
      http://goo.gl/t0X6Q

      刪除
  2. 已經可以刷入 revovery 了
    但是還是卡在之後 adb root 權限的取得
    所以......殘念...........
    您 adb 的版本可以給我嗎?謝謝

    回覆刪除
  3. 我是用Android SDK內附的adb應該沒有不同。


    回到一般系統後要進adb shell後使用su切換root權限。若想使用adb root則請搜尋關於default.prop的文章。

    回覆刪除
  4. 請問您在 Clockworkmod 之下可以正常使用 adb 來連接嗎?
    我在recovery 模式底下只有
    error: device not found

    回覆刪除
    回覆
    1. 可以的,在recovery下連接adb就是本篇的最重要的步驟

      你有成功進入到黑底藍字的畫面嗎?

      刪除
    2. 有的~可以上下移動~但無法使用電源鍵作確定
      但ADB會顯示偵測不到設備 DRIVER 是使用 HTC DRIVER

      刪除
    3. 在一般開機下能否使用adb進入呢?

      (PC)試著在adb kill-server後用管理員帳號啟動adb看看

      $ adb kill-server
      $ sudo adb shell

      刪除
    4. 一般開機下可以正常且順利連結
      fastboot usb 模式也 ok
      recovery 模式無法連結

      刪除
    5. 可以拍一張bootloader的畫面傳上看看嗎,就是有顯示fastboot usb的那個畫面

      刪除
    6. 好了可以了,換另一部 xp 的電腦就可以正常了
      原本是使用 win7 x64 沒辦法連
      感謝感謝 ya !!!

      刪除
  5. htcruu似乎關閉了, 能請您放上下載的RUU嗎?

    回覆刪除
    回覆
    1. http://forum.xda-developers.com/showthread.php?t=2104672
      Thank you.

      刪除
    2. 謝謝. 已經下載了RUU. 可是解開的rom.zip無法解壓縮, 似乎不是正常的zip, 檔頭不是'PK'開頭, 而是 1E AD 9D 16. 檔案大小 572,011,090. 請問您也是嗎?

      刪除
    3. 是的,我解出來的檔案也是 1E AD 9D 16 開頭,使用unzip可以解壓縮(會有幾個檔案錯誤,但recovery可以正常解出)。
      http://linux.about.com/od/commands/l/blcmdl1_unzip.htm

      另外據說使用winrar可解,我沒有試過。

      刪除
  6. win7 在 recovery 無法連結解決方法如下
    手機開至 recovery 模式底下~連接電腦
    裝置管理員~找到 ? 的 usb 裝置
    解除安裝~自動尋找驅動~即可抓的到了

    回覆刪除
  7. 請問板主root後是否可以正常授權給鈦備份?

    回覆刪除
    回覆
    1. 我沒有使用過鈦備份,剛安裝後執行結果如下圖

      http://2.bp.blogspot.com/-WNcCCSCU7-g/UPqB17u7xSI/AAAAAAAADc4/EWJI4VtuUY0/s800/2013-01-19_19-17-35.png
      http://2.bp.blogspot.com/-cO937oy2PVE/UPp_zcbyKsI/AAAAAAAADcc/8RkkL8FY1RU/s800/2013-01-19_19-03-56.png

      刪除
    2. 看起來我root並不完全
      目前發現的問題有
      1.system 底下資料夾存入後檔案重開機會不見
      2.部份程式取得root權限有問題
      板主使用的 superuser 版本是多少呢?
      我使用的是 3.1.3(46) 版
      su 是3.1.1(17)

      刪除
    3. 1. 這部份我也相同,我認為要解決的話得刷boot,不過目前沒有img可刷
      2. 版本號皆與你相同,還有權限是-rwsr-x-r-x
      另外我有進superuser按過更新二進位檔,可以試試有沒有改善

      刪除
    4. 1.的部份可以直接進 recovery 底下將檔案塞進去~就不會因為重開機遺失
      例如garmin在 lib 底下的 so 檔就會遺失~在 recovery 底下用adb
      塞進去就可以解決
      2.su的部份就............無法更新了~~~~

      刪除
    5. 2.
      之前我也發生過,一開始用recovery刷了su之後,用Google play安裝superuser的app就顯示訊息無法授權給Superuser。
      後來把Google play裝的superuser刪除,到recovery把.apk塞進去再重開機就可以了。

      試試把那兩個檔案重新塞過看看

      刪除
    6. 越搞越慘~~不過剛剛倒是成功了~缺點是 su 無法更新~程式可正常授權
      我去拿了大陸的 one st 論壇內的Root_with_Restore_by_Bin4ry_v15.rar 一鍵root 檔案
      把裡面的 su 和 superuser 塞進去
      就可以正常授權了

      刪除
  8. http://tinchi.av8d.com.tw/su.rar
    這是大陸網站取的 superuser 和 su 版本~可正常授權但無法更新su

    回覆刪除
  9. 2.放一些檔案到系統分區,在此我使用的是 http://androidsu.com/

    請問大大進去 是要下載哪一個呢

    回覆刪除
  10. 輸入 adb shell

    adb server is out of date. killing...
    * daemon started successfully *
    error: device not found

    這是手機驅動程式沒有安裝好嗎
    還是她跟recovery 與 DOS 連不上呢

    回覆刪除
    回覆
    1. 上面有相同問題,可能是驅動問題,可以用其解法試試

      刪除
  11. Kin Lo大,請問這樣root後還能OTA嗎??? Thanks!!

    回覆刪除
  12. 版大可以幫忙測試用鈦備份移除系統內建程式嗎??
    我的鈦備份也是顯示有root權限,但刪除台哥大客製軟體後重新開機又恢復原狀了

    回覆刪除
    回覆
    1. 一般開機時不能修改/System/ 重新開機後修改都會還原

      請到recovery用adb處理

      刪除
  13. KIN LO 大
    我想問怎樣能夠s-off

    回覆刪除
  14. 版主不知道更新 4.1.2 了沒有~~
    剛剛更新前忘了先將 OTA 備份起來就按下更新了
    原有的 ROOT 方式不能用了~慘.......

    回覆刪除
    回覆
    1. 還沒有呢,做到哪步會有問題呢?

      刪除
    2. 這個 ota 會更新 recovery
      所以舊的修改過的 recovery 會無法刷入更新過後的 sv
      板主如果還沒更新~可否在下載 ota 之後將檔案 copy 出來
      因為裡面有新的 recovery

      刪除
    3. 取出來了~將 00 00 A0 E1 開始位置更改為 900 後~失敗~進 RECOVERY 會重開機

      刪除
    4. 拿以前的recovery重新刷一次就可以了

      刪除
  15. 版主想問一下
    我刷官方4.1.2系統更新檔,重新開機之後畫面會跳到Colckworkmod
    重新開機發現版本還是一樣??@@

    回覆刪除
    回覆
    1. 要先把recovery換回原廠才能刷官方更新檔唷

      刪除
  16. 版主,刷機後,開機一直停在HTC畫面,還有一串英文紅字,請問怎樣能恢復

    回覆刪除
  17. Hi,

    Can you give me the full name of file

    OTA_K2_U_JB_45_S_hTC_Asia_TW_2.14.709.103-1.16.709.4_release.zip?

    If you have the full name, you can download it from HTC server for example,

    fotadl.htc.com/OTA_Bravo_Froyo_Chunghwa_2.29.751.4-2.10.751.4_R_release_2244023b2nz0c7zocgmxi8.zip

    回覆刪除
    回覆
    1. 作者已經移除這則留言。

      刪除
    2. OTA_K2_U_JB_45_S_hTC_Asia_TW_2.14.709.103-1.16.709.4_release_3102041u3ns7ccibs0tdg2.zip

      刪除
  18. Thanks a lot Kin ! You made my day...

    回覆刪除
  19. one more question:

    Do you know where to download the original RUU (stock rom) of this phone ? I can't find it on HTC website.. :-(

    回覆刪除
  20. :-( 版主能共享boot.img文件嗎

    回覆刪除