Android Root Tool

What is A/B Partitioning?

A/B partitioning (also called seamless updates) is Google's design for safe OTA updates: your phone has two copies of every critical partition. The one that is currently running is active; the other is inactive and can be written to in the background.

📅 Oct 31, 2026⏱ 5 min read🧠 Beginner

The basic idea

On a classic (A-only) device, an OTA update stops the phone, writes the new system image, and reboots. If anything fails mid-way, the device is unbootable.

On an A/B device, the running slot (say A) keeps working. The updater writes the new image to the other slot (B) in the background while you use the phone. On next boot, the bootloader switches to slot B. If B fails to boot after a few tries, the bootloader automatically falls back to A — your phone always has a working OS.

Which partitions are duplicated?

Not all partitions are A/B. The duplicated ones are the ones the OTA replaces:

Not duplicated (single copy, shared by both slots): userdata, metadata, persist, modem (sometimes), cache.

How boot picks a slot

The bootloader stores slot metadata in a small region usually called misc or a dedicated BCB (bootloader control block). On each boot:

  1. Read the BCB.
  2. Pick the slot marked active.
  3. Try to load boot_<slot> and chain into Android.
  4. If boot fails N times (usually 7), decrement that slot's retry counter.
  5. When retry counter hits 0, mark the slot unbootable and switch to the other.

Working with slots in fastboot

Useful fastboot commands:

Flashing to the right slot

Flashing boot (no suffix) in fastboot writes to the currently active slot. If you want both A and B updated (recommended for custom boot images), use --slot=all or run fastboot flash boot_a boot.img then fastboot flash boot_b boot.img.

Virtual A/B (Android 11+)

Full A/B doubles the flash used by system/vendor/product. On entry-level phones that was unaffordable. Android 11 introduced Virtual A/B: only the small partitions (boot, dtbo, vbmeta) have real A/B copies. System/vendor/product use snapshots via dm-snapshot:

  1. OTA writes updates to a copy-on-write area in userdata.
  2. Reboot. Snapshot overlay merges COW into system/vendor on first boot.
  3. If anything fails, snapshot is discarded. Classic rollback.

From a flashing-tool perspective, Virtual A/B still exposes _a/_b suffixes for the real A/B partitions, but system/vendor/product are no longer per-slot.

Download Android Root Tool v8.0.1.5

A/B-aware fastboot flashing, slot management, backup/restore per slot.

Download Now

FAQ

How do I tell if my phone is A/B?
In fastboot: fastboot getvar slot-count. Returns 2 for A/B, 1 for A-only. Or check Settings → Storage — A/B devices lose about 2–4 GB to the duplicate partitions on classic A/B (less on Virtual A/B).
Can I convert my phone from A-only to A/B?
No. The GPT layout is fixed at factory and would require repartitioning the whole flash — risky and rarely successful.
What happens if I flash only slot A and switch to B?
Slot B still has old/stock firmware. Phone boots the stock version. Switch back to A with fastboot set_active a.
Why does my new phone have no recovery partition?
A/B devices don't need a recovery partition — recovery lives inside the boot ramdisk. There's one recovery per slot.