Android 四 區分刷機與root

2021-09-25 12:26:38 字數 2386 閱讀 6263

刷機:相當於換掉整個手機系統。

root:相當於電腦windows系統中的administrator,即超級管理員。root是系統中唯一的超級使用者,就是手機的神經中樞,它可以訪問和修改你手機幾乎所有的檔案,如啟動或停止乙個程序,刪除或增加使用者,增加或者禁用硬體等等。簡單地說,只要你的手機root許可權獲取成功,就能對手機進行任意操作。

所以刷機不等於root!!!

刷機過程會涉及到一下內容:bootloader,fastboot,recovery

bootloader:手機加電時,第一段執行的程式,即引導程式。通過bootloader可以刷入recovery,radio和hboot。解鎖bootloader就是去掉fastboot指令裡的校驗模組。

fastboot模式:它是bootloader後期進入的乙個特殊階段。用來刷recovery和基帶的

recovery模式:相對於fastboot較上層。用來備份,恢復,重灌系統的。

1 bootloader

bootloader是乙個啟動引導程式,負責系統硬體的初始化工作,也是刷機工作的第一道坎。大部分廠商採用了鎖bootloader的方式 來阻止使用者刷機,使用者如果想要刷第三方韌體就必須對bootloader進行解鎖,由於bootloader加密演算法較為複雜,所以解鎖就變成了一件困難 事,部分廠商因使用者不滿最終妥協,提供了官方的解鎖途徑,比如htc和索尼愛立信,使用者需要到官方**進行申請然後解鎖,但解鎖後會失去保修,而另外一部分廠商則不提供解鎖,那麼解鎖bootloader就變成了一件很複雜的事,雖然有些黑客通過內外相勾結的方式破解了bootloader演算法,但沒有破解是絕對完美的,也有很多朋友的手機在解鎖時變成了轉頭。

如何判斷bootloader解鎖呢?當bootloader解鎖後,啟動手機會出現開鎖圖示,或者再次進入bootloader介面有unlock標誌,就證明bootloader順利解鎖。

2 fastboot

fastboot 主要是用來與bootloader的usb通訊的pc命令列工具。他一般主要也用來向bootloader傳送刷機檔案進行檔案分割槽重燒。 因此在使用時,必須有乙個pc機並且usb線要始終聯著。所以這種方式稱為線刷。 用fastboot需要bootloader 支援,所以不是每一家公司產品都支的這個功能的。

3recovery

recovery

是手機的工程模式,主要用來執行手機的復位和公升級工作,大部分廠商都在手機中提供了進入recovery

公升級包在recovery

下進行公升級,這種方式也是我們俗稱的卡刷,當然也有部分廠商不提供,比如中興。

官方提供的recovery

一般來講功能有限,而且盡可以進行update

公升級包公升級的操作,所以對於刷機的使用者來講官方的recovery

是沒太大用

的,大家一般都會選擇使用第三方的recovery

來代替官方的。對於recovery

的操作,每家廠商的機型都有所不同,但是都大同小異,手機上的物理

按鍵僅有幾顆,所以recovery

的操作一般都是集中在開關機鍵、音量鍵或者確定鍵上

先說下android的分割槽吧,不說清楚這個,下面都不好講,android一般都分這幾個區:

bootloader分割槽用來儲存uboot,system分割槽儲存android,data分割槽用來儲存使用者資料,boot分割槽用來儲存核心檔案和ramdisk,

recovery分割槽儲存核心檔案和recovery程式,其他還有misc和cache等等。當然各個公司會根據各自需求增加一些別的分割槽。

啟動過程是先由bootloader啟動uboot,然後uboot啟動核心,核心會根據init.rc裡的指令mount system data等這些分割槽,mount好以後,android就開始啟動了。

你應該注意到上面的分割槽裡有兩個分割槽都存有核心檔案,就是boot和recovery,boot是正常啟動流程會用到的核心檔案,如果啟動過程中發現有特殊按鍵,uboot就會讀取recovery分割槽裡的核心和ramdisk。這就是為什麼你啟動時按著某個組合鍵就會進入recovery程式。進入recovery模式以後,直接面對使用者的是跑在核心上的recovery程式。這個時候除了recovery分割槽以外的其他分割槽你想寫誰都可以了。recovery去讀取rom檔案,根據檔案裡的內容來更新系統,如果是img檔案就直接dd到分割槽裡,如果是資料夾就把檔案裡的東西copy到相應分割槽裡(好像是這樣)。更新完按正常啟動過程重啟機器就o了。

核心檔案在boot.img裡的,boot.img是由核心檔案和ramdisk.img組成的,刷在boot分割槽裡。你如果開啟乙個rom檔案,如果裡面如果有boot.img,哪說明刷這個rom的時候它是要更新核心的。但一般第三方定製的rom是不會去動你的核心的,只刷system。所以你在裡面找不到核心檔案。如果你找不到system.img,那裡面應該有乙個叫system的資料夾吧。是img就dd到system分割槽,是資料夾就copy到system分割槽。

記憶體四區分析

區 區code,程式被作業系統載入到記憶體的時候,所有的可執行 都載入到 區,也叫 段,這塊記憶體是不 可以在執行期間修改的。靜態區 所有的全域性變數以及程式中的靜態變數都儲存到靜態區,比較如下兩段 的區別 include int a 0 int main int a 0 static int b ...

記憶體四區筆記

include include include void print arr int buf,int n int main 棧中陣列 void malloc size t size char p1 malloc sizeof char 1000 free p1 int p malloc sizeof...

記憶體四區專題

程式的記憶體四區模型 1.作業系統把物理硬碟 load到記憶體中 2.作業系統把c 分成四個區 3.作業系統找到main函式入口執行 4.在被呼叫函式裡面malloc的記憶體,首位址傳給別呼叫哪個函式有兩種方法 a.return b.指標做函式引數 5.主呼叫函式分配的記憶體 堆 stack 全域性...