The Xiaomi Redmi 6A (codename cactus) is still a popular budget smartphone among custom firmware enthusiasts. TWRP Recovery provides access to root rights, NANDroid backups, custom ROM firmware (like LineageOS or Pixel Experience) and a host of other features, but the process has nuances, from unlocking the bootloader to choosing the right version of TWRP for your device revision.
In this guide, we will take the entire process through the steps from preparation to final validation, and focus on common errors (such as anti-rollback or invalid image format) that often occur on the Redmi 6A due to the features of the MIUI firmware. If you are a beginner, donβt skip sections about backup and bootloader version validation, this will save you hours of recovery.
1. Device Preparation: What to Do Before Installing TWRP
Before you start firmware, make sure your Redmi 6A is ready to be manipulated.Missing this stage can result in a device blink (total inoperability) or data loss.
First, check the MIUI version and build number in the Settings β About Phone menu. It is critical for Redmi 6A to know the board revision (e.g. V9.6.1.0.ODBCNFD or V10.2.3.0.ODBCNXM), as some versions of TWRP are incompatible with new firmware due to Xiaomiβs policy of blocking legacy backpacks through the anti-rollback mechanism.
- π± Make a backup of all important data (photos, contacts, SMS). Use Mi Cloud, Google Drive, or physical copying on PC.
- π Charge the battery to at least 70%. interruption of the process due to battery discharge can cause damage to the boot partition.
- π§ Install drivers for Xiaomi on PC. Download Mi Unlock Tool and Android SDK Platform Tools (for fastboot and adb).
- π Check the model through the command fastboot getvar product β should display cactus.
If youβve been updating Redmi 6A via OTA, you may have a firmware with a locked bootloader installed on your device (even if itβs been unlocked before), which will require re-unblocking β more on that in the next section.
2. Unlock the bootloader: bypassing the restrictions of Xiaomi
Xiaomi blocks the bootloader on all devices by default. To install TWRP, it must be unlocked through the official Mi Unlock Tool. The process can take from a few minutes to 720 hours (30 days) - it all depends on Xiaomi's policy and the status of your Mi Account.
Important: Xiaomi has tightened the requirements since 2023, and now unlocking requires:
- Link the device to your Mi Account in the Settings menu β Xiaomi Account β Mi Cloud β Find the device.
- Enable OEM Unlock in Settings β Additional β For developers (if no point, activate Developer Mode by pressing the MIUI Version 7 times).
- Connect your device to the Internet via a mobile network (Wi-Fi may not work).
After preparation:
- Turn off your phone and press Power + Volume Down to log into Fastboot.
- Connect Redmi 6A to your PC and start the Mi Unlock Tool.
- Sign in with the same Mi Account as you do on your phone.
- Press Unlock and wait until it is completed (it may be necessary to try again in a few days).
β οΈ Warning: If the Mi Unlock Tool gives you an error "Couldn't unlock. Current account is different from the account info on the device," check that the phone and tool use ONE account.
π‘
If you're dragging it out, try using fastboot oem device-info -- if Device unlocked: false, you're still locked. Try it every 24 hours.
3.Selecting a TWRP version for Redmi 6A (cactus)
Not all TWRP builds are compatible with Redmi 6A. Using the wrong version can lead to a soft breeze (the device only loads in fastboot) or partition mounting errors.
| TWRP version | Compatibility with MIUI | Support for section A/B | Download link |
|---|---|---|---|
| 3.6.2_9-0 | MIUI 10β12 | No. | Official website |
| 3.7.0_12-0 | MIUI 12β14 (with patch) | Yes. | XDA Developers |
| 3.5.2_9-0 (obsolete) | Only MIUI 9-10 | No. | Not recommended |
For most users, the best choice is β 3.6.2_9-0. If you MIUI 13/14, You will need an additional patch to bypass anti-rollback (instructions in the section) 5).
Download the.img file and rename it twrp.img for convenience. We also recommend downloading OrangeFox Recovery (an alternative to TWRP) - it works better with new versions of MIUI on Redmi 6A.
What is anti-rollback and why does it interfere with TWRP installation?
4. Install TWRP via Fastboot: step-by-step instruction
Now, let's get to the firmware. You're going to need:
- π₯οΈ PC ADB and Fastboot (from Android) SDK).
- π± Redmi 6A with unlocked loader and enabled debugging USB.
- π File. twrp.img fastboot.
Open the command line in the fastboot folder and execute commands in order:
adb reboot bootloader
fastboot flash recovery twrp.img
fastboot boot twrp.imgThe last command temporarily loads TWRP without firmware into the permanent memory, which is important because MIUI can overwrite the Recovery on the first boot, to lock the TWRP, after entering the Recovery:
- Go to Mount β Enable MTP (to see your phone files on your PC).
- Copy the file to your phone. disable_miui_anti_rollback.zip (if necessary).
- In TWRP, select Install β Select file β Scroll to the right.
- Reboot to Recovery (Reboot β Recovery)
Device in Fastboot mode|Drivers. ADB/Fastboot fixed|File. twrp.img fastboot|Battery charged. >50%|Backup copy of data created-->
β οΈ Note: If after the firmware TWRP The phone is loaded into the stock recavator, so MIUI I re-recorded it. In this case, repeat the command fastboot boot. twrp.img And pass right through disable_miui_anti_rollback.zip, if you use MIUI 11+.
5. Solve errors in installing TWRP on Redmi 6A
Even with the correct following of the instructions, errors can occur, and here are the most common ways to solve them:
- π« Mistake. FAILED (remote: 'Flashing is not allowed in Lock State' - Repeat the process with the Mi Unlock Tool.
- π Cyclical loading in TWRP Delete the file. /data/.twrp via File Manager in the same way TWRP, then reboot.
- π Device is not defined in fastboot Check drivers (use 15 Seconds) ADB Installer) or change USB-cable.
- π± Black screen after firmware Try to pinch the Power + Volume Up 10-15 seconds for forced reboot.
If TWRP is successfully installed but not partitioned (Data, System), you probably have MIUI 12+ with File-Based Encryption (FBE) encryption.
- In TWRP, go to Wipe β Format Data (this will delete all data!).
- Reboot to the recavery and check the mounting.
- If it didn't help, go ahead. disable_forceencrypt.zip.
π‘
On Redmi 6A with MIUI 13/14, be sure to use TWRP version 3.7.0+ with an anti-rollback patch. Older versions of the cover lead to a blink!
6. Additional settings after installing TWRP
After successful firmware, it is recommended to perform several actions for stable operation:
- π Create a backup NANDroid: In TWRP Select Backup and mark Boot, Data, System. Save backup to SD-card.
- π Turn off automatic update of the recovery: MIUI Go to Settings. β The phone. β Updating the system β Three points. β Settings and disable Auto Update.
- π‘οΈ Install Magisk for root rights: Download the latest version Magisk.zip from GitHub and run through Install to TWRP.
If you plan to flash custom firmware (like Havoc-OS or ArrowOS), first check its compatibility with your Redmi 6A revision. Some ROMs require vendor and firmware firmware to be firmware separately.
To check the functionality of the root rights after installing Magisk, use the command:
adb shell suIf you have permission requests on your phone, everything is set up correctly.
7.How to return stock Recovery (if necessary)
If you need to return the original recovery (for example, for warranty repairs), download stock recovery.img for your version of MIUI from the Xiaomi Firmware Updater website.
Write it through fastboot:
fastboot flash recovery stock_recovery.img
fastboot rebootPlease note that after this:
- Re-unlock the bootloader to install TWRP.
- If you have been stitching custom firmware, returning to the drain recavery can result in a hang on the MI logo (a complete reset is needed).
β οΈ Note: On some versions MIUI 14 Returning to the drain Recovery automatically blocks the loader. To avoid this, run the fastboot flash boot command before the firmware. stock_boot.img (where stock_boot.img β Original boot from your firmware).