快轉到主要內容

如何用Linux電腦給Android手機刷機,以小米手機為例

智慧型手機 Root與刷機 Android Linux Xiaomi
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

本文介紹如何在Linux安裝ADB和Fastboot,並拿「小米手機刷機回原廠」當實際刷機例子。

如果熟悉使用命令行的話,Linux系統給Android刷機/root,比用Windows刷機要方便許多,因為不需要裝驅動之類有的沒的。

除非刷機過程需要用到原廠的特定程式,例如小米手機官方解bootloader鎖需要Windows電腦跑 Mi Unlock,那就沒有辦法單純用Linux操作,得用虛擬機。(其實小米解鎖程式也是有非官方Linux版啦,像是XDA用戶開發的 XiaomiTool

1. 安裝ADB與Fastboot套件
#

Linux系統給Android手機刷機通常不需要裝手機的「驅動程式」,那些都含在Linux核心裡面了。刷機需要工具是ADB和Fastboot工具。

1.1. 用套件管理員安裝
#

大多數Linux發行版可透過套件管理員安裝ADB與Fastboot工具:

sudo apt install android-tools

安裝後即可在終端機使用adbfsastboot指令

1.2. 手動下載執行檔
#

第二個安裝方法是到 Android Developers下載Google建置的Platform Tools,僅適用x86_64架構的電腦。

解壓縮即會得到adb和fastboot的二進位執行檔。

這樣做的好處是無論哪個發行版都能下載到最新版的ADB,可是要執行adbfastboot的指令必須切換到執行檔所在的目錄,而無法全系統呼叫。

執行adb指令前要先切換到該執行檔所在的目錄

cd ~/Downloads/platform-tools
./adb

2. 開始刷機
#

Android廠牌太多,刷機方法無法一概而論,但是大多數步驟用到的就是ADB和Fastboot這二個工具而已。

以「將小米手機刷回原廠」這個目的來看

  1. 首先到 ezbox按照機型,下載小米原廠的刷機包,選fastboot版本的

  1. 在下載目錄開啟終端機,將tgz解壓縮
tar -xvzf whyred_global_images_V11.0.5.0.PEIMIXM_20200917.0000.00_9.0_global_46113830ee.tgz
cd whyred_global_images_V11.0.5.0.PEIMIXM_20200917.0000.00_9.0_global
  1. 解壓縮出來的目錄會有以下檔案。小米的刷機包跟其他廠牌不同,它有提供刷機指令稿flash_all.shflash_all.bat

  1. 在Windows上很多用戶會用MiFlash圖形界面來刷機,但是Linux其實只要用終端機執行flash_all.sh就可以完成刷機,裡面都是fastboot的指令。
# 這邊是flash_all.sh的內容節錄
fastboot $* flash xbl  `dirname $0`/images/xbl.elf
fastboot $* flash xblbak   `dirname $0`/images/xbl.elf
fastboot $* flash tz   `dirname $0`/images/tz.mbn
fastboot $* flash tzbak   `dirname $0`/images/tz.mbn
  1. 將小米手機關機,按特定組合鍵使其進入Fastboot模式,用原廠線插到電腦USB Type A 2.0的孔(USB 3.0或Type C似乎容易抓不到裝置)。執行fastboot devices指令查看已連接的裝置。

  1. 執行flash_all.sh指令稿,它會開始刷機回原廠,但不會給手機上bootloader鎖。
bash flash_all.sh
  1. 等待刷機完成即可重開機

相關文章

[Root] Termux:以原生效能在Android手機上跑Docker (紅米Note 5)
智慧型手機 Root與刷機 Termux Android Linux Kernel Docker Xiaomi
Linux Deploy使用教學:在Android手機安裝Linux chroot容器
智慧型手機 Root與刷機 Linux Deploy Android Chroot
獨立編譯Android kernel(核心),以小米手機為例
智慧型手機 Root與刷機 Android Linux Kernel

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。