[教學] Pixel 4 XL 手動刷機操作流程 – Unlock, Root, Relock

/ 分類: , / 0 則回應

標籤: ,

隨著 Pixel 4 XL Factory Image 的釋出,在 Magisk 20.0 已經支援 Android 10 的情況下,要取得 root 權限相當便捷,以下紀錄在 Windows 10 作業系統環境下包含解鎖、取得 root 權限等操作流程。

本文記錄步驟為個人經驗分享,僅提供參考,操作前請先行備份重要資料,如果因為更新韌體造成手機無法正常運作或使用者資料遺失,不負擔相關責任

刷機前置作業

建立 SDK Platform Tools 作業環境


從 Android 開發者網頁下載最新版本 SDK Platform Tools for Windows 後,將檔案解壓縮至 C:\platform-tools

啟用開發人員選項 (USB 偵錯/OEM 解鎖)

  1. 於開機後,進入 「設定」 / 「系統」 / 「關於手機」 的畫面後,將畫面滑至最底,連續點擊 「版本號碼」 七次後啟用開發人員選項
  2. 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「OEM 解鎖」,點擊 「允許解除鎖定開機載入器」 描述文字位置,允許 OEM 解鎖
  3. 進入 「設定」 / 「系統」 / 「開發人員選項」,找到 「USB 偵錯」 並啟用
  4. 這時透過 USB 線材連接電腦與手機,此時手機會跳出 「電腦的 RSA 金鑰」,勾選 「一律允許透過這台電腦進行」 後按下 「確定」

驗證 ADB/Bootloader Interface 驅動狀態

  1. 確認手機已經啟用 「USB 偵錯」 並與電腦連接後,開啟命令提示字元,輸入 cd C:\platform-tools
  2. 輸入 adb devices 確認 Pixel 4 XL 已透過 ADB Interface 與電腦連接並正確偵測
  3. 手機會在輸入 adb reboot bootloader 後切換至 fastboot mode
  4. 輸入 fastboot devices 確認 Pixel 4 XL 已透過 Bootloader Interface 與電腦連接並正確偵測
  • 如果 device 顯示 unauthorized,代表並未允許目前連接電腦所使用的 RSA 金鑰,請確認在 「USB 偵錯」 啟用的情況下,重新連接手機與電腦並同意授權
  • 如果 ADB/Bootloader Interface 並未正常驅動,在裝置管理員也顯示驚嘆號,請參考 「如何正確安裝 Google 通用驅動程式」 一文

手機解鎖流程 (Unlock)


包含更新 Kernel、Rom、Recovery 等操作,必須是要在手機已經解鎖的情況下,以下為 Pixel 4 XL 在 fastboot 模式下的操作流程:

  1. 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
  2. 輸入 fastboot flashing unlock 進行手機解鎖操作,當命令提示字元跳出 Finished. 的同時,手機畫面右上角會跳出 「Do not unlock the bootloader」,此時用音量上下鍵切換至 「Unlock the bootloader」 後按下電源鍵
  3. 當手機的 Device state 從綠色的 Locked 變為紅色 Unlocked,代表手機已經完成解鎖,此時回到命令提示字元輸入 fastboot reboot 將手機重開機

root 權限取得流程

由於作業系統架構異動過大,TWRP 短時間並無法支援 Android 10,原生就搭載 Android 10 的 Pixel 4 系列手機,目前只能透過 Magisk 來修改 boot.img,再刷回手機來取得 root 權限,以下為操作流程說明。

取得原廠韌體 boot.img

  1. 依據目前手機使用韌體版本,從官網 “coral” for Pixel 4 XL 下載相對應 Factory Image : 10.0.0 (QD1A.190821.007, Oct 2019)
  2. 將 coral-qd1a.190821.007-factory-e915f51a.zip 解壓縮,並找到 image-coral-qd1a.190821.007.zip
  3. 將 image-coral-qd1a.190821.007.zip 解壓縮後,將 boot.img 複製到手機儲存媒體 /sdcard/Download

製作 magisk_patched.img


連上 Magisk 在 Github 上專案下載頁面,下載最新版的 Magisk Manager 並安裝


首次執行 Magisk Manager 的時候,會看到顯示「未安裝 Magisk」紅字,這時點擊安裝最新版本 Magisk


模式選取「選擇並修改檔案」,選取提取好並上傳到手機中的原廠韌體 boot.img


這時 Magisk Manager 會自動下載最新版本 Magisk,並自動重新封裝 boot.img,完成後會在下載項目中看到 magisk_patched.img

