OnePlus 7 Bootloop after upgrading to v0.22 and sideloading magisk

Hi Fellows,

I am really getting some practice in working through the different ways on how to break the phone when trying to upgrade. :wink:

Yesterday I wanted to upgrade on my trusted OnePlus7 from 0.16 to 0.22. This worked fine with the OTA upgrade. After that I rebooted to bootloader, fastboot sideloaded the latest twrp (twrp-3.6.0_11-0-guacamolev2.img) and then sideloaded latest magisk (

Well, this normally worked fine in past, but this time I broke the phone doing so. Right now slot B is stuck in the boot animation and slot A does not even get into the latter, it tries booting, fails and kicks right back into recovery.

What I figure happened is that I did not pay attention that twrp did not decrypt the partitions. I did not get an unlock prompt on entering twrp, which I did not notice, and then the magisk sideload may have corrupted my partitions. Or so I think, because as I was revisiting the data partition (/sdcard) with twrp, only garbled filenames appeared. Also interesting, using an older twrp (3.4.0.-10), I could then not mount /data at all. Decrypting was also not prompted and manually trying it did not work on either twrp version.

After that, I tried reflashing e.OS v0.22 into slot A, but that did not change a thing, unsurprisingly. Or well, one thing changed, that is I cannot fastboot boot into either of those two twrps anymore. Only e.OS recovery in still alive and kicking.

While this looks most certainly like a factory reset, I would appreciate it very much to hear your recommendations, if there is a chance to get the “stuck in boot animation” slot B working again, or to get the data off of the device. If not for now, then to learn how to further recover methods for future upgrade mishaps.

Many thanks and happy to hear from you,

Some more notes:

  • On slot B, a fastboot boot twrp does not work anymore (as written above). Is stuck before twrp screen shows.
  • On slot A, fastboot boot twrp does work.
  • twrp-3.6.0_11-0-guacamolev2.img does not prompt for decryption, has the partition data already mounted, but all files have garbled names and content. Manual decryption with former pin does not work.
  • twrp-3.6.0_11-0-guacamolev2.img does not prompt for decryption, and does not allow data to be mounted (failed to mount - invalid argument)

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

If you can boot twrp on _a why not try dirty flashing/sideload eos 0.22 to land in _b? Worth a try, before resorting to factory reset? Although I suspect it won’t change anything though…

Hi Chris,

thanks for that. I was thinking about it, but not really knowing what’s best, still wanted to wait for recommendations. So, now flashing in a min. Well worth a try.


Well, dirtyflashing (using e.recovery for a change) did not revive userdata, which was somewhat expected. But it was sure worth a try. Doing a factory reset had everything instantly work again, even so without needing to reflash. Putting on Magisk using the recommended approach by patching boot.img also worked as expected, so with that it had one good sideeffect: I learned how to do a clean apply of magisk, not risking any data loss, as a “fastboot boot patched-image” was also possible to try it out first.