一加 oneplus9/9PRO 陸版搭載的是 ColorOS,與 OOS 和 HOS 不同,刷入 Magisk 時不能直接將 Patch 過的 Boot 鏡像直接刷入(會導致無法開機或無限重啟)
# 解鎖
Android 刷機第一步,永遠都是先解 Bootloader
解鎖過程中手機會執行 format 操作,這會清除手機上的所有資料,在解鎖前請備份好重要資料,並退出 google 賬戶與 oneplus 賬戶
- 啟用「開發人員選項」,進入設置 ->
關於手機->版本資訊-> 連續快速點擊 5 次版本號碼 - 打開開發人員選項中的 OEM 解鎖,進入設置 ->
其他設定->開發人員選項-> 打開OEM解鎖選項 - 下載 ADB 工具 Platform Tools 並解壓縮的本地
- 手機進入 Fastboot 模式,手機關機 -> 長按「音量下鍵」和「電源鍵」進入
Fastboot快速啟動模式 -> 用 USB 數據線連接電腦和手機 - 進行解鎖,進入 ADB 工具 Platform Tools 所在的資料夾,在資料夾空白位置按住鍵盤
shift鍵並滑鼠右擊,選擇在此處打開powershell窗口,輸入
.\fastboot flashing unlock |
解鎖過程中不要觸碰手機,更不要拔除數據線,耐心等待解鎖完成,解鎖成功後手機會自動重啟進入系統
# Patch 鏡像
# 下載工具和 ROM
由於 ColorOS 目前只搭載在陸版手機上,所以需要進入 oneplus 大陸官網是下載
務必正確選擇與手機型號對應的 ROM,否則可能會變成一塊高科技磚頭
oneplus 官方 ROM
payload-dumper-go 工具,用於對官方 ROM 進行處理
下載 payload-dumper-go 最新版本,windows 用戶請選擇名稱包含 _windows_amd64 的檔案
payload-dumper-go github releases
# 提取 IMG 鏡像
- 將下載好的 payload-dumper-go 工具解壓縮到本地,得到一個包含
payload-dumper-go.exe軟體的資料夾 - 官方 ROM 下載後是一個 zip 壓縮檔,將其解壓縮到 payload-dumper-go 所在的資料夾,會得到一個名為
payload.bin的檔案,將payload.bin檔案拖動到payload-dumper-go.exe軟體上進行解構,解構完成後會在 payload-dumper-go 資料夾中生成一個extracted_開頭的新資料夾,其中包含了 ROM 中包含的所有鏡像
不要嘗試直接打開 payload-dumper-go.exe 程式,只需要將 payload.bin 檔案拖動到牠上面即可
- 在解構得到的資料夾中找到這三個分區的鏡像,複製到 Platform Tools 所在的資料夾備用
boot.img | |
vendor_boot.img | |
vbmeta.img |
如果不確定下載的 ROM 是否正確,可以讓手機進入 Fastboot 快速啟動模式,在 ADB 中執行 .\fastboot boot boot.img 指令(該指令會以提取到的 boot.img 執行一次臨時啟動,重啟後失效),如果能正常啟動則說明 ROM 是正確
# Patch 鏡像
- 在手機中安裝
Magisk manager(可以是任意一台 Android 手機), - 將剛剛複製出來的
boot.img和vendor_boot.img複製到裝有 Magisk manager 的手機中 - 打開 Magisk manager ->
選擇並修補檔案-> 分別選擇剛剛複製的boot.img和vendor_boot.img - 將 Patch 後的
boot.img和vendor_boot.img複製回電腦 ADB 工具 Platform Tools 所在的資料夾,並重新命名為boot_magisk.img和vendor_boot_magisk.img
vbmeta.img 不需要進行 Patch
# 刷入 Patch 後的鏡像
- 手機進入 Fastboot 模式,手機關機 -> 長按「音量下鍵」和「電源鍵」進入
Fastboot快速啟動模式 -> 用 USB 數據線連接電腦和手機 - 進入 ADB 工具 Platform Tools 所在的資料夾,在資料夾空白位置按住鍵盤
shift鍵並滑鼠右擊,選擇在此處打開powershell窗口,分別依次輸入
fastboot flash vendor_boot vendor_boot_magisk.img | |
fastboot flash boot boot_magisk.img | |
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img |
添加的 --disable-verity --disable-verification 參數是用於關閉 VAB2.0 驗證,該驗證作用是校驗 boot.img 是否被修改以此確保手機系統的安全,如果不關閉 VAB2.0 驗證,則在刷入 Magisk 或第三方 Recovery 後會導致無法進入系統或無限重啟的狀況
- 刷入完成後重啟手機,安裝完整的 Magisk manager 即可享受 Magisk 帶來的便利了