[OnePlus 9 Pro] Steve0007:
Different variants of Magisk that are available for use :

Magisk Variant	Stable / Beta / Canary
Release	Official
Android / OOS	OOS 11 and above
Maintainer	topjohnwu
Project Link	GitHub
Zygisk	No
DenyList	No
MagiskHide	Yes
Modules Repo	Yes
Download Link	Magisk

This tutorial will :

provide you with all the steps to root your Oneplus 9 Pro (with your bootloader already unlocked)

provide you with all the steps to unlock your Oneplus 9 Pro bootloader

provide you with all the steps to keep root during/after an OTA (system update)

provide you with a lot tricks if you have troubleshooting questions

provide you with a lot of solutions of you have softbricked your Oneplus 9 Pro

provide you with all the ways if you want to bring back your Oneplus 9 Pro to unroot & lock back the bootloader

Boot & Magisked boot images :

Boot the Magisked kernel/boot to temporarily gain root, and then once temporarily booted, patch your own kernel with direct install from Magisk application

LE2120 - China : ColorOS

LE2121 - India : DA

LE2123 - EU : BA

LE2125 - NA/Global : AA

LE2127 - T-Mobile : ACB Boot link

OxygenOS 14.0.0.701 boot :

Untouched (AA) / Not yet available !

Untouched (BA)

Untouched (DA)

OxygenOS 14.0.0.600 boot :

Untouched (AA)

Untouched (BA)

Untouched (DA) / Not yet available !

OxygenOS 14.0.0.202 boot :

Untouched (AA) / Not yet available !

Untouched (BA)

Magisk Patched (DA) / Not yet available !

OxygenOS 13.1.0.593 boot :

Untouched (AA)

Untouched (BA)

Magisk Patched (DA)

OxygenOS 13.1.0.591 boot :

Untouched (AA)

Untouched (BA)

Untouched (DA) / Not yet available !

OxygenOS 13.1.0.590 boot :

Untouched (AA)

Untouched (BA)

Untouched (DA)

OxygenOS 13.1.0.582 boot :

Untouched (AA)

Untouched (BA)

Untouched (DA)

OxygenOS 13.1.0.500 boot : with Magisk v26.1

Untouched/Magisked (AA)

Untouched/Magisked (BA) (patched with Magisk 25.2)

Untouched/Magisked (DA) / Not yet available !

OxygenOS 13 F.75 boot : with Magisk v25.2

Untouched/Magisked (BA)

OxygenOS 13 F.21 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (DA)

OxygenOS 13 F.74 boot : with Magisk v25.2

Untouched/Magisked (BA)

OxygenOS 13 F.20 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (DA)

OxygenOS 13 F.73 boot : with Magisk v25.2

Untouched/Magisked (BA)

OxygenOS 13 F.18 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (DA)

OxygenOS 13 F.72 boot : with Magisk v25.2

Untouched/Magisked (BA)

OxygenOS 13 F.17 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (DA)

OxygenOS 13 F.16 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.66 boot : with Magisk v25.2

Untouched/Magisked (AA) / Not yet available !

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.65 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.64 boot : with Magisk v25.2

Untouched/Magisked (AA) / Not yet available !

Untouched/Magisked (BA)

Untouched/Magisked (DA) / Not yet available !

OxygenOS 12 C.63 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (BA) / Not yet available !

Untouched/Magisked (DA)

OxygenOS 12 C.62 boot : with Magisk v25.2

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.61 boot : with Magisk v25.1

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.48 boot : with Magisk v24.3

Untouched/Magisked (AA)

Using AA boot_patch to boot BA and DA, then direct install is recommended:

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.47 boot : with Magisk v24.3

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OxygenOS 12 C.44 boot : with Magisk v24 (beta but solid)

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.10.10 boot :

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.9.9 boot :

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.8.8 boot :

Untouched/Magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.7.7 boot :

Untouched/magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.6.6 boot :

Untouched/magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.5.5 boot :

Untouched/magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

OOS 11.2.4.4 boot :

