ADB / Fastboot

ADB Reboot Modes: Recovery, Bootloader, Fastbootd, and Sideload Explained

Published: July 6, 2026 Applies to: Android devices with USB debugging enabled

Every Android troubleshooting guide eventually tells you to "boot into recovery" or "boot into the bootloader," usually via a hardware button combination that differs by manufacturer and is easy to get wrong. If the device already has USB debugging enabled, adb reboot with a target argument does the same thing reliably and identically across brands, since it is a software command rather than a hardware key sequence.

adb reboot: The Baseline

Run without any argument, adb reboot simply restarts the device normally, same as a power-cycle from the Android UI. It is the equivalent of Settings > Restart, useful mainly for scripting a clean restart between test runs without touching the device.

adb reboot recovery

adb reboot recovery

Boots into the recovery partition, which on stock firmware shows a minimal Android robot screen with "No command," and on a custom recovery like TWRP or OrangeFox shows a full touch interface. Stock recovery's hidden menu (accessed by holding Power then briefly pressing Volume Up) offers factory reset, cache wipe, and "Apply update from ADB sideload" — useful for installing OTA update packages manually when the automatic OTA mechanism fails.

adb reboot bootloader

adb reboot bootloader

Boots into the bootloader, also called Fastboot mode. This is where fastboot commands (flash, erase, format, unlock) operate, as opposed to adb commands, which only work while Android itself is running or the device is in recovery/sideload. Once here, the device stops responding to adb entirely until you flash something and reboot back to Android; switch to fastboot commands for anything further.

adb reboot fastboot: Entering Fastbootd

adb reboot fastboot

This is easy to confuse with adb reboot bootloader, but on devices with dynamic partitions (most devices launched with Android 10 or later) it boots into a distinct userspace Fastboot implementation called fastbootd, rather than the bootloader-level Fastboot. Fastbootd runs as an Android boot mode with its own minimal userspace, and it is required for flashing logical partitions inside the super partition — system, vendor, and product on A/B devices with dynamic partitioning cannot be flashed from bootloader-level Fastboot at all on these devices. If a flash command that used to work now fails with "this partition doesn't exist" from regular bootloader Fastboot, this distinction is usually why.

adb reboot sideload

adb reboot sideload

Boots directly into recovery with ADB sideload mode already active, skipping the menu navigation needed to reach it manually. Once booted, the device only accepts a single command, adb sideload <path-to-zip>, which streams a signed update package or custom ROM zip directly without needing to copy it onto device storage first. This is the fastest path for installing an OTA zip on a device with little free internal storage, since the file never has to be written to the device before installation.

adb reboot edl

On Qualcomm-based devices, this attempts to boot into Emergency Download Mode, the lowest-level flashing mode used for unbricking a device that will not even enter Fastboot. It only works if Android is still running well enough to process the ADB command in the first place; a device already bricked past that point needs the hardware button combination or a test point method instead, since there is no software command that can reach a device that cannot boot at all.

Which Mode for Which Task

When a Target Argument Does Nothing

Not every device honors every target string. Some manufacturers ship a stripped-down recovery partition with no ADB sideload support built in, in which case adb reboot sideload either falls back to a plain recovery boot or returns an error rather than landing in sideload mode. Similarly, adb reboot edl only has any effect on Qualcomm platforms; running it against a MediaTek or Exynos device is simply ignored, since EDL is a Qualcomm-specific boot ROM feature with no equivalent target string on other chipsets. If a reboot command appears to do nothing, check whether the device and firmware actually support that specific mode before assuming the ADB connection itself is broken.

Reconnecting After Each Mode Switch

Every mode switch is a full device re-enumeration on the USB bus, not a soft transition, which means the previous ADB session ends and a new one has to establish itself once the device settles into the new mode. Scripts that chain multiple reboot commands together need a short wait and a retry loop after each transition rather than issuing the next command immediately, since adb or fastboot commands sent before the device finishes re-enumerating simply time out with no device found, even though the switch itself worked correctly.