快轉到主要內容

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

智慧型手機 Root與刷機 Android Linux
✍ 切換正體/簡體字
Ivon Huang
作者
Ivon Huang
目錄

本文介紹如何在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. 等待刷機完成即可重開機

相關文章

Linux Deploy使用教學:在Android手機安裝Linux chroot容器
智慧型手機 Root與刷機 Linux Android Ubuntu chroot
[Root] Android手機跑Docker容器和Flatpak,Sony Xperai 5 II編譯自訂kernel
智慧型手機 Root與刷機 Sony Xperia Linux kernel Android Docker Flatpak
在小米Poco F1安裝Linux與Android雙系統,達成多重開機
智慧型手機 真Linux手機 postmarketOS Linux Android

留言板

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

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

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。