快轉到主要內容

Android手機安裝Magisk如何進行OTA系統更新,並保持Root權限

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

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

注意Root下OTA系統更新仍有風險,尤其是非LineageOS的原廠系統,可能會無法開機。

1. 判別手機更新行為
#

OTA即空中更新,是從手機上安裝系統更新的技術,不需要電腦。但是Android品牌眾多,不同手機更新方式不一樣…我只講個大方向。

現在Android 13的Magisk通常透過修補boot.img安裝,由於Magisk僅存在於boot.img,不修改系統檔案。因此讓Magisk暫時消失,還原手機原本的boot.img,通常就可以跑OTA更新。之後再把Magisk刷回來。

為此裝Magisk的手機要更新系統前,首先要判別手機更新行為,再討論如何處理Magisk。下面討論的都是不含TWRP、手機啟用A/B分區的情況。

可以分為四種情況:

  1. 有的手機即使Root,仍可以從「系統設定」取得OTA更新,並且安裝完才會重開機,此時請採用安裝非使用的槽位法

  2. LineageOS系統,即使Root後還是可以從系統設定取得OTA更新。更新後才會重開機。可採用安裝非使用的槽位法重新修補boot.img法

  3. 系統更新要重開機(進Recovery)才會開始安裝的,一律採用重新修補boot.img法

  4. 如果手機偵測解鎖bootloader或Root後「系統設定」就看不到更新OTA的,請採用重新修補boot.img法

2. 方法一:安裝至非使用的槽位
#

此方法僅限Root後仍能從「系統設定」收到OTA、安裝更新不會立即重開機、採用A/B分區的手機。

  1. 開啟開發人員選項 → 關閉開機後套用自動OTA更新

  2. 開啟Magisk,點選解除安裝 → 還原原始映像檔

  3. 點選系統設定,檢查更新,開始安裝OTA。更新完後不要重開機。

  4. 開啟Magisk,點選安裝 → 安裝至非使用的槽位,之後重開機。

3. 方法二:重新修補boot.img
#

  1. 將手機還原到沒有Magisk的狀態。要達成此目的,可以開啟Magisk,按解除安裝Magisk → 還原映像檔,還原原廠的boot.img

另一種方法是用Fastboot還原boot.img。你可以嘗試從系統更新包抽取boot.img,讓手機進入Fastboot後,用電腦的Fastboot刷入:

fasttboot flash boot boot.img
  1. 重開機,開啟Magisk APP,確認Magisk已安裝變成「無」

  2. 確認Magisk暫時消失後,開始套用系統更新。

有些手機一旦解鎖bootloader,系統設定就不給OTA了!如果無法單靠手機更新,就得另外找方法刷入系統更新包,比方說小米可以用電腦刷 線刷包;Sony則是用 NewFlasher強刷。

  1. 在更新完系統後,從系統更新包抽出boot.img,交給Magisk APP修補boot.img

  2. 之後再將該檔案傳回電腦。讓手機進入Fastboot,將修補過的boot.img刷回手機

fasttboot flash boot magiks_patched_boot.img

參考資料
#

OTA Upgrade Guides | Magisk

相關文章

給Sony Xperia 5 II刷機升上Android 13 (LineageOS 20)
智慧型手機 Root與刷機 Sony Xperia LineageOS Magisk
Sony Xperia手機Root後如何安裝OTA更新,使用NewFlasher
智慧型手機 Root與刷機 Sony Xperia Magisk
2023年Magisk推薦安裝的模組,提升手機效能、擋廣告、自定義主題
智慧型手機 Root與刷機 Magisk

留言板

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

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

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