How to Unbrick an Android Phone Using Fastboot and ADB (No Root)

14 min read Step‑by‑step guide to revive a bricked Android device with Fastboot and ADB, covering preparation, flashing stock firmware, and troubleshooting common issues. October 05, 2026 05:00 How to Unbrick an Android Phone Using Fastboot and ADB (No Root)

When an Android device gets stuck in a boot loop, shows only the Fastboot screen, or refuses to start after a bad OTA, the term “bricked” is often used. In most cases the hardware is fine; the software simply needs to be re‑flashed. This tutorial shows you how to bring a non‑functional phone back to life using the official Fastboot interface and ADB tools, without requiring root or custom recoveries.

Before you start

These steps will erase all user data on the device. If you have any chance to back up files (e.g., via adb pull or a custom recovery), do it now. Ensure the phone’s battery is at least 60 % or keep it plugged into a charger throughout the process.

  • Computer running Windows 10/11, macOS, or Linux.
  • USB‑C or micro‑USB cable that supports data transfer.
  • Latest ADB & Fastboot platform‑tools downloaded and extracted.
  • Device‑specific factory image (stock firmware) from the manufacturer’s official site.
  • Optional: OEM USB drivers (Windows) – e.g., Google USB Driver, Samsung USB Driver, etc.

If any of these items are missing, the procedure will stop at the first roadblock.

Understanding the tools

Fastboot is a low‑level protocol that runs when the bootloader is unlocked and the device is in “Fastboot mode”. It lets you write raw images to individual partitions (boot, system, vendor, etc.). ADB (Android Debug Bridge) works when Android is running, but it is also useful for pulling logs before the device becomes unresponsive.

Because Fastboot works before the OS boots, it does not need root access. However, most manufacturers lock the bootloader to protect the device; unlocking it will wipe the device and may void warranty. This guide explains both unlocked and locked‑bootloader scenarios.

Step 1 – Install ADB & Fastboot on your computer

  1. Download the platform-tools zip from the Android developer site.
  2. Extract the zip to a folder you can easily access, e.g., C:\adb or ~/adb.
  3. Add the folder to your system PATH (optional but convenient). On Windows, right‑click This PC → Properties → Advanced system settings → Environment Variables and edit Path to include the folder.
  4. Open a terminal (Command Prompt, PowerShell, Terminal) and type adb version and fastboot version to confirm they are recognized.

If the commands are not found, double‑check the PATH entry or run the executables directly from the extracted folder.

Step 2 – Enable Developer Options & USB Debugging (if possible)

When the device still boots enough to show the Android UI, enable USB debugging to pull logs or backup data before flashing.

  1. Open Settings → About phone → tap Build number seven times.
  2. Return to Settings → System → Developer options.
  3. Toggle USB debugging on and confirm the prompt.

If the phone never reaches the OS, skip this step and move straight to Fastboot mode.

Step 3 – Boot the device into Fastboot mode

The key combination varies by manufacturer. Below are the most common methods:

  • Pixel / Nexus: Power off, then hold Power + Volume Down until the Fastboot screen appears.
  • Samsung (ex‑One UI): Power off, then hold Power + Volume Up + Bixby (or Volume Up only on newer models) and select “Download mode”. Fastboot is not available on most Samsung devices; they use Odin instead (covered in the “Alternative” section).
  • OnePlus: Power off, then hold Power + Volume Up.
  • Other OEMs: Search for “bootloader mode” for the specific model.

Connect the phone to the PC via USB while it is in Fastboot mode.

  1. Open a terminal and run fastboot devices.
  2. If you see a serial number, the connection is successful. If not, proceed to the troubleshooting box below.

If fastboot devices returns nothing, try a different USB cable, a different USB port, or install the OEM USB driver (Windows only). On macOS/Linux, you may need to add a udev rule for Android devices.

Step 4 – Unlock the bootloader (if required)

Many manufacturers ship devices with a locked bootloader. Unlocking is a one‑time operation that wipes the device.

  1. In the terminal, run fastboot flashing get_unlock_ability. If the response is 0, the bootloader cannot be unlocked (common on carrier‑locked phones).
  2. If the response is 1, unlock with fastboot flashing unlock. You will see a confirmation screen on the phone – use the volume keys to select “Yes” and power button to confirm.
  3. The device will reboot and perform a factory reset. After it powers off, re‑enter Fastboot mode (repeat Step 3).

Some OEMs (e.g., Xiaomi, Huawei) require an unlock code obtained from their developer portal. Follow the OEM’s official instructions if you encounter that situation.

Step 5 – Download the correct factory image