Untouched/magisked (AA)

Untouched/Magisked (BA)

Untouched/Magisked (DA)

LE2120 - China : ColorOS

LE2121 - India : DA

LE2123 - EU : BA

LE2125 - NA/Global : AA

LE2127 - T-Mobile : ACB

STEPS to root your device

:

I recommand to update first your device with all OTA available using Settings/updates before unlocking & rooting it.

​

Root your Oneplus 9 Pro (with Bootloader already unlocked)

​

Step 1 - Booting temporarily root​

1. Connect your phone to your pc and boot it into fastboot mode. You can leave it connected throughout this guide.

2. First, enter the following command in the PowerShell/Terminal window to ensure that your PC can communicate with the phone over the fastboot interface.

"fastboot devices"

View attachment 5325165

The command should return your phone’s unique ID. In case it doesn’t, then make sure that you have the required USB drivers installed and restart your PC. You can also use TOOL ALL IN ONE, not officially updated to Oneplus 9 Pro but once install go to Others options and go to Install drivers.

3. Code once in fastboot mode:

"fastboot boot magisk_boot.img" (use the "magisk_boot.img" from the above zip file)

Change to the exact name "magisk_boot.img" of the boot that has been patched in the above zip file

"fastboot reboot"

View attachment 5325169

You could flash this boot.img, but it's safer to temporarily boot from it without overwriting your existing image in case anything went wrong along the way. The effect is that you still get root access without modifying your device, and then you can use the much safer Magisk direct install option, which has some safeguards in place.

By booting with the patched image, you now have temporary root access. To make it permanent open Magisk app.

a. Select the Install option.

b. Use Direct Install (Recommended) to root your internal boot.img

View attachment 5325151

Step 2 - Reboot and your device is now rooted !​

Unlock the Bootloader and Root the OnePlus 9 Pro

​

Step 1 – Enable OEM unlocking​

You need to enable OEM unlocking, which can be done by enabling the developer settings on your device. To do so, go to Settings > About phone and repeatedly tap Build number. Developer options will then be added to your system settings, where you can then enable OEM unlocking.

Step 2 – Unlock your phone

Set up adb, reboot into your bootloader, and run the following command. Yes, it’s really that simple!

"fastboot oem unlock"

You can reboot into the bootloader by switching on USB debugging, setting up adb and fastboot and typing “adb reboot bootloader”. Alternatively, you can hold volume down and the power button to boot up your device. USB debugging is also located under the developer options.

View attachment 5311753

Unlocking the bootloader wipes your device :

View attachment 5311751

Step 3 - Booting temporarily root​

1. Connect your phone to your pc and boot it into fastboot mode. You can leave it connected throughout this guide.

2. First, enter the following command in the PowerShell/Terminal window to ensure that your PC can communicate with the phone over the fastboot interface.

"fastboot devices"

The command should return your phone’s unique ID. In case it doesn’t, then make sure that you have the required USB drivers installed and restart your PC. You can also use TOOL ALL IN ONE, not officially updated to Oneplus 9 Pro but once install go to Others options and go to Install drivers.

3. Code once in fastboot mode:

"fastboot boot magisk_boot.img" (use the "magisk_boot.img" from the above zip file)

Change to the exact name "magisk_boot.img" of the boot that has been patched in the above zip file

"fastboot reboot"

You could flash this boot.img, but it's safer to temporarily boot from it without overwriting your existing image in case anything went wrong along the way. The effect is that you still get root access without modifying your device, and then you can use the much safer Magisk direct install option, which has some safeguards in place.

Step 4 - Install magisk​

Install the latest Magisk apk on your phone. Open it and:

a. Select the Install option.

b. Use Direct Install (Recommended) to root your internal boot.img

View attachment 5325151

Step 5 - Reboot and your device is now rooted !​

Keep Root and OTA updates

​

How to update OTA and KEEP ROOT

It is advised to disable or even uninstall all magisk modules to be safe!

How: go to Magisk application/modules/disable &/or uninstall

Option 1: With full OTA Access (BA/DA) :

