何謂root

2010 年 9 月 22 日 | 作者:小布仔 | 分類:Android, Desire HD, Incredible S, 不限機種, 系統強化

什麼是root?

Android是Linux的一種,Linux又是Unix的一種,摸過Unix的人都知道,Unix系統管理者帳號的名字叫root,在Windows中的系統管理者帳號則叫做Administrator;在Unix中要執行系統管理者才能執行的程式需先下指令su變身為系統管理者,在Windows 7 & Vista中要以系統管理者執行程式則是按下滑鼠右鍵,點選【以系統管理員身份執行】。

Unix提供一個執行檔,檔案名稱叫su,所以我們才有su指令可以執行,但原廠的Android手機都沒有在ROM中放這個檔案,使得我們無法擁有系統管理者權限。

手機的ROM就像我們電腦中的硬碟,有目錄也有檔案,我們把su檔案(執行檔)放進ROM中的過程就叫做rooting。除了放進su檔外,在rooting的過程我們還會放進一套Android的軟體,叫Superuser Permission。當手機有軟體執行su指令想取得系統管理者權限時,Superuser Permission就會將這個過程攔截下來詢問我們是否允許(如下圖),當我們確認允許這個軟體使用root權限時,我們可以勾選【Remember】,再選擇【Allow】,之後這個軟體再使用系統管理者權限時,就不會再詢問了。

 

所以Rooting的過程,ROM裡會新增兩個檔案,分別是su與Superuser Permission(檔案名為Superuser.apk),所以要讓手機沒有root的權限,只要再把這兩個檔案移除就好了。

系統權限就像兩面刃,我們可以用在好的地方(提供原廠沒有的功能或是加強系統效能),但也可以用在壞的地方(盜拷合法軟體),端看使用者怎麼使用它了。

分類:Android, Desire HD, Incredible S, 不限機種, 系統強化 | 17 則回應

本文章目前有 17 則回應

  1. sky 說道:

    哈哈哈!布大又在賤賣寶貴的知識!我收走了哦!

  2. Qoo 說道:

    請問
    1.官方2.2 ROOT後 ,之後官方的網路自動韌體升級還可以作用嗎?
    2.可以UNROOT嗎? HBOOT 0.83

    • 小布布 說道:

      能不能官方升級,不在於有沒有root(關鍵不在root,就不用去想unroot的問題)。

      如果root的過程,比如使用unrevoked 3這種會刷recovery partition的(請參閱本站的「何謂Recovery Partition」說明),則日後無法使用官方的網路自動韌體升級,除非有辦法還原recovery partition成為原廠。

      如果是用Universal Androot這種不更動recovery partition的root方式,則不影響官方的網路自動韌體升級(不過通常升級後root也毀了,比如N1 2.2升級2.2.1)。

      Desire AMOLED版本則可以透過原廠RUU還原到較低的2.1版本(此時recovery partition會還原成原廠),再透過官方的網路自動更新來升級上去。

      Desire的用戶其實可以不用管官方自動韌體升級,自然會有高手以原廠ROM為基礎修改出更漂亮,程式可安裝更多(A2SD+)的版本。

      這裡我推薦M01賢大的Bravo Desire Froyo,雖然我沒有Desire,但我已經幫友人改了兩隻AMOLED和兩隻SLCD,狀態列和Menu選單多了色彩用起來的fu果然不一樣,至於官方的A2SD功能,根本就無法應付軟體安裝空間的不足問題,而且使用上還有諸多限制,強力建議改用A2SD+。之後你的desire人生也會是彩色的。

  3. Sam 說道:

    感謝分享,這樣的解釋是我在網上搜尋眾多文章最容易讓人了解的了,
    另請教,常看到一些前輩在講busybox及SDK,
    這兩樣東西又是什麼呢?
    謝謝哦!

    • 小布布 說道:

      SDK全名為software development kit(軟體開發工具)
      某個廠商做了一個硬體,大家要能在上面開發軟體,該廠商必須提供SDK
      提供軟體開發者在開發過程中所需要的任何指令,編譯器,軟體封裝等等
      Google提供Android的SDK有一些指令我們常常會用,像是adb, ddms...

      至於busybox,先用windows的指令比喻好了
      windows的命令提示字元有很多指令可用,比如xcopy, cmd, format等等
      每個指令都是一個執行檔,在Linux中的指令也是一樣
      而且這些指令都是該作業系統的「基本指令」,大部分書上都有教的

      在嵌入式Linux系統中,由於記憶體很寶貴,
      我們不會把所有的Linux指令通通放進來,只會擺進必要的指令進來
      即使是這樣,這些指令檔佔用的空間還是太大,
      所以就在這些指令上動手腳,把該指令不常用的功能再刪除掉
      (該指令的一些參數就無法使用)
      BusyBox就是做這件事的一個知名開發套件
      他提供了精簡化過的常用指令,只用一個執行檔就包含所有指令
      呼叫方式是busybox [指令名] [參數]
      也可以透過soft link的方式呼叫對應的指令(有點深了,請忽略這句話)

      busybox可以客製化其所含的指令,與各個指令所包含的功能
      因此也會有相容性的問題

      總而言之,原廠的ROM移掉了很多指令
      我們可以放進busybox來使用這些指令

  4. JJ 說道:

    我現在才剛要使用小綠人!!
    我想要ROOT但是我基本的常識都還不會我應該先看哪篇文章呢?

  5. good 說道:

    大大請問如果我的dhd想要root 刪除一些內建的程式我該看那些文章...
    不是我懶得爬文 是好多我搞混了 = =

  6. 茄子 說道:

    請問DHD有沒有這種工具呢? http://www.coolapk.com/apk-3216-com.z4mod.z4root/
    z4root一键安全root工具 1.3.0

  7. 說道:

    我終於弄懂了...(拭淚)....謝謝你!!!

  8. 淚奔 說道:

    哇~~太感謝大大了
    看完了大大的文章總算對智慧型手機比較了解了
    不然買了以後都只會傻傻地接電話跟打電話
    完全不知道可以有甚麼其他的功用
    真是太感謝了

  9. 王子 說道:

    我現在要下載愛字體,但它說我手機沒有root欸!那我現在該怎麼做才能擁有root?

  10. 小布布 說道:

    忘了放讚的按鈕
    謝謝^^