快轉到主要內容

如何用Linux電腦給小米手機刷機,或回復原廠系統

分類   智慧型手機 Root與刷機
標籤   Android Linux Xiaomi
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

Flashing custom Xiaomi Phone ROM on Linux.

本文介紹如何在GNU/Linux安裝ADB和Fastboot,給小米手機進行刷機。

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

1. 安裝ADB與Fastboot套件
#

一般的GNU/Linux系統給Android手機刷機通常不需要裝手機的「驅動程式」,那些都含在Linux核心裡面了。

刷機需要工具主要是ADB和Fastboot工具,選擇一種方法安裝,

用套件管理員安裝
#

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

sudo apt install android-tools

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

手動下載執行檔
#

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

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

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

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

cd ~/Downloads/platform-tools
./adb

2. 解鎖小米手機的Bootloader
#

新買的小米手機,需要等待15天後,下載官方解Bootloader鎖的程式 Mi Unlock來解鎖。

Mi Unlock這個程式需要Windows電腦,沒有辦法直接用Linux操作,得用 Windows QEMU/KVM虛擬機搭配USB重新導向來解鎖。

不過,其實小米解鎖工具也是有非官方Linux版啦,像是XDA用戶開發的 XiaomiTool MiUnlock,他們可以協助你在Linux取得解鎖碼。請注意他們無法繞過新機的15天限制。

3. 開始刷機
#

小米手機迭代好久了,刷機方法無法一概而論,但是大多數步驟用到的就是ADB和Fastboot這二個工具而已。

小米手機的第三方ROM可以到XDA Developers下載,歐版ROM請到xiaomi.eu下載。

  1. 讓小米手機進入Fastboot模式。

  2. 將小米手機用原廠線插到電腦USB Type A 2.0的孔(USB Type A 3.0或Type C似乎容易抓不到裝置)。輸入lsusb指令確認有認到小米裝置,應該會顯示Google Inc.或者Xiaomi開頭

  3. 輸入fastboot devices確認有偵測到Fastboot模式的裝置

  4. 這樣就可以開始刷機了,不論是要裝TWRP還是直接刷都行,請參閱XDA文章的指示。

4. 將小米手機刷回原廠系統
#

在Windows上很多用戶會用MiFlash程式來刷機,但是其實Linux只要執行小米刷機包裡面隨附的指令稿就能刷機。

小米的刷機包跟其他廠牌不同,它有提供便捷的刷機指令稿。

  1. ezbox按照機型,下載小米原廠的刷機包,選fastboot版本的tgz。例如我是Xiaomi Pocophone F1。

  2. 在下載目錄開啟終端機,將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. 解壓縮出來的目錄會有以下檔案。

  2. 檢查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 Type A 3.0或Type C似乎容易抓不到裝置)。執行fastboot devices指令查看已連接的裝置。

  2. 執行flash_all.sh指令稿,它會開始刷機回原廠。如果要給手機Bootloader上鎖請改執行flash_all_lock.sh指令稿。

bash flash_all.sh
  1. 等待刷機完成即可重開機

相關文章

[Root] Termux:以原生效能在Android手機上跑Docker (紅米Note 5)
分類   智慧型手機 Root與刷機
標籤   Termux Android Linux Kernel Docker Xiaomi
沒有Google服務、保護隱私的系統:/e/OS+ 小米Poco F1 刷機體驗
分類   智慧型手機 Root與刷機
標籤   Degoogle LineageOS Android
[Root] Android手機跑Docker容器 / Flatpak / Snap / Waydroid,Sony Xperai 5 II編譯自訂kernel
分類   智慧型手機 Root與刷機
標籤   Sony Xperia Linux Kernel Android Docker Flatpak Waydroid

留言板

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

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

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