How to Update Rooted Devices Over-The-Air Without Losing Root
An over-the-air update on a rooted phone is a moment where one careless tap can undo months of careful setup. The update replaces the boot image, and the boot image carries your root patch. Reboot without preparation and the phone still works, but root is gone and every root app starts failing.
The fix is less dramatic than most people expect. Modern Android phones keep two copies of the system, called slots, and the update writes to the slot you are not using. That gives you a window: install the update, patch the new slot while the old system still runs, and only then reboot.
This guide walks through that process for phones with A/B slots, and it also covers the fallback for phones without them. It assumes a working root setup with a systemless root manager, a computer with ADB and fastboot nearby, and a tested backup.
Why OTA Updates Remove Root on A/B Phones
Root lives in the boot image. When Magisk patches a boot image, it inserts the code that grants root access at boot time, and the rest of the system stays untouched. That narrow footprint is what makes the inactive-slot method possible: the updater can replace the system without touching the parts that carry root, as long as the new boot image gets patched before first boot.
That is why an update feels like a trap: everything looks normal until the restart, which is the one move that throws root away. The patch has to happen between the install finishing and the reboot starting, and that window only exists because of how slot-based updates work.
There is a second, quieter reason updates go wrong. Some updates change the vendor image or the security patch level, and a module that hooked deeply into the old version may not work on the new one. That does not mean the update failed: the module needs an update of its own, or it needs to stay disabled until its author catches up.
How A/B Slots Work Before You Tap Install
A/B slots are two complete copies of the bootable system, labelled A and B. Only one is active at a time. When an update arrives, the updater writes the new version into the inactive slot while you keep using the active one, and if the new slot fails to boot, many phones fall back to the old slot. Rooted users get a bonus from this design: a place to patch the new system before it ever runs.
How to tell which slot is active right now
Before any update, find out which slot your phone is running from. Connect the phone to your computer with USB debugging turned on, open a terminal, and run a simple read-only command that asks the device for its slot suffix:
adb shell getprop ro.boot.slot_suffix
The answer is usually _a or _b. Write it down with the date. After the update you can run the same command and expect the other suffix. If the suffix has not changed, the update did not switch slots, and that is a useful clue when something looks wrong.
What to Check and Back Up Before an OTA Update
Preparation is the unglamorous part of this process, and it is also the part that decides whether a bad update costs you an evening or a week. Run through the checks below while the phone is still healthy, with time to fix anything you find.
Start with the three facts that define your starting point: the active slot, the current build number, and the root manager version. The build number command is another read-only query, and it is worth running next to the slot check:
adb shell getprop ro.build.version.incremental
Record both values in a note you can reach from your computer, not just on the phone. If the phone stops booting, a note stored only on the phone is no help at all. Add the security patch level while you are there, with adb shell getprop ro.build.version.security_patch, and note the exact phone model as printed in Settings, About phone.
Back up the boot image and your data separately
Save both the stock boot image and the patched boot image for your current build. If you patched the stock image yourself, confirm the copies on your computer match the build number you just wrote down. Then back up your data through whatever method you trust, and store both backups somewhere other than the phone itself.
Test the backup path before the update, not during it. Open the folder where the backup lives, confirm the files are there and their sizes look sane, and confirm your recovery can see the backup location. A backup you have never tried to open is a hope, not a backup.
Free up storage before the download starts
An update package needs room to download and room to install, so free at least a few gigabytes before you start by moving large videos and old backups off the phone. Charge the phone fully and leave it plugged in during the install.
Disable deep system modules before the update
Open the root manager and look at your module list with a critical eye. A module that changes the interface or adds a small feature is usually harmless during an update. A module that changes boot behaviour, hooks low-level system calls, or replaces system files is not. Disable the deep ones before the update and note which ones you turned off.
While you are in the manager, check that the manager app itself is up to date and supports the inactive-slot install on your Android version. The option only appears after an update has installed to the inactive slot, so you cannot test it in advance, but an outdated manager is a common cause of a missing option at the critical moment.
The Inactive-Slot Method Step by Step
This is the core sequence. Read it once all the way through before you start, so no step surprises you in the middle. The order matters more than any single step.
Here is the short version to keep beside the phone. Download the update, let it install to the inactive slot, patch the inactive slot from the root manager, and reboot only after the patch reports success.
Step 1: Download and install the update normally
Open Settings, go to the system update screen, and download the update exactly as a stock phone would. Let the updater install it; the phone stays usable during most of it because the work is happening on the inactive slot. When the install finishes, the updater will show a restart prompt. Do not tap it yet: restart now and root is gone; patch first and root survives.
Step 2: Patch the inactive slot from the root manager
Open the Magisk app while the phone is still running the old system. Go to the Install section and choose the option labelled Install to Inactive Slot (After OTA). The manager reads the new boot image from the inactive slot, patches it, and writes it back, without touching your running system.
Wait for the success message. Do not close the app or start the reboot from a notification while the patch is still running. A partial patch is worse than no patch at all, because a half-written boot image can leave the new slot unbootable. When the manager reports success, read the message once more to be sure it names the inactive slot, then move on.
What to do if the inactive-slot option is missing
If the option does not appear, stop and diagnose instead of rebooting. First check that the update really finished installing: the updater screen should show it as installed and waiting for a restart. If it shows the update as still installing, wait for it to finish. Next check the manager version and whether your Android version supports this method. If the option is still missing, do not reboot: finish the update by patching and flashing the new boot image by hand after rebooting without root, which is slower but works.
Step 3: Reboot into the updated slot
Only now, after the patch success message, tap restart. The first boot into the new version takes longer than a normal restart, because the system optimises apps for the new version and rebuilds caches. Let it finish.
Step 4: Verify root, version, and basic functions
When the phone reaches the home screen, run four quick checks before you touch anything else. Open the root manager and confirm the status screen shows root as working. Open one root app you trust and confirm it receives root access. Check Settings, About phone, and confirm the build number matches the update you installed. Finally, test the basics: a call, mobile data, Wi-Fi, the camera, and the fingerprint sensor.
How to Check Your Slot and Build Number With ADB
ADB is the fastest way to record the facts that matter, and every command in this section only reads information. None of them changes the phone. Run them from your computer with USB debugging on, and keep the output in the same note as your backup locations.
The slot command from earlier is the one you will use most: adb shell getprop ro.boot.slot_suffix returns _a or _b. Pair it with adb shell getprop ro.build.version.incremental for the build number and adb shell getprop ro.build.version.security_patch for the patch level. Run all three before the update and all three after it.
From the bootloader you can also ask which slot is current with fastboot getvar current-slot, after rebooting to the bootloader with adb reboot bootloader. That is useful when the phone will not boot normally and you need to know where you are before deciding what to flash. Write the answer down before you run any flash command, because a flash aimed at the wrong slot is a classic self-inflicted problem.
What to Do on Phones Without A/B Slots
Not every phone has two slots. Older models and some single-partition designs write the update straight over the only system they have, and the inactive-slot method simply has nowhere to work. The fix still exists; it just moves after the reboot instead of before it, and it needs a computer and a fastboot connection.
The sequence is: update first, then patch the new stock boot image, then flash the patched image, then reboot and verify. You lose root for the interval between the update and the flash, and that is expected. Your data stays in place through it in most cases, which is why the backup still matters even though the order changed.
Step 1: Save the stock boot image for the new build
Before you flash anything, get the factory image for your exact model and the exact new build number, and extract the stock boot image from it. Model and build must both match. A boot image from a different build can cause a bootloop, and a boot image from a different model can do worse. If you cannot find a factory image for the new build yet, wait.
The guide on patching a boot image manually with fastboot walks through the patching and flashing process in detail, and it is worth reading before you attempt a manual flash rather than during one.
Step 2: Patch the image and flash it with fastboot
Patch the stock boot image with your root manager, copy the patched file to your computer, reboot the phone to the bootloader, and flash it to the boot partition with a command in this form:
fastboot flash boot patched_boot.img
Use the real filename of your patched image in place of the example name. After the flash completes, reboot with fastboot reboot and run the same four verification checks as the slot method. If the phone loops at the boot screen, reboot to the bootloader and flash the stock boot image back.
Recovery tools matter more on single-slot phones
On a phone with one slot there is no fallback slot to catch you, so a working recovery is your safety net. A modern custom recovery lets you restore a backup quickly and flash files without a computer nearby. A stock recovery limits those options, and an outdated recovery can block a clean restore entirely. The piece on moving to modern custom recovery tools explains why that upgrade is worth doing before you need it, not after.
Re-Enabling Modules and Testing Apps After the Update
Start with no modules enabled. Boot the updated system clean and test the basics first: calls, mobile data, Wi-Fi, the camera, and the fingerprint sensor. A clean boot confirms the update itself is healthy, so any problem after that belongs to a module you add back.
Enable one module, reboot if it needs it, and test the app or feature that module affects. A module that worked on the old version may fail on the new one, and that is normal: module authors need time to adapt to system changes. Disable a failing module, note its version, and wait for its update instead of forcing it.
Watch for attestation changes after a system update
A new build fingerprint can change attestation results, and a banking app or a work app may behave differently after the update even though root itself is fine. Test payment apps and work apps before leisure apps, because they have stricter checks and they affect your day. If a check starts failing after the update, the guide on fixing hardware attestation failures covers the repair path.
Keep a written module list with versions, and update it after every change. A list turns a long re-enable session into a checklist, and it helps you notice a module you forgot. A forgotten module can explain a missing feature weeks later, and a checklist prevents that mystery entirely.
Common OTA Update Failures and How to Recover
Most failed updates on rooted phones fall into a short list, and each one has a distinct fix. The table below is the quick reference.
| Problem | Likely cause | Recovery |
|---|---|---|
| Root gone after reboot | Rebooted before patching | Patch and flash the new boot image |
| Update refuses to install | Modified system or deep module | Disable modules, free storage, retry |
| Phone boots to the old version | New slot failed to boot | Check the slot and retry cleanly |
| Bootloop after the patch | Bad patch or broken module | Boot the old slot or flash stock boot image |
| Banking app fails after update | New build fingerprint | Follow the attestation fix guide |
| Module breaks a feature | Module not yet updated | Disable it and wait for an update |
Frequently Asked Questions About Rooted OTA Updates
Can I update through the normal updater on a rooted phone?
Yes. Download and install through the normal system updater, and let it write to the inactive slot. The rule is about the reboot, not the download: do not restart until you have patched the inactive slot from the root manager.
What happens if I reboot before patching the inactive slot?
The phone boots into the new system without root, and your data stays intact in most cases. Recovery means patching the new stock boot image and flashing it with fastboot, the same path single-slot phones use. It takes longer and needs a computer, but it usually works.
How do I know which slot my phone is using?
Run adb shell getprop ro.boot.slot_suffix from your computer and read the answer, normally _a or _b. From the bootloader, fastboot getvar current-slot gives the same answer. A successful slot update flips the suffix to the other letter.
Why did my modules stop working after the update?
Modules hook into the system at specific points, and a new Android version moves some of those points. A module written for the old version can fail, do nothing, or break the feature it used to improve. Disable the failing module and check whether its author has released an update for the new version.
Should I keep the old slot after a successful update?
Keep it if your device allows it, because a fallback slot lets you return quickly if a module fails badly or the new system misbehaves days later. Do not rely on it as your only backup, though: the next update overwrites it, and a backup on your computer survives even if the phone itself is wiped.
A rooted update succeeds when you respect the order: download the update, let it install to the inactive slot, patch that slot from the root manager, and reboot only after the patch reports success. Then verify root, check the build number, test the basics, and bring modules back one at a time.
Your next step takes five minutes and you can do it today, before any update arrives. Record your slot suffix, build number, patch level, and manager version, and save your patched boot image and the stock image for that build on your computer.


