快轉到主要內容

Android手機Root後如何進行OTA系統更新,以Pixel為例

· 民國115年丙午年
·
切換繁體/簡體 ·
分類 智慧型手機 Root與刷機
標籤 Magisk KernelSU APatch
目錄

你在透過Magisk/KernelSU/APatch取得Root權限後,要如何透過OTA更新系統呢?

技術上來說Android手機在Root後,依然可以跑OTA更新,只是過程比較繁瑣而已。

通常,只要有Root的裝置,系統認為你的環境不乾淨,就不會給你OTA更新系統。舉凡Google Pixel、Sony、小米、Samsung、OnePlus、ASUS皆是如此。

少部份例外是LineageOS,有Root的時候它還是會讓你下載OTA更新,不過更新後boot分區會一併覆蓋掉,這會導致Root權限暫時噴掉。需要手動修補。

本文Ivon討論一些Root後如何OTA的手段,以及如何在更新後快速復原Root權限。

測試裝置:Google Pixel 6a,原廠Android 16系統 & LineageOS

方法1:還原boot.img再安裝OTA更新
#

Magisk/KernelSU/APatch的Root方式都是修補手機的boot.img或init_boot.img,修改後系統就會變得不乾淨。那麼,只要還原原廠未修補前的boot.img,就可以重新接收更新了。

你可以用Root權限管理員來還原原廠boot.img。Magisk與APatch提供「解除安裝」的按鈕,解除安裝後,就會還原無修改過的boot.img。

或者用電腦刷入原廠boot.img。

要是你沒有備份原廠boot.img怎麼辦?找原廠更新包。例如Google Pixel官方有提供原廠映像檔,從壓縮檔裡面的image檔案可以解出boot.img。

然後,將手機接到電腦,進入Fastboot模式,用fastboot指令刷入該檔案到boot分區就行了。

fastboot flash boot boot.img

等待更新後再重新修補boot.img取得Root權限即可。

方法2:使用電腦刷機程式手動安裝OTA更新
#

以Google Pixel來說,官方有提供原廠映像檔以及Android Flash Tool刷機工具。

讓手機進入Fastboot模式,接到電腦,再執行Android Flash Tool,選取最新版Public Releases,就可以更新到最新版系統。

不過這個工具可能會以為你要還原原廠,會嘗試清除使用者資料,因此在刷之前要記得點開選項,取消勾選Wipe DeviceLock Booloader,只要更新系統就好,不要清除資料。

由於有Root的裝置通常已經是解鎖Bootloader的裝置了,所以這裡刷機應該不會觸發清除資料的機制。

方法3:用Root權限管理員在OTA之後保留Root
#

此方法的前提是裝置需要使用A/B分區來進行系統更新。Google Pixel幾乎全系列都使用這套機制。

假設你的系統在Root的狀態下還願意給你OTA的話,就可以用這個方式在OTA後保存Root權限。這樣的話就不需要透過電腦來刷入修補的boot.img了。

Magisk/KernelSU/APatch都有提供這個功能。

  1. 先安裝OTA更新,等到安裝完成後提示你重開機,但先不要重開機

  2. 開啟Root權限管理員,點選安裝,將其安裝到非活動插槽(slot),這樣的話它修補的對象就會變成剛剛安裝的OTA更新的boot.img了!

  3. 為了安全起見,你可以先把一些模組停用,免得因為系統更新後衝突開不了機。

  4. 重開機,Root權限就會自動繼承到更新後的系統,不用修補boot.img。

  5. 如果Root權限繼承失敗,就多一個步驟,手動修補boot.img,然後透過電腦Fastboot刷入。

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。