There is an excellent explanation of Xiaomi's antirollback features elsewhere on the site. The thread contains a general overview of the steps required to install TWRP to flash a custom ROM. In brief (i) boot into TWRP installed on local machine with adb (ii) use TRWP to install TWRP itself and/or the ROM (iii) flash away....
My experience has been that TWRP run from the local machine cannot decrypt and access the file system to read/write/execute files. This is despite using the correct PIN, no PIN, factory reset. Note that TWRP cannot access /data so cannot selectively format it.
Any suggestions for a n00b???
droid_tsar said:
There is an excellent explanation of Xiaomi's antirollback features elsewhere on the site. The thread contains a general overview of the steps required to install TWRP to flash a custom ROM. In brief (i) boot into TWRP installed on local machine with adb (ii) use TRWP to install TWRP itself and/or the ROM (iii) flash away....
My experience has been that TWRP run from the local machine cannot decrypt and access the file system to read/write/execute files. This is despite using the correct PIN, no PIN, factory reset. Note that TWRP cannot access /data so cannot selectively format it.
Any suggestions for a n00b???
Click to expand...
Click to collapse
You cannot decrypt it because of:
a: you have to flash twrp with working decryption
b: boot to a custom recovery, WIPE DATA ONLY NOT FACTORY RESET (in advance) then flash Disable_Force_Encryption.zip (This will prevent the system to encrypt data from first boot)
Of course, everything you need is on XDA, just find it.
Xiaomi's AntiRollback feature prevents you from rollbacking from e.g MIUI 10 to MIUI 9 due to the vendor and firmware issues.
More details here https://www.xda-developers.com/xiaomi-anti-rollback-protection-brick-phone/amp/
Thanks Darklouis - solved the problem by not rebooting to the system before flashing the ROM...just reboot into bootloader mode without allowing the encryption to proceed, move ROM into storage and flash from TWRP. Worked well
Darklouis said:
You cannot decrypt it because of:
a: you have to flash twrp with working decryption
b: boot to a custom recovery, WIPE DATA ONLY NOT FACTORY RESET (in advance) then flash Disable_Force_Encryption.zip (This will prevent the system to encrypt data from first boot)
Of course, everything you need is on XDA, just find it.
Xiaomi's AntiRollback feature prevents you from rollbacking from e.g MIUI 10 to MIUI 9 due to the vendor and firmware issues.
More details here https://www.xda-developers.com/xiaomi-anti-rollback-protection-brick-phone/amp/
Click to expand...
Click to collapse
droid_tsar said:
Thanks Darklouis - solved the problem by not rebooting to the system before flashing the ROM...just reboot into bootloader mode without allowing the encryption to proceed, move ROM into storage and flash from TWRP. Worked well
Click to expand...
Click to collapse
Glad to help
Hi everyone, I am recently registered on this site. from some days I have the desire to do the Root on the miui global stable, it is consequently on my beloved Xiaomi Mi 8, the problem is: when the device is turned off I turn on the device pressing it under volume key + ignition key at the same time to enter in recovery mode, the latter makes me enter in "Official" mode, in the sense that it does not let me enter twrp mode where there are install, settngs, advacend options, backup ... but in the official one with only 3 buttons: wipe , connect to mi account ... So I thought of flashing the twrp via fastboot, I finally entered it, but the problem is that when I go to Install, to install the root, I can't do that, because characters (alphanumeric) appear long and randomly, so I can't identify which folder I put the Magisk on, it appears in both folders and subfolders. somewhere I read to install a zip file called LazyFlasher, to avoid possible blocking at startup, in fact I try before installing this zip file, with various combinations (first rom, then magisk, both rom and magisk, first magisk then rom , first rom that gate at the end the cache then magisk) but all fail, so I am forced to flash through fastboot with the tool I flash, because at every start it always took me back to twrp without the possibility of moving, it seems that the touch does not respond at the user's commands. So I know that this LazyFlasher file causes me to "bypass" this problem, give me confirmation ??. Thank you. PS: so far I haven't managed to install the Magisk root yet, can you give me a hand, maybe the twrp has some problems? or is my device not compatible with this version of twrp ??, I tell you that in the past with the miui global beta it didn't give me this problem. Thank you all
Have you even unlocked your bootloader? If not look for the official Xiaomi tool, it's the only way how you are able to flash twrp and root your phone.
altae said:
Have you even unlocked your bootloader? If not look for the official Xiaomi tool, it's the only way how you are able to flash twrp and root your phone.
Click to expand...
Click to collapse
Thanks for the reply, I solved everything, unlocked BL, installed twrp (no stock) and installed root. but I have a problem, when I installed the root, every time I want to restart the device for a series of reasons (slowness, delete cache, rest ...) it starts in twrp not in the system, so I have to delete everything it's starting again. I heard that the LazyFlasher file makes it possible to remedy this problem, essentially it allows you to bypass the security of android to avoid bootloap, and I hope it also corrects this problem (which when I reboot the device, I want to install a zip file, I it always starts in twrp), but during the flash of this zip (LazyFlasher) I get an error: the Updater process ended with error: 1 Error installing zip '/sdcard/lazyflasher-no-verify-opt-encrypt.zip. Thanks a lot. PS: but this file, lazyflasher should be mounted on an SD card to work ?? I don't have it on my device
Paoloqu24 said:
Thanks for the reply, I solved everything, unlocked BL, installed twrp (no stock) and installed root. but I have a problem, when I installed the root, every time I want to restart the device for a series of reasons (slowness, delete cache, rest ...) it starts in twrp not in the system, so I have to delete everything it's starting again. I heard that the LazyFlasher file makes it possible to remedy this problem, essentially it allows you to bypass the security of android to avoid bootloap, and I hope it also corrects this problem (which when I reboot the device, I want to install a zip file, I it always starts in twrp), but during the flash of this zip (LazyFlasher) I get an error: the Updater process ended with error: 1 Error installing zip '/sdcard/lazyflasher-no-verify-opt-encrypt.zip. Thanks a lot. PS: but this file, lazyflasher should be mounted on an SD card to work ?? I don't have it on my device
Click to expand...
Click to collapse
Flash a DM-Verity No-Encryption ZIP to remove encryption and disable the Verity check. OR if you want to keep encryption and root -flash a 3rd party Kernel like MiPa or Sphinx after Magisk.
Agimax said:
Flash a DM-Verity No-Encryption ZIP to remove encryption and disable the Verity check. OR if you want to keep encryption and root -flash a 3rd party Kernel like MiPa or Sphinx after Magisk.
Click to expand...
Click to collapse
thank you. in the past I flamed DM-Verity No-Encryption ZIP to remove encryption and disable Verity checking. in fact after immediately this zip I put magisk. at the access of the dispay I saw a magisk icon, so it means root installed successfully. but the problem is: when I reboot the device to clear the cache ... or install a module on the magisk, it always starts in twrp, so I have to start all over again. there is a way to keep cryptography and root, without any booting going into twrp but into the system. thank you
Paoloqu24 said:
thank you. in the past I flamed DM-Verity No-Encryption ZIP to remove encryption and disable Verity checking. in fact after immediately this zip I put magisk. at the access of the dispay I saw a magisk icon, so it means root installed successfully. but the problem is: when I reboot the device to clear the cache ... or install a module on the magisk, it always starts in twrp, so I have to start all over again. there is a way to keep cryptography and root, without any booting going into twrp but into the system. thank you
Click to expand...
Click to collapse
You shouldn't have these problems:
Flash ROM and Keep Encryption:
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'DM-Verity' file is the ONLY thing the file is named. The filename triggers what is installed during flash)
Flash MAGISK
Flash 3rd Party Kernel (I prefer MiPa or Sphinx found in other threads)
Reboot and enjoy!
Flash ROM and REMOVE Encryption: (Keeps Stock Kernel)
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'verity' AND 'forceencryp' is in the file name. The filename triggers what is installed during flash)
Reboot and enjoy!
If you have problems with any of them, you might need to format internal storage first (where you have to answer 'yes' in TWRP)
/.
As far as I understand, you are having problems while booting into TWRP. You should boot into TWRP right after flashing it, and boot into OS once again and reboot to recovery. It should work. If you see the stock recovery, keep flashing TWRP. If you want to temporarily flash it, use "fastboot boot TWRP.img" command.
The War Profiteer said:
As far as I understand, you can't boot into TWRP. You should boot into TWRP right after flashing it, and boot into OS once again and reboot to recovery. It should work. If you see the stock recovery, keep flashing TWRP. If you want to temporarily flash it, use "fastboot boot TWRP.img" command.
Click to expand...
Click to collapse
No problems booting into TWRP.
You can use "fastboot.exe flash recovery twrp.img"
Then reboot phone and hold volume-up+power. When booting until TWRP appears. If you miss it and it tries to boot it will overwrite it. But I've never had issues otherwise.
Agimax said:
You shouldn't have these problems:
Flash ROM and Keep Encryption:
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'DM-Verity' file is the ONLY thing the file is named. The filename triggers what is installed during flash)
Flash MAGISK
Flash 3rd Party Kernel (I prefer MiPa or Sphinx found in other threads)
Reboot and enjoy!
Flash ROM and REMOVE Encryption: (Keeps Stock Kernel)
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'verity' AND 'forceencryp' is in the file name. The filename triggers what is installed during flash)
Reboot and enjoy!
If you have problems with any of them, you might need to format internal storage first (where you have to answer 'yes' in TWRP)
/.
Click to expand...
Click to collapse
Thanks for the reply. I will choose the first option, I replace the stock kernel with sphinx kerne, so I get more functionality, battery life, performance, fluidity ... also the developer has mentioned us, if any desired functionality is missing in this kernel, it is possible ask the developer to add us. so I choose the first option, I have some questions before replacing the stock kernel: 1) is it possible to restore the kernel stock, in case of problem, if yes, where can I get the kernel for Mi 8? 2) if in the future there will be a new update of sphinx kerne, how do I understand if a new update has been released? will you notify me ?? 3) are you sure that after these steps, upon restarting the phone, I will find the root installed ?, if I would like to restart the device, it will not boot in twrp but in the system, because I replaced the stock kernel, the same thing is also valid for the magisk modules, zip files ... 4) the last fundamental thing, will I receive updates via OTA ?? if not, is there a way to install future updates (I would like to try the latest magisk version, 19.3) ?. 5) it is safe if I install update via ota, it does not start in twrp, but system. 6) the steps to do are, flash twrp custom via fastboot, I choose to delete the memory, restart twrp, copy the files (MIUI global stable, sphinx kernel, dm-verify), flash rom, flash dm-verify, flash magisk, flash kernel, device reboot, all right. Thanks a lot for the questions
Agimax said:
You shouldn't have these problems:
Flash ROM and Keep Encryption:
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'DM-Verity' file is the ONLY thing the file is named. The filename triggers what is installed during flash)
Flash MAGISK
Flash 3rd Party Kernel (I prefer MiPa or Sphinx found in other threads)
Reboot and enjoy!
Flash ROM and REMOVE Encryption: (Keeps Stock Kernel)
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'verity' AND 'forceencryp' is in the file name. The filename triggers what is installed during flash)
Reboot and enjoy!
If you have problems with any of them, you might need to format internal storage first (where you have to answer 'yes' in TWRP)
/.
Click to expand...
Click to collapse
I get an error during the installation of sphinx: the Updater process ended with error: 1 Error installing zip '/sdcard/sphinx.zip
Agimax said:
You shouldn't have these problems:
Flash ROM and Keep Encryption:
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'DM-Verity' file is the ONLY thing the file is named. The filename triggers what is installed during flash)
Flash MAGISK
Flash 3rd Party Kernel (I prefer MiPa or Sphinx found in other threads)
Reboot and enjoy!
Flash ROM and REMOVE Encryption: (Keeps Stock Kernel)
Flash TWRP
Boot into TWRP and flash MIUI ROM
Flash TWRP again (select flash image, then select recovery partition, then select recovery file)
Flash DM-Verity ZIP here-->: DM-Verity (Make sure 'verity' AND 'forceencryp' is in the file name. The filename triggers what is installed during flash)
Reboot and enjoy!
If you have problems with any of them, you might need to format internal storage first (where you have to answer 'yes' in TWRP)
/.
Click to expand...
Click to collapse
both methods don't work, the first one gives me error when I install kernel, the second one on startup gives me a lot of error
I managed to install the root, doing the following steps: flash twrp via fastboot, copy the files to the internal memory, install rom files, install magisk files, install dm-verify, then reboot, and it works perfectly. but I have some problems: when I reboot the device, it starts in twrp not in the system, and therefore I am forced to do it again. help me !! kernel replacement gives me error, both
Paoloqu24 said:
I managed to install the root, doing the following steps: flash twrp via fastboot, copy the files to the internal memory, install rom files, install magisk files, install dm-verify, then reboot, and it works perfectly. but I have some problems: when I reboot the device, it starts in twrp not in the system, and therefore I am forced to do it again. help me !! kernel replacement gives me error, both
Click to expand...
Click to collapse
You should not have errors flashing a kernel. Maybe you should flash all partition images from fastboot. Or maybe wrong recovery? What version are you using?
Agimax said:
You should not have errors flashing a kernel. Maybe you should flash all partition images from fastboot. Or maybe wrong recovery? What version are you using?
Click to expand...
Click to collapse
the kernel is: Sphinx-v2.9
Paoloqu24 said:
the kernel is: Sphinx-v2.9
Click to expand...
Click to collapse
I mean what version of recovery. You should use this one (v3.3.1) or newer: https://www.androidfilehost.com/?fid=3556969557455275724
It's from this thread: https://forum.xda-developers.com/mi-8/development/recovery-unofficial-twrp-recovery-t3893823
Agimax said:
I mean what version of recovery. You should use this one (v3.3.1) or newer: https://www.androidfilehost.com/?fid=3556969557455275724
It's from this thread: https://forum.xda-developers.com/mi-8/development/recovery-unofficial-twrp-recovery-t3893823
Click to expand...
Click to collapse
TWRP 3.3.1.1 https://eu.dl.twrp.me/dipper/
I followed in this guide "https://clk.ink/7q4SUR" but instead of installing Disable_Dm-Verity_FEC_v1.1.zip I downloaded Disable_Dm-Verity_ForceEncrypt_09.02.2018.zip, is it the same ?, also I saw that, when I go inside the magisk, and I click on uninstall> restore image, a warning appears "there is no original boot image", I also executed this command in powershell "fastboot getvar current-slot" but I get a "GetVar Variable Not found" error. I don't know how to solve. thank you
*Urgent* Need clarifications regarding the flashing of TWRP recovery & custom ROMs
I want to flash a custom ROM (Pixel Experience Plus) on my Poco/Pocophone F1.
It would be of great help if I get clarifications regarding the following:
1. After unlocking the bootloader, is it necessary to flash TWRP recovery using 'fastboot flash recovery' cmd command, to flash a custom ROM? Or can TWRP recovery just be booted by using the 'fastboot boot' cmd command & then flash the ROM? (This is because I'd prefer to flash a custom ROM without permanently flashing TWRP recovery, I want TWRP temporarily)
2. In case if it's necessary to flash TWRP using 'fastboot flash recovery' cmd command, then do I have to flash DFE (Disable Force Encryption). Can I skip flashing DFE? (Because I don't want to flash DFE & want TWRP temporarily)
3. I want a clean install of the custom ROM. So, can I wipe Dalvilk/ART cache, Data, System, Cache, Internal Storage, SDCard? i.e. everything except, USBOTG (Because, the custom ROM & firmware ZIP files are stored in it & I'll flash them from USB OTG device).
Would this type of wiping affect the TWRP recovery?
4. After wiping everything except USBOTG, can the custom ROM & firmware ZIP files be transferred into the phone's internal storage by connecting it to the PC, while in TWRP recovery?
5. Is it safe to flash the ZIP files from a USB OTG device?
6. As I already mentioned that I want TWRP temporarily (If it's possible). After flashing the firmware & custom ROM. If the recovery is still a stock Mi recovery. Would it affect the functioning of the custom ROM in any way?
If all of the above can be done, is this one of the proper way to flash/boot TWRP recovery & flash a custom ROM? If not, please guide me accordingly.
imegsp said:
I want to flash a custom ROM (Pixel Experience Plus) on my Poco/Pocophone F1.
It would be of great help if I get clarifications regarding the following:.
Click to expand...
Click to collapse
i'm no expert and i'm fairly new to flashing if you're kind enough to read it here's my 2cents.
1) I believe it is necessary to flash with that command & have TWRP as your custom recovery , it is packed with powerful tools. so i don't see a problem not wanting it permanently and it saves you the hassle of flashing it again when changing roms , fixes,etc..
2) Yes , you need to flash the DFE so you won't encounter any errors in TWRP later.
3) " Dalvilk/ART cache, Data, System, Cache " this should be okay , no need to flash everything. for best practices do a factory wipe in TWRP and in advanced mode wipe those 4. make sure to create a backup in-case something goes wrong.
4) I haven't tried this yet , but it seems not doable as you need permission in the phone for the default USB connection toggle if it's in data transfer mode , usb debuggin , charging etc. best is boot your phone then do the transfer in file manager.
5) Yes it is safe since OTG is another form of External Data devices such as SD Card , etc.
6) No it wouldn't affect the rom functionality since rom and recovery is two different thing.. but still , to avoide future mishaps stick with TWRP
you can check this helpful link by madsponge26 : https://forum.xda-developers.com/poco-f1/how-to/xiaomi-poco-f1-unlock-bootloader-custom-t3839405
imegsp said:
I want to flash a custom ROM (Pixel Experience Plus) on my Poco/Pocophone F1.
It would be of great help if I get clarifications regarding the following:
1. After unlocking the bootloader, is it necessary to flash TWRP recovery using 'fastboot flash recovery' cmd command, to flash a custom ROM? Or can TWRP recovery just be booted by using the 'fastboot boot' cmd command & then flash the ROM? (This is because I'd prefer to flash a custom ROM without permanently flashing TWRP recovery, I want TWRP temporarily)
2. In case if it's necessary to flash TWRP using 'fastboot flash recovery' cmd command, then do I have to flash DFE (Disable Force Encryption). Can I skip flashing DFE? (Because I don't want to flash DFE & want TWRP temporarily)
3. I want a clean install of the custom ROM. So, can I wipe Dalvilk/ART cache, Data, System, Cache, Internal Storage, SDCard? i.e. everything except, USBOTG (Because, the custom ROM & firmware ZIP files are stored in it & I'll flash them from USB OTG device).
Would this type of wiping affect the TWRP recovery?
4. After wiping everything except USBOTG, can the custom ROM & firmware ZIP files be transferred into the phone's internal storage by connecting it to the PC, while in TWRP recovery?
5. Is it safe to flash the ZIP files from a USB OTG device?
6. As I already mentioned that I want TWRP temporarily (If it's possible). After flashing the firmware & custom ROM. If the recovery is still a stock Mi recovery. Would it affect the functioning of the custom ROM in any way?
If all of the above can be done, is this one of the proper way to flash/boot TWRP recovery & flash a custom ROM? If not, please guide me accordingly.
Click to expand...
Click to collapse
1. if you always want to depend on PC to trigger your Poco in to recovery then use command "fastboot boot recovery.img", otherwise lets say you are on the move and got pixel update! you can simply download it , and flash it in 15 mins on the go , so mainly its upto you . from security point of view, yes its not good to have twrp flashedi n your /recovery , anyone can boot and do harm! , so its a judgement call for you...
2. again upto you, DFE wont interfere/confilt with either rom or twrp
3. android device have various paritition wiping "/system" & "/data" (user setting and apps & appdata) is ENOUGH and called CLEAN FLASHING in various threads of custom roms. you don't have to wipe internal storage!!! you will lose you data... BUT YES if you get encryption error then you must click "FORMAT DATA" button on twrp in order to make storage usable/accessable to twrp. this FORMAT DATA will format your /data /system and /internalStorage partitions and you will delete all your data! then you can flash custom rom of your choice from scratch
4. you don't get access of TWRP FILEMANAGER via fastboot commands from pc, BUT you can do similar by enableing TWRP SIDELOAD option under settings, this adb sideload is a mode listening for new incoming file to flash! if you side load pixelrom.zip from fastboot command while your twrp has active sideload waiting, fastboot will start sending the file and twrp will wait and as soon as the transmit is completed! the file will automatically be flashed!. ,
however you can put files in usbotg drive or combo drive and using file manager in twrp move files from HERE to THERE!
5. I always do it!, but make sure the connection is not faulty!!! otherwise high chances of incomplete flashing and I lost my redmi3i due to impcomplete flashing of stable rom! (bricked)
6. no it wont affect! infact you can even keep the /recovery partition blank! ( fastboot erase recovery).
for MIUI FLASHING/ROOTING / Disabling force encryption etc , this post is king
https://forum.xda-developers.com/poco-f1/how-to/xiaomi-poco-f1-unlock-bootloader-custom-t3839405
I am on HAVOC2.8 and this is how i did it
1. flashed TWRP 3.3.1 unofficial (download it from HERE ) ref Reference - as official twrp has TOUCH driver issues. this one worked with me very well
2. I wiped /data, /system then
3. flashed VENDOR.zip from HERE
4. FLASHED CUSTOM ROM (i use HAVOC2.8)
5. FLASHED DFE HERE - REFERENCE
6. FLASHED GOOGLE APPS ( GAPPS.ORG) ( ARM64>9.0MicroPackage)
7. Flash Optimus Drunk Kernel ( OPTIONAL- havoc uses shadow kernel , i feel OD kernel is better, battery and 4g connectivity)
8. FLASHING MAGISK19.3
9. when i was on havoc2.7, by using MIGRATE, it made flashable zip of my APPS+DATA, stored in internalStorage, and now I will FLASH that file., Mine size goes to 2gb you can get it from HERE
10. WIPE CACHE/DELVIK
11. REBOOT
fire reboot may go in to bootloop and then second reboot may take a while and finally you should see Pixel Setup asking google accounts and info etc
once after you finish setup! don't RESTORE APPS from PLAYSTORE, (download only license apk, in my case I have purchases many apps from playstore and saperate license info is always appear in intial setup! SELECT THOSE ONLY)
ONCE playstore is DONE downloading all your selected (fewer) apps, and MAGISK ROOT is working...... put device on AIRPLANE MODE
FROM DROP DOWN Notification panel, CLICK MIGRATE, and it will prompt you what do you wana restore from your previouce ROM to newly flashed HAVOC ..APPS+SETTINGS+PERMISSION+DATA etc - migrate restoration may take upto 30 mins,
once done, uninstall from system and reboot device!
REMEMBER I DONOT RECOMEND MIGRATE TRICK FOR WHATSAPP, it doesn't work properly and NOTIFICATION ISSUES with BLANK DP observed by me whenever I forcely re-instated whatsapp by migrate!