置換手機 boot.img

  1. 重複 「驗證 ADB Interface 驅動狀態」 流程
  2. 輸入 adb pull /sdcard/Download/magisk_patched.img 將重新封裝的 boot.img 下載至 C:\platform-tools
  3. 將手機切換到 fastboot 模式,並 「驗證 Bootloader Interface 驅動狀態」
  4. 輸入 fastboot flash boot magisk_patched.img 覆蓋 Active Partition 的 boot.img
  5. 將手機重新開機

手機權限驗證

Pixel 4 XL root checked

重開機後,可以看到 Magisk 已經完成安裝,同時也可通過 SafetyNet 檢查並具備 root 權限

如何刷回原廠韌體或手動 OTA 韌體版本

  1. 重複 「驗證 ADB/Bootloader Interface 驅動狀態」 流程,將手機切換到 fastboot 模式
  2. 輸入 flash-all 後自動開始將原廠韌體刷回手機並自動於完成後重新開機
  • 下載回來的官方韌體所解壓縮路徑,請確認和 fastboot 在同一個資料夾下方
  • 如果刷回原廠韌體時,又想要保留 Internal Storage 內的資料的話,可以在 flash-all.bat 批次檔中找到 fastboot -w update 字串,將 -w 移除後存檔再執行 flash-all
  • 由於 OTA 機制在解鎖後會失效,若要手動更新版本同時保留使用者設定/安裝軟體,亦可透過上述移除 -w 的方式來對手機進行升級

一般留言 (0)

  1. 感謝i大回覆,現在遇到一個問題,原本我製作製作 magisk_patched.img的版本是QQ1C.200105.004,
    現在還沒做fastboot flash boot,重開機後,系統版本變成QQ1C.200205.002
    請問這樣的話我要重新下載QQ1C.200205.002的Factory Images重新製作了嗎?謝謝您!

    • 更新一下,後來我直接以手機顯示的版本抓Factory Image來製作magisk_patched.img

      但在驗證 Bootloader Interface 驅動狀態,
      輸入adb devices後,原本應該出現的

      XXXXXXXX device 這行沒有出現

      不過我還是照樣輸入
      fastboot flash boot magisk_patched.img並重開機

      然後Magisk就回來惹,提供給原本有Root但突然不見想救回的朋友參考

      也感謝i大提供方法!感激不盡

    • 正常情況下,建議使用對應韌體版本的 boot.img 去製作比較妥當

  2. 您好~ 我在輸入fastboot flashing unlock後不會跳出Finished.解鎖成功。而是跳出usage: fastboot [ ] 的指令列。我已經更新到最新版

  3. root完後,每次重新開機會進入flash畫面,這是正常嗎?還是要去關閉什麼的嗎?謝謝

    • 有在論壇上看到使用者反映過類似問題,不過個人並無遇過,無法給你完整修復流程(理論上應該可以在手機全關機的狀況下用Volume Down + Power來進入 fastboot mode),請先去抓你目前手機韌體版本的 Factory Image,然後參考本文”如何刷回原廠韌體…”這個章節,請記得把 flash-all.bat 批次檔裡面的fastboot -w update 把 -w 拿掉後執行 flash-all覆蓋安裝,理論上應該可以讓手機回復正常,再重新操作一次 root 取得流程

  4. 請問刷回原廠韌體前要先恢復原廠設定嗎?

    • 不確定是從第三方韌體回刷還是原廠韌體只是版本不同,通常來說,如果是拿 Factory Image 執行 Flash-All 的方式,不需刻意先回覆目前韌體原廠設定再刷

      • 我是原廠韌體,我當初是OTA更新版本變成了QQ1B因為要刷上台灣正確的版本QQ1C,嘗試手動OTA沒辨法刷成功,顯示QQ1B版本已比QQ1C還新就終止了,所以把手機解鎖flashall的方式更新為QQ1C,現在想要重新上鎖,不然有些app無法開啟,例netfilx就無法開啟,請問現在重新上鎖只能再用flashall的方式才能上鎖,還是另有方式?謝謝你的回覆。

        • 關於解鎖之後要 OTA 的流程還是要說明一下,到 https://developers.google.com/android/images 要下載 Factory Image 而不是 Full OTA Image,同時要執行 flash-all.bat 之前,務必記得將 fastboot -w update 的 “-w” 移除再進行操作,至於沒上鎖就無法執行 Netflix 的情況,我這邊並無這個狀況,以上提供參考。

  5. 請問root後之後遇到原廠更新的話要如何更新?

    • 更新方式可透過原廠釋出韌體包,去修改 flash-all.bat 批次檔內參數,移除 -w 再去做更新動作,相關操作流程已於本文更新

  6. 你好,我照這個流程一切都刷完後,進系統、進Manager,它顯示要安裝必要套件,此時若選是,它會重開系統,就再也進不去了,停在白色Google畫面。若按取消,則SafeNet的第一個過不了。請問是什麼原因呢?

發表迴響