Recovering a Bricked OnePlus 8 Pro

Rei Suzunamidevicesandroidoneplus-8-procolorosadbfastbootflashingAbout 2 min

The error

  1. I received an OTA update from OPPO that upgraded ColorOS 12.1 to ColorOS 13.
  2. I unpacked the update, installed Magisk to another slot as usual, and restarted.
  3. After reboot, the phone entered the bootloader and stayed there. Neither rebooting nor entering stock recovery solved it.

Exploring solutions

  1. Flashing TWRP and removing Magisk components looked possible, but available images did not support Android 12 and broke recovery further.
  2. I could not find an unpacked ColorOS full image. OPPO had tight control over the ROM.
  3. I asked friends for help after exhausting the obvious paths.
  4. OPPO support offered a full storage wipe, including /data and /sdcard, so I left without accepting it.

Help from a friend

  1. Uebian helped find a compatible third-party recovery: Wishmasterflo/device_oneplus_opkona.

    fastboot boot <image-name>.img

    Run this in bootloader mode, then enter the recovery shell with:

    adb shell
  2. Check the current slot and switch to the slot with the new system if necessary:

    fastboot getvar current-slot
    fastboot --set-active=<a-or-b>
  3. Extract the latest system payload with tobyxdd/android-ota-payload-extractor, then obtain boot.img and recovery.img.

  4. Test whether the extracted boot image reaches Android:

    fastboot boot boot.img
  5. After booting successfully, re-enter the bootloader and flash the image permanently:

    fastboot flash boot boot.img

    Do not omit the boot target.

  6. Restore official recovery and reboot:

    fastboot flash recovery_a recovery.img
    fastboot flash recovery_b recovery.img
    fastboot reboot

Frequently used commands

adb devices
fastboot devices
fastboot reboot
fastboot reboot bootloader
fastboot reboot recovery
Last update:
Contributors: ReiSuzunami

Comments