Step 1 - Get & install the full OTA zip file​

1. Go to System-Update or update get the OTA using Oxygen Updater

2. Tap OK when the message that you are rooted appears

3. Tap "Download and install" or local update if OTA from Oxygen Updater

For Android 12, install this APK "OPLocalUpdate_For_Android13.apk"

4. Wait until you are prompted to reboot - DO NOT REBOOT NOW!

View attachment 5325149

5. Open Magisk Application

a. Select the Install option.

b. Use Install to inactive slot

View attachment 5325151

View attachment 5325153

Step 2 - Reboot and enjoy your device still rooted with latest OTA installed !​

​

Option 2 :

Booting temporarily root

​

For some reason, Since C63 OTA, some users have reported that on the option 1, the system rebooted byt itself after the OTA update which does not give then the option to install Magisk to the inactive slot after OTA.

If that happens, no worry just perform the Step 1 - Booting temporarily root described on "Root your Oneplus 9 Pro (with Bootloader already unlocked) Section.

Option 3: with incremental OTA Access (AA) :

​

Step 1 - Get back your original boot image​

1. open the Magisk Manager application, select “Uninstall”, and choose the “Restore Images” option. Magisk will restore your phone’s stock boot image that was backed up during the rooting process.

View attachment 5325171

2. Now go to “Settings” → “System” → “System updates” and select “Download and Install Now” to install the OxygenOS OTA update on your rooted OnePlus 9 Pro

View attachment 5325179

3. Open Magisk Manager

a. Select the Install option.

b. Use Install to inactive slot

View attachment 5325151

View attachment 5325153

Step 2 - Reboot and enjoy your device still rooted with latest OTA installed !​

Troubleshooting questions

:​

Before reporting any trouble, follow the steps below in order to have GooglePlay certified, keep L1 Widevine & pass CTS :

Step 1 - Magisk Settings​

1. Once rooted, in Magisk setting, select MagiskHide and Systemless host

2. In MagiskHide select GMS, Netflix, Google Store & any application you may find sensitive to Magisk detection

For Netflix, go to Settings, Appplications & select Netflix:

a-force stop the app

b-clear cache and storage

c-hide the App in magisk

d-restart phone to recovery and clear cache

If you can't install/update Netflix install the latest Netflix from apkmirror manually (like any other apk file)

View attachment 5314183

Hide everything under Google play services and store.:

View attachment 5325183

3. Reboot

Step 2 - Clear caches​

Clear caches of Google Play Service & Play Store

Go to Settings, Applications & select Google Play Service, delete data

Go to Settings, Appplications & select Play Store, delete data

Step 3 - Clear cache from Recovery​

Reboot into Recovery and select wipe CACHE. Recovery boot to be activated from Settings/System/developpers options/advanced restart. Once in Recovery select WIPE & WIPE CACHE Only !

Step 4 - Play Integrity Fix/Safetynet Fix​

Install Play Integrity Fix as

Safetynet Fix Magisk Module doesn't work anymore (starting 08/2023)

Step 5 - Look at the following guide​

Follow this Guide

My device has Widevine L3, how to get back L1?

​

Downgrading to Oos 11 using MSM Tool.

Unlock bootloader and update system flash the first OOS 12 OTA provided by the system itself.

Then update to the latest F18 (for Global and Indian devices) or F72 (for EU device) OTA using FastbootEnhance. Widevine will back to L1.

Phone Bricked ?

:​

Five options (ranked from the easiest to tougher method):

Option 1 - Reboot to Safe mode & remove Magisk modules​

Option A

: Safe Mode

1. Hold power until it goes off

2. Boot and wait for the bootloader warning

3. Hold vol up and down until boot animation

4. Once it's booted just reboot again and you're done

Now on boot all magisk modules are disabled

Option B

: thru adb command

1. Code with phone connected with USB debugging on (from developpers options):

"adb wait-for-device shell magisk --remove-modules"

2. reboot

Option 2 - Get back the original boot.img​

If your device can go to fastboot mode:

Flash back the original boot.img (w/o magisk) and reboot

Code once in fastboot mode:

"fastboot flash Original_boot.img" (use the "Original_boot.img" from the above zip file)

Change to the exact name "Original_boot.img" of the boot that has been posted in the above zip file

"fastboot reboot"

Option 3 - Flash back full OTA file​

If you can still go to Settings:

Flash back the OTA RUU full package and reboot

Option 4 - Change the active slot​

If your device can go to fastboot mode:

"fastboot getvar current-slot"

This will tell you what (corrupted) slot you are currently booting from (either a or b).

Then just change to the other slot with the following command:

"fastboot --set-active=a"

or

"fastboot --set-active=b"

Then reboot with the command:

"fastboot reboot"

Option 5 - Wipe data in Recovery mode or fastboot command​

Option A

: If your device can still go to Recovery mode (ie thru fastboot mode: "fastboot reboot recovery")

From Recovery Wipe data and reboot

Option B

:

Code once in fastboot mode:

"fastboot- w"

Option 6 - MSM​

If none of the above works then go for MSM tool

Option 1 to 4 would normally not alter your personal data, applications and own set-up

Option 5 & 6 will wipe your personal data and applications

Return your phone to unlock and unroot?

:​

​

Option 1 : Original Boot & relock with fastboot command

​

Step 1 - Restore orignal boot.img​

Option A

: Thru Magisk App

Open Magisk App on your phone. You will see the Uninstall button in the app. Just click on Uninstall button.

Then you need to click on Complete Uninstall. Your phone will be rebooted automatically.

Option B

: Thru fastboot mode

Flash back the original boot.img (w/o magisk) and reboot

Code once in fastboot mode:

"fastboot flash Original_boot.img" (use the "Original_boot.img" from the above zip file)

Change to the exact name "Original_boot.img" of the boot that has been posted in the above zip file

"fastboot reboot"

Once booted, remove Magisk application

Option C

: Flash the current or latest full OTA zip twice. Why twice, to ensure both slot have the latest update flashed with original boot.

Step 2 - Relock the bootloader​

1. Execute the following command to proceed for bootloader unlocking: "fastboot oem lock"

2. A verification window will appear on your mobile device asking to confirm the action. Just highlight “Relock Bootloader”using volume buttons and hit the power button to confirm.

View attachment 5315111

3. The phone will initialize to relock the bootloader. It will take some time to reboot after resetting the whole phone into a locked stage.

4. Your device is now locked again !

Option 2 : MSM Tool

​

MSM tool will relock your boaloader !​

Option 1 & 2 will wipe your personal data and applications

Return your phone to OOS 11 (after installing OOS 12/13) ?

:​

How can I downgrade my device to OxygenOS 11?:

Doing so will WIPE YOUR DATA, you are strongly advised to back it up before.

Sideload local update APK : https://oxygenos.oneplus.net/OPLocalUpdate_For_Android13.apk

Download one of the following downgrade files to go back to OxygenOS 11.2.8.8 (please take great care in selecting the region meant for your device) and move it to the root of your internal storage (where Downloads and DCIM directories are). Those files have been shared by OnePlus on previously linked OB 1 thread, and are directly linked here only for convenience.

Global: https://oxygenos.oneplus.net/OnePlu...all_2107082120_downgrade_2e0c2b9ecc3c4102.zip

EU: https://oxygenos.oneplus.net/OnePlu...all_2107082125_downgrade_2a8892dd474c4472.zip

India:

https://oxygenos.oneplus.net/OnePlus9ProOxygen_22.I.11_OTA_0110_all_2107082121_downgrade_66a1f653e8ee4eb5

(you have to add the .zip extension manually after downloading the file)

Launch the local update app and select the downgrade package you previously moved to the root of your device internal storage. If the downgrade package does not show up in the local update app, ensure its extension ends with .zip. Delete if .jar is there. Click on “Restart” once prompted.

Do any process described at your own risk. None Xda none the author are responsible for your own choice to unlock & root your Device.