Flashing the wrong image can brick the device permanently. Always use the exact model number (e.g., Pixel 5 (redfin)) and the latest stable build from the manufacturer’s site.

Download the zip file and extract it. Inside you will find a script (e.g., flash-all.sh) and a set of .img files (boot, system, vendor, etc.).

Step 6 – Flash the stock firmware

There are two ways: use the provided script (simpler) or flash each partition manually (more control). The script works on macOS/Linux; Windows users can run the batch file flash-all.bat after enabling execution permissions.

  1. Navigate to the extracted folder in the terminal. Example: cd ~/Downloads/Pixel5.
  2. If you prefer the script, run:
    ./flash-all.sh
    (Linux/macOS) or double‑click flash-all.bat (Windows).
  3. Watch the output. Each partition will be written in sequence. Do not disconnect the phone until the script finishes and the device reboots.
  4. If the script fails (common on Windows with driver issues), flash manually:
    fastboot flash boot boot.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    # Add other partitions as needed, e.g., radio, userdata (optional)
  5. After flashing, lock the bootloader again (optional but recommended for security):
    fastboot flashing lock
  6. Finally, reboot:
    fastboot reboot

The device should now boot into the fresh Android system. The first boot may take a few minutes as it optimizes apps.

Alternative method – Samsung devices (Odin)

Samsung phones do not expose Fastboot; they use a proprietary tool called Odin. If you have a Samsung device stuck in a boot loop, follow these steps:

  1. Download the correct .tar.md5 firmware from SamMobile or the official Samsung site.
  2. Install Odin on Windows and the Samsung USB drivers.
  3. Boot the phone into Download mode (Power + Volume Down + Home/Bixby).
  4. Connect to PC, open Odin, and load the firmware file into the AP slot.
  5. Leave Auto Reboot and F. Reset Time checked, then click Start.
  6. When Odin shows “PASS”, the phone will reboot into stock Android.

Because this guide focuses on Fastboot, the Samsung section is brief. Users should consult Samsung‑specific tutorials for deeper troubleshooting.

Troubleshooting common failures

Device not detected in Fastboot

  • Check that the phone is truly in Fastboot mode – the screen usually says “FASTBOOT” or shows a minimal UI.
  • On Windows, reinstall the OEM USB driver via Device Manager (right‑click the unknown device → Update driver → Browse my computer → Let me pick).
  • On Linux, add a udev rule:
    sudo nano /etc/udev/rules.d/51-android.rules
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
    # Replace 18d1 with your vendor ID (run lsusb to find it)
    sudo udevadm control --reload-rules && sudo service udev restart

Bootloader unlock rejected

  • Some carrier‑locked devices disallow unlocking. In that case, the only viable path is to use the OEM’s official “repair” service or replace the device.
  • If the OEM requires an unlock code, request it from the developer portal and use fastboot oem unlock [code].

Flashing fails with “cannot write partition”

  • Ensure you are using the correct image for your exact model. A mismatched system.img will be rejected.
  • Some newer devices use the fastboot flash --slot=all syntax for A/B partitions. Adjust the command accordingly.
    fastboot flash boot boot.img --slot=all
  • Try adding the --skip-reboot flag and reboot manually after all partitions are written.

Device boots to a black screen or keeps looping

  • Boot into recovery (Power + Volume Up) and wipe cache partition.
  • If the problem persists, re‑flash the firmware, ensuring you did not skip the vendor partition.
  • As a last resort, perform a factory reset from the recovery menu, which will delete any leftover user data that may be causing the loop.

Verification – confirm the device is healthy

Once the phone boots, perform these quick checks:

  1. Open Settings → About phone and verify the Android version matches the firmware you flashed.
  2. Run adb devices from your PC; the device should appear as device, not offline.
  3. Open a terminal and execute adb shell getprop ro.bootloader to confirm the bootloader state (locked/unlocked) as you intended.
  4. Test basic functions – call, Wi‑Fi, camera – to ensure hardware drivers are functional.

If any component fails, revisit the troubleshooting section or consider flashing a different firmware version (e.g., an older stable build).

When to seek professional help

If the device refuses to enter Fastboot mode, shows hardware‑level errors (e.g., “No bootable device”), or the bootloader is permanently locked by the carrier, the software route may no longer be viable. In such cases, contacting the manufacturer’s support or a certified repair shop is advisable.

With the steps above, most software‑related bricks can be resolved without expensive repairs. The key is preparation: the right drivers, the exact factory image, and patience during flashing. Good luck, and enjoy your revived Android phone!

User Comments (0)

Add Comment
We'll never share your email with anyone else.