For owners and technicians servicing smartphones across the Xiaomi, Redmi, and Poco ecosystem, the official Xiaomi Mi Flash Tool (XiaoMiFlash) is the essential utility for installing clean factory Fastboot firmware, recovering soft-bricked devices, and executing regional firmware conversions.
Unlike consumer Recovery updates (which are applied as .zip packages from phone menus), official Fastboot firmware packages extract as raw binary images designed for partition-level flashing. However, improper configuration of Mi Flash Toolβspecifically regarding the dangerous Clean All and Lock optionβis one of the leading causes of hard-bricked devices. This step-by-step guide provides a complete, error-free walkthrough for flashing Fastboot ROMs safely.
Recovery ROM vs. Fastboot ROM: The Crucial Difference
- Recovery ROM (.zip): Flashed from within the smartphone's recovery menu or updater app. It contains partial incremental block updates and cannot repartition storage or unbrick devices stuck on boot loops.
- Fastboot ROM (.tgz): A multi-gigabyte factory archive containing full raw partition images (
boot.img,super.img,recovery.img,modem.img) along with automated shell execution scripts (flash_all.bat). This is the only official format compatible with Mi Flash Tool.
The Three Flashing Modes in Mi Flash Tool (Crucial Safety Rule!)
At the bottom-right corner of Mi Flash Tool, you will find three radio buttons. Choosing the wrong option can cause permanent bricking:
1. "clean all" (flash_all.bat) - RECOMMENDED FOR SERVICING!
Flashes the complete factory stock firmware, erases user data for a clean fresh installation, and LEAVES THE BOOTLOADER UNLOCKED. This is the safest mode for repair technicians because if any firmware mismatch occurs, the device can easily be reflashed via Fastboot without restrictions.
2. "save user data" (flash_all_except_storage.bat)
Updates the operating system partitions while preserving user apps, contacts, and personal photos. Ideal for fixing minor software bugs without data loss.
3. "clean all and lock" (flash_all_lock.bat) - DANGER WARNING!
Flashes the firmware and automatically RE-LOCKS THE BOOTLOADER.
The Cross-Region Bricking Trap: If you flash a Global or European ROM onto a phone originally manufactured for the Chinese mainland market, selecting clean all and lock will instantly brick the device with a red error screen stating: "This MIUI/HyperOS version cannot be installed on this device". Because the bootloader re-locked, Fastboot flashing will be blocked, requiring an authorized service center account or EDL test-point flashing to recover! Always use "clean all" unless returning an original domestic phone to factory sealed status.
Step-by-Step Mi Flash Tool Setup & Flashing Guide
Step 1: Download & Extract Fastboot ROM Correctly
- Download the verified official Fastboot ROM matching your phoneβs exact code name (e.g., sweet for Redmi Note 10 Pro, vayu for Poco X3 Pro).
- Fastboot ROMs download as
.tgzarchives. Use 7-Zip or WinRAR to extract the archive. - Avoid Folder Nesting: Ensure the extracted folder does not have spaces or special characters in its file path. Move the extracted folder directly to your primary drive, such as:
C:\xiaomi_rom\ - Open the folder and confirm that you see
flash_all.batand animagessubfolder.
Step 2: Install Drivers in Mi Flash Tool
- Download the latest official Mi Flash Tool (e.g., MiFlash 20200314 or newer).
- Extract the archive and run XiaoMiFlash.exe as Administrator.
- Click on the Driver tab in the top-left menu. Click Install to install Google ADB, Qualcomm QDLoader, and Microsoft MTP driver packages automatically.
Step 3: Connect Smartphone in Fastboot Mode
- Power off the smartphone completely.
- Press and hold Volume Down + Power until the orange FASTBOOT logo appears on screen.
- Connect the smartphone to your PC using a high-quality USB 2.0 cable.
Step 4: Configure Mi Flash Tool & Flash
- In Mi Flash Tool, click the select button in the top-left corner.
- Browse to and select your extracted firmware folder (e.g.,
C:\xiaomi_rom\). - Look at the bottom-right corner and immediately select clean all.
- Click the refresh button. The device list will populate with your device ID and an assigned COM / USB endpoint.
- Click the flash button in the top menu.
- The progress bar will turn green as partitions are transferred. Flashing typically takes 300 to 600 seconds.
- When finished, the status column will display success and the result will show flash done. The phone will automatically reboot into the clean MIUI or HyperOS initial setup screen.
Troubleshooting Common Mi Flash Tool Errors
| Mi Flash Error | Technical Cause | Solution |
|---|---|---|
| error: cannot find flash_all.bat | Incorrect directory selected (selected the "images" folder instead of root). | Select the parent folder that contains flash_all.bat directly. |
| mismatching image and device | Loaded firmware build meant for a different hardware model code name. | Verify device code name using fastboot getvar product; download matching ROM. |
| error: Not catch checkpoint (\$fastboot -s .* lock) | Harmless cosmetic check warning in Mi Flash when "clean all" is used. | If progress shows success, ignore this message. The device will boot normally. |
| ACK error / Write timeout | USB 3.0 controller timing latency or faulty cable. | Connect cable to rear USB 2.0 port; ensure USB cable gauge is high quality. |