Pixel 3 XL在Android 12使用Magisk刷機發生root失敗的原因

原本Pixel 3 XL是Android 11,這幾天不小心被更新到Android 12,root消失。到官網下載Factory Images,直接刷最新版12.0.0 (SP1A.210812.016.C2, Jun 2022),沒想到在Bootloader刷Magisk patch過的boot.img會root失敗(刷很多次,Magisk Manager一直顯示沒裝Magisk)。後來查到原因可能和Android Verified Boot有關,關鍵點在於在Bootloader直接刷入fastboot flash boot magisk_patched-26100_xxxxx.img,一定會root失敗,甚至可能無法啟動。

解法如下,但是你已經刷了fastboot flash boot magisk_patched-26100_xxxxx.img,只能先用Factory Images全新安裝,再用以下方法才有效。

方法一

參考〈How to Root Pixel Devices via Magisk on Android 12〉第七步驟──這方法我沒試過。

  1. 在Factory Images裡,先將檔案image-crosshatch-sp1a.210812.016.c2.zip解壓縮,取得vbmeta.img

  2. 關閉vbmeta.img的AVB和DM驗證,然後刷入:

    fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img
  3. 將Magisk patch過的boot.img刷入到目前的啟動區:

    fastboot flash boot magisk_patched-26100_xxxxx.img

    或刷入到全部的啟動區:

    fastboot flash boot --slot all magisk_patched-26100_xxxxx.img
  4. 手機重開機就完成了。

方法二

參考〈不使用 TWRP,为你的 Pixel 设备刷入 Android 12 和 Magisk〉第〈0x3 打补丁〉和〈0x4 永久化刷入 Magisk〉步驟──我是用這方法完成root。

  1. 不要從Bootloader去刷Magisk patch過的boot.img,而是去啟動它:

    fastboot boot magisk_patched-26100_xxxxx.img
  2. 手機重開機進入系統,開啟Magisk Manager → Magisk → 安裝 → 直接安装(建議)。

    Magisk Install

    Magisk Direct Install

  3. 等Magisk刷入重開機就完成了。