ZenTalk

12下一頁

[其他] 刷機小教室 - 簡易 fastboot 教學  

16804 19
跳轉到指定樓層
最新回覆
樓主
shakalaca 台灣 Dr.Zen | 只看該作者







玩機刷機最基本一定會用到兩種工具:fastboot 與 adb,今天來介紹一下 fastboot 這隻程式。
你可以從 google 官方網站下載 https://dl.google.com/android/re ... -latest-windows.zip 我的習慣是會把 platform-tools 下的檔案放在 C:\FlashTools,然後另外設定環境變數以便在任何地方都可執行,或者你也可以把主要的檔案 AdbWinApi.dll、AdbWinUsbApi.dll、adb.exe 與 fastboot.exe 都丟到 C:\windows 下。如果你用的是 64bit Windows,可以用小弟編譯的64bit 版的 adb 與 fastboot,日後如果要還原原廠 ROM 會比較沒問題 (不能說 100% 但可以解決大部分 cannot load 的錯誤狀況)

adb 與 fastboot 除了有 windows 版本,也有 Mac 與 Linux 的可執行檔,所以接下來的教學所有平台都適用喔。

fastboot 主要拿來刷手機作業系統映像檔案,像是 boot.img,recovery.img 或者刷機玩家常在用的 twrp.img,跟 adb 以檔案為單位不同,fastboot 是對整個分割區進行操作,也因此『危險性』相對高,常常有玩家不小心刷錯分區導致手機變成程度不同的磚,所以在操作 fastboot 指令時,千萬要看清楚才動作喔。

使用 fastboot 指令時,手機得先進入 bootloader 後再透過 USB 線連接到電腦,電腦端開啟命令提示列操作。大部分手機進入 bootloader 的方法為關機狀態下按著『電源鈕』與『音量大』不放,而電腦端則是會抓取到 Android Bootloader Interface 或是包含 fastboot 字串的裝置。
螢幕截圖 2017-02-19 13.38.45.png

這時候就可以開啟命令提示列進行 fastboot 操作了,小弟我比較熟 dos 指令,所以會用 Win + R 開啟 cmd 然後切換到 C:\FlashTools 資料夾操作,如果你不熟也沒關係,可以透過檔案總管開啟指定目錄下的命令提示,假設程式都放在 C:\FlashTools 目錄下,那麼先開啟檔案總管到該資料夾:

螢幕截圖 2017-02-19 22.06.34.png

接著滑鼠選取路徑那行的文字 C:\FlashTools

螢幕截圖 2017-02-19 22.06.37.png

然後輸入 cmd 並按下 enter

螢幕截圖 2017-02-19 22.06.40.png

那麼當前目錄就是在 C:\FlashTools 下囉。

螢幕截圖 2017-02-19 22.06.51.png

接著可以輸入 " fastboot devices " 確認是否真的連接上手機。

螢幕截圖 2017-02-22 21.03.36.png

如果你看到一堆英文跟數字組成的字串,後面接著 fastboot 代表已經抓到手機了。

最常用的 fastboot 操作就是刷入檔案,指令格式就是 " fastboot flash 分割區 檔案 ",好比說我們想要刷系統核心也就是開機那個區域,刷入的檔案為 boot.img,那麼只要把該檔案放在 C:\FlashTools 目錄下,並敲入下面的指令就可以把 boot.img 刷到手機上:fastboot flash boot boot.img 然後按下 Enter:

螢幕截圖 2017-02-22 17.39.28.png

如果都出現 OKAY 代表成功,反之則會出現錯誤訊息。同樣的如果想要刷入非官方的 recovery 比如 twrp (檔案名稱為 twrp-3.0.2-0-Z012D-20161227.img),則是輸入 fastboot flash recovery twrp-3.0.2-0-Z012D-20161227.img,不過後面檔案名稱這麼長,一個個敲入很容易出錯,所以你可以先輸入開頭幾個字比如 twrp,接著再按一下 Tab 鍵,系統就會自動補上後面的名稱。

螢幕截圖 2017-02-22 17.39.43.png

