【轉】Android Fastboot 與 Recovery 和刷機


1. 首先來看下Android系統的分區:

 
Android系統的分區.jpg
 
Android分區解釋.png

安卓系統一般把rom芯片分成7個區,如果再加上內置sd卡這個分區,就是8個:

  • hboot分區----------負責啟動。
  • radio分區----------負責驅動。
  • recovery分區-------負責恢復。
  • boot分區-----------系統內核。
  • system分區---------系統文件。
  • cache分區----------系統緩存。
  • userdata分區-------用戶數據。

就是第7個區userdate區的大小,這個區主要裝一些軟件,是用戶可以使用的分區。這個分區的大小直接影響到安裝軟件的數量。也就是說userdate區就是我們常說的“可用rom”在安卓里,雖然軟件可以安裝到卡中,但是一些系統軟件最好還是安裝到userdata分區,否則會出現加載的一些小問題,比如使用的桌面軟件和一些在桌面上顯示插件的軟件。並且就算你把軟件都裝到卡里,userdata分區還是會不斷減小。就像在電腦里,就算你把軟件裝到D盤,仍然會在c盤生成一些系統文件,占掉c盤空間一樣。

2. BootLoader

簡單地說,BootLoader就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內存空間映射圖,從而將系統的軟硬件環境帶到一個合適狀態,以便為最終調用操作系統內核准備好正確的環境。在嵌入式系統中,通常並沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啟動程序),因此整個系統的加載啟動任務就完全由BootLoader來完成。比如在一個基於ARM7TDMI core的嵌入式系統中,系統在上電或復位時通常都從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的BootLoader程序。

3. BootLoader 和 FastBoot

從字面意思來講,Fastboot是一個英文單詞,翻譯成中文的意思是『快速啟動』。Fastboot 可以說是一個通信協議,電腦可以通過這個通信協議,直接向手機系統不同分區中寫入文件(.img 文件)。

fastboot 主要是用來與bootloader的USB通訊的PC命令行工具。他一般主要也用來向bootloader傳送刷機文件進行文件分區重燒。 因此在使用時,必須有一個PC機並且USB線要始終聯着。所以這種方式稱為線刷。 用fastboot需要bootloader 支持,所以不是每一家公司產品都支的這個功能的

通常大家所討論的Fastboot,通常都是說安卓手機的Fastboot模式。在安卓手機中fastboot是一種比recovery更底層的刷機模式。簡單來說,就是使用USB數據線,連接電腦的一種刷機模式。這種刷機方式,我們又通常稱為“線刷”刷機。另外安卓手機還有一種刷機方式,叫做“卡刷”,兩者區別如下。

線刷: 直接想手機硬盤寫入*.img 文件,我個人覺得這種方法比較快捷,而且省事。但是必須借助電腦和數據線。
卡刷:就是利用recovery的從SD卡中更新系統的這個功能,如果你想刷第三方Rom,必須刷入個第三方recovery,只有fastboot模式才能刷recovery.img。卡刷有個限制,必須要把想要更新的ROM(Android系統)拷貝到SD卡上。如果手機已經是磚了。那只能用線刷了。

fastboot(bootloader)模式怎么進入?

  1. 大多數安卓手機,都可以在關機狀態下,然后同時按住【電源鍵】+【音量+】鍵,大約2-3s后,就可以進入Fastboot模式。
  2. 作為開發者在開機狀態下可以用下面的方式進入:
    adb reboot bootloader

然后就可以執行下面的fastboot命名了:

  fastboot flashing unlock    #6.0以上設備 設備必須解鎖,開始刷機(這個不同的手機廠商不同) fastboot erase {partition} # 擦除分區 fastboot erase frp # 擦除 frp 分區,frp 即 Factory Reset Protection,用於防止用戶信息在手機丟失后外泄 fastboot flash boot boot.img # 刷入 boot 分區 fastboot flash system system.img # 刷入 system 分區 fastboot flash recovery recovery.img # 刷入 recovery 分區 fastboot flashall #燒寫所有分區,注意:此命令會在當前目錄中查找所有img文件,將這些img文件燒寫到所有對應的分區中,並重新啟動手機。 fastboot format data # 格式化 data 分區 fastboot flashing lock # 設備上鎖,刷機完畢 fastboot continue # 自動重啟設備 fastboot reboot# 重啟手機 fastboot reboot-bootloader# 重啟到bootloader 刷機用 fastboot devices ## 發現手機,顯示當前哪些手機通過fastboot連接了 

一次燒寫boot,system,recovery分區

創建包含boot.img,system.img,recovery.img文件的zip包。
執行:fastboot update {*.zip}

注:華為手機解鎖命令: fastboot oem unlock 解鎖碼

4. Recovery 模式的簡介

Recovery 更類似於一個小型的管理系統。只不過功能簡單,所做的管理有限。在recovery模式下,會加載了部分文件系統,所以才可以讀sdcard中的update.zip進行刷機,當然,也可以清除cache和用戶數據。

該模式可根據用戶的需要進行修改,因此有官方recovery模式以及第三方recovery模式。第三方recovery模式可以識別第三方rom包,因此可以用來刷機。而官方recovery一般不能識別第三方zip文件。好用的第三方RE:TWRP 和 CWM

Recovery刷機包是稱為Google Update 格式。在用Recovery恢復時,刷機包通常放在SD卡里,所以這里刷機一般稱為卡刷。

5. 刷入RE:

  1. 首先進入 bootloader(fastboot)模式
  2. fastboot flash recovery recovery.img

一個不錯的發布RE和刷機包和root包的網站

from:https://www.jianshu.com/p/d960a6f517d8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM