Linux中國

詳解使用 fastboot 為 Android 刷入原廠鏡像

如果你的手機有一個解鎖的 bootloader 的話,你可以用 fastboot 命令來刷入原廠鏡像。聽起來這好像是外行弄不懂的東西,但是當你需要升級被 root 過的設備,修理壞掉的手機,恢復到原生系統,或者是比別人更早的享受 Android 更新時,它可是最好的辦法。

ADB 類似,fastboot 是一個強大的 Android 命令行工具。這聽起來可能會很恐怖 —— 別擔心,一旦你了解了它,你就會知道 Android 的內部工作原理,以及如何解決最常見的問題。

關於三星設備的注釋

下面的指南對於 Nexus、Pixel、HTC 以及 Motorola 的大多數設備,以及其他眾多廠商的手機和平板電腦都適用。但是,三星的設備有自己的刷機軟體,所以你的 Galaxy 設備並不支持 Fastboot。對於三星的設備,最好使用 Odin 來進行刷機工作,我們在下文的鏈接中提供了相關指南。

第一步 在你的電腦上安裝 ADB 和 Fastboot

首先,你需要在你的電腦上安裝 ADB 和 Fastboot,只有有了它們你才能使用 Fastboot 命令刷入鏡像。網上有不少「一鍵安裝版」或者「綠色版」的 ADB 和 Fastboot,但是我不建議安裝這樣的版本,它們沒有官方版本更新那麼快,所以可能不會完全兼容新版設備。

你最好從 Google 上安裝 Android SDK Tools。這才是「真正的」 ADB 和 Fastboot。安裝 SDK Tools 可能需要一點時間,不過這等待是值得的。在下面的 方法 1 中,我會說明在 Windows, Mac,以及 Linux 中安裝這個軟體的方法,所以可以跳轉到那裡開始。

第二步 OEM 解鎖 OEM Unlocking

為了能夠使用 Fastboot 刷入鏡像,你需要解鎖你設備的 bootloader。如果你已經解鎖,你可以跳過這步到第三步。

如果你的設備的 Android 版本在 6.0 及以上的話,在你解鎖 bootloader 之前,你還需要開啟一項設置。首先你需要開啟 開發者選項 Developers Options 。開啟之後,進入「開發者選項菜單」,然後開啟 「OEM 解鎖」 選項。之後就可以進行下一步了。

如果你的設備沒有這個選項,那麼你的設備的 Android 版本可能不是 6.0 或以上。如果這個選項存在但是是灰色的,這就意味著你的 bootloader 不能解鎖,也就是說你不能使用 Fastboot 給你的手機刷入鏡像。

第三步 進入 Bootloader 模式

在使用 Fastboot 軟體之前,你還需要讓你的設備進入 bootloader 模式。具體進入方式與你的設備有關。

對於大多數手機,你需要先完全關閉你的手機。在屏幕黑掉以後,同時按住開機鍵和音量向下鍵大約 10 秒。

如果這不起效的話,關掉手機,按住音量降低鍵。然後把手機用 USB 數據線連到電腦上,等上幾秒鐘。

如果還不起效的話,改按音量升高鍵,再試試第二種方法。

很快你就會看見像這樣的 bootloader 界面:

看到這個界面之後,確保你的設備已經連接到電腦上。之後的工作就都是在電腦上完成了,把手機放在那裡就成。

第四步 在你的電腦上為 ADB 打開一個命令行窗口

轉到 ADB 和 Fastboot 的安裝目錄。對於 Windows 用戶來說,這目錄通常是 C:Program Files (x86)Androidandroid-sdkplatform-tools。 對於 Mac 和 Linux 用戶,則取決於你安裝此工具時將 ADB 解壓的位置,所以如果你忘了位置的話,就在硬碟里搜索 platform-tools

在安裝目錄下,如果你使用 Windows PC 的話,按住鍵盤上的 Shift 鍵,在文件管理器的空白處單擊右鍵,然後選擇「在此處開啟命令行窗口」。如果你用的是 Mac 或者 Linux,那麼你僅僅需要打開一個終端,然後轉到 platform-tools 下。

第五步 解鎖 bootloader

這一步你僅僅需要做一次,所以如果你的 bootloader 已經解鎖,你可以直接跳過這步。否則你還需要運行一條命令 —— 注意,這條命令會清空你設備上的所有數據

在輸入命令之前,我需要說明下,下面的命令僅僅對 Windows 適用,Mac 用戶需要在每條命令前加上一個句號和一個斜線(./),Linux 用戶則需要加上一個斜線(/)。

所以,在 ADB Shell 里輸入如下命令,然後按下回車鍵。

fastboot devices

如果程序輸出了以 fastboot 結尾的一串字元,那就說明你的設備連接正常,可以繼續操作。如果沒有的話,回到第一步,檢查你的 ADB 以及 Fastooot,是否正確安裝,之後再確定設備是否如第三步所示進入了 bootloader 模式。

之後,解鎖你的 bootloader。因為 Android 版本的差別,我們有兩種方法來解決這個問題。

如果你的設備的 Android 版本是 5.0 或者更低版本 ,輸入如下命令:

fastboot oem unlock

如果你的 Android 版本是 6.0 或更高的話,輸入如下命令,然後按下回車:

fastboot flashing unlock

將解鎖命令發送到 6.0 或者更高版本的 Android 手機上

這時,你的 Android 手機會問你是否確定要解鎖 bootloader。確定你選中了 「Yes」 的選項,如果沒有,使用音量鍵選中 「Yes」。然後按下電源鍵,你的設備將會開始解鎖,之後會重啟到 Fastboot 模式。

Nexus 6P 上的解鎖菜單。圖像來自 Dallas Thomas/Gadget Hacks

第六步 下載出廠鏡像

現在你的 bootloader 已經解鎖,準備好刷入出廠鏡像了 -- 不過,你需要先下載鏡像。下面是常規設備下載出廠鏡像的鏈接。

使用上面的鏈接,在列表中定位你的設備型號,然後下載最新固件到計算機上。如果你的廠商不在列表中,可以試著用 「factory images for 」 進行 google 搜索。

第七步 刷入出廠鏡像

現在該刷入鏡像了。首先將從廠商網站下載的出廠鏡像文件解壓。我推薦 7-Zip ,它是免費的,支持大多數格式。

解壓出廠鏡像

下一步,把壓縮包中內容移動到你的 ADB 安裝文件夾。之後在這裡打開一個命令行窗口。要得到更多信息,請回看第四步。

出廠鏡像移動到 platform-tools 的文件

除了上面這些,你有兩種刷入鏡像的方法。我會在下文分開敘述。

方法一:使用 flash-all 腳本

大多數出廠鏡像都會包含一個flash-all 腳本,可以讓你一條命令就完成刷機過程。如果你試圖讓你的黑磚恢復正常的話,這是最簡單的方法。但是這會讓你的手機回到未 root 的狀態,並會擦除所有數據,如果你不想這樣的話,請選擇方法二。

如果要運行 flash-all 腳本,輸入如下命令,之後敲下回車:

flash-all

運行 "flash-all" 命令

這需要一點時間,當這步完成之後,你的手機應當自動重啟,你可以享受 100% 原生固件。

方法二 手動解壓刷入鏡像

你可以手動刷入系統鏡像。這麼做需要額外的工作,但是它可以在不清除數據的情況下反 root,升級設備,或者救回你的磚機。

首先解壓出廠鏡像包中的所有壓縮文件。通常壓縮包里會包含三或四個層疊的文件夾,確認你已經解壓了所有的壓縮文件。之後把這些文件移動到 platform-tools —— 或者說,別把他們放到任何子文件夾下。

從出廠鏡像包解壓後的所有文件移至 platform-tools 目錄

在這些文件里,有兩個鏡像是可以直接刪除的:cache.imguserdata.img。就是這兩個文件清除了你的設備數據,如果你不刷入這兩個鏡像,你的數據就不會消失。

在剩下的文件中,有六個鏡像構成了 Android 的核心部分: bootbootloaderradiorecoverysystemvendor

boot 鏡像包含了內核,如果你想要換掉一個不太好用的自製內核的話,你僅僅需要刷入這個文件。通過鍵入如下命令完成工作:

fastboot flash boot <boot image file name>.img

下一個就是 bootloader 鏡像—— 也就是你用來刷入鏡像的界面。如果你要升級 bootloader 的話,輸入如下命令:

fastboot flash bootloader <bootloader image file name>.img

做完這步之後,你就可以用新版的 bootloader 刷入鏡像。要想如此,輸入:

fastboot reboot-bootloader

之後就是 radio 鏡像。這個鏡像控制你設備的網路連接,如果你手機的 Wi-Fi 或者移動數據出現了毛病,或者你僅僅想升級你的 radio,輸入:

fastboot flash radio <radio image file name>.img

然後就是 recovery。根據你之前的修改,你可能選擇刷或不刷這個鏡像。例如,如果你已經刷入 TWRP 的話,刷入這個鏡像覆蓋你的修改,並替代為 stock recovery。如果你僅僅要升級你的已經被修改過的設備,你就可以跳過這步。如果你想要新版的 stock recovery ,鍵入:

fastboot flash recovery <recovery file name>.img

下一個可是個大傢伙:system 鏡像,它包含了 Android 系統所需的全部文件。它是升級過程中最重要的部分。

如果你不想升級系統,僅僅是要換回原生固件或者是救磚的話,你只需要刷入這個鏡像,它包含了 Android 的所有文件。換言之,如果你僅僅刷入了這個文件,那你之前對這個設備做的修改都會被取消。

作為一個救磚的通用方法,以及升級 Android 的方法,鍵入:

fastboot flash system <system file name>.img

最後,就是 vendor 鏡像。只有新版的設備才包含這個包。沒有的話也不必擔心,不過如果有這個文件的話,那它就包含了一些重要的文件,鍵入如下命令使其更新:

fastboot flash vendor <vendor file name>.img

在這之後,你就可以重新啟動設備:

fastboot reboot

手動逐個刷入出廠鏡像

至此,你的設備已經完全更新,如果你是救磚的話,你的手機應該已經完好的運行。如果你知道每個系統鏡像怎麼是幹什麼的話,你就會更好的理解 Android 是怎麼運行的。

手動刷入鏡像比做任何修改已經幫助我更多地理解了 Android。你會發現,Android 就是寫進存儲設備里的一堆鏡像,現在你可以自己處理他們,你也能更好的處理有關 root 的問題。

via: http://android.wonderhowto.com/how-to/complete-guide-flashing-factory-images-using-fastboot-0175277/

作者:Dallas Thomas 譯者:name1e5s 校對:jasminepeng

本文由 LCTT 組織編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
1
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國