同樣的道理如果我們想要刷入 system.img 則可以輸入 fastboot flash system system.img 即可將 system.img 刷到手機上。一般來說我們會刷的分割區不外 boot、recovery 與 system 這三個,只有在某些特殊狀況下比如系統大升級,才會刷入額外的檔案,比如 bootloader (aboot)、modem .. 等。技術上來說如果你只刷前面提到的三種分割區,手機不太會變成磚,因為都還可以開到 bootloader 或者 recovery 進行相關的救援操作。

另外 boot 分割區還有一個特殊指令:" fastboot boot 檔案 " 他可以把檔案載入記憶體中執行,而不是真的把 boot.img 刷入手機,好處就是如果你第一次使用某個第三方核心,不管你手邊是否有原廠的 boot.img,建議可以使用 fastboot boot boot.img 的方式【試用】第三方核心,這樣萬一因為 bug 導致手機無法正常開機 (卡在 logo 轉圈圈) 只要重新開機就跟沒發生過一樣,因為並沒有真的刷入 boot.img 而是在記憶體中執行。

除了刷入檔案以外,fastboot 也可以查詢手機的一些基本狀態,指令為 fastboot oem device-info:

螢幕截圖 2017-02-19 13.44.26.png

我已經懶得打馬賽克了,請自動無視 isn & ssn XD 有些手機不會顯示太多東西,可能只顯示系統是否被解鎖 bootloader (unlocked) 或者是否啟用充電畫面;有的則會吐出一堆資訊,好比說開機過幾次 (boot_count) 安全措施是否被攻破.. 等等。這些對於一般人可能沒甚麼用,不過對於玩機客來講是個獲取情報的好地方。

另外 fastboot 也可以進行雙清,不過這邊提醒一下各位,Android 6.0 之後會啟用所謂的 Factory Reset Protection (FRP) 手機雙清後在跑設定精靈時會要求輸入之前登入的 google 帳號密碼,所以請小心服用。所謂的雙清就是清除使用者資料 (userdata) 與快取 (cache) 分割區,前面提到 fastboot 可以對分割區刷入系統檔案,那當然也可以清除 (格式化) 分割區,指令就是 " fastboot format 分割區 ",所以我們可以用 " fastboot format cache " 跟 " fastboot format userdata " 來達到進入 recovery 執行 wipe data / factory reset 的效果。\

螢幕截圖 2017-02-19 13.48.57.png

螢幕截圖 2017-02-19 13.49.34.png

其實就是即時產生一個對應大小的空分割區檔案系統然後刷進去

最後都操作結束了,可以透過 fastboot reboot 指令將手機重開機進入系統:
螢幕截圖 2017-02-19 13.44.35.png





評分

參與人數 2Zen珠 +10 收起 理由
可樂貓 + 5 快來看神文
Enjie + 5 快來看神文

查看全部評分

沙發
台灣 Dr.Zen | 只看該作者
使用 fastboot 指令很實用也很方便,不過可能要小心操作 XD

如同廣告詞一般,刷機前請詳閱公開說明書~
板凳
台灣 高級會員 | 只看該作者
我自己習慣用shift+右鍵,選在此處開啟命令提示字元,沒有很習慣鍵盤XDXD
地板
台灣 Dr.Zen | 只看該作者
現在開發者交流區 很缺這種文章XD 辛苦S老大了^_^  

那目前就有兩篇完整的文章

1、刷機小教室 - 手機變成磚了該怎麼辦?

2、刷機小教室 - 簡易 fastboot 教學



5#
台灣 Dr.Zen | 只看該作者
老媽,快來看神文~ XD  神文教學必收藏~
6#
台灣 素人 | 只看該作者
感謝大大無私的分享... 
7#
台灣 素人 | 只看該作者
感謝! 自己摸索也慢慢學會,但浪費太多時間,精力了。

收藏起來,因為我不常用沒多久就記不清,再讀此篇有溫故知新之效果!
8#
先收藏再來研讀!雖然現在很少折騰了!
9#
台灣 素人 | 只看該作者
謝謝分享,新手機晚點在刷。
10#
台灣 Dr.Zen | 只看該作者
讀多了這樣的帖子,總有一天我會開始動手做。
12下一頁
進階編輯
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Powered by Discuz! X3.1|手機版|

快速回覆 返回頂部 返回列表
分享連結
訊息分享