blackview promotion

ZUK Z2 & Z2 PRO ROM Flashing + UNBRICK Guide

by androidbrick 9


zuk z2 pro 04


Today’s headline is the newcomer, Lenovo’s sub-brand ZUK Z2 series. Amazing value for price, almost the cheapest Snapdragon 820 based smartphone and therefore the series already has many fans/forums around the world. I myself always used Qfil flash programmer when it was about unbricking a Qualcomm based Lenovo/ZUK. But after Snapdragon 820, things changed a little, in  terms of the name of programmer files and extensions. Until Snapdragon 810, for 64 Bit chips, we had “mbn” file extension as our “firehose programmers”, for example “prog_emmc_firehose_8994_ddr.mbn” or “prog_emmc_firehose_8994_lite.mbn” inside our Qfil ROM packages. And Qfil was the only flasher that supported this firehose protocol till now. After 820’s Qualcomm made differences both in file system and naturaly to our “service files”.  Mbn’s became “elf’s”, “not the nation from middle-earth ?” 

 Taken from wiki : “In computing, the Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps.” Examples from ZUK Z2’s Qfil rom folder : “prog_emmc_firehose_8996_ddr.elf” and “prog_emmc_firehose_8996_lite.elf“. 
I read that some users are having difficulties flashing their Snapdragon 820 Zuk’s with Qfil, could be because of the version of Qfil, can be driver related or something else. Today, I will show you a more easy way to flash any *.elf programmer to any Qualcomm 820 based smartphone, with right kind of ROM, of course. We will use our regular saviour, Xiaomi’s latest “MiFlash” Qualcomm programmer, this version came out right after Xiaomi’s Snapdragon 820 based phone Mi5 and supporting elf programmers and is very easy to use in most cases.

Before we start, we need to put our Windows operating system into “Test Mode“, so we don’t have to deal with any driver install issues in between our work.

To do this just :

Press Start->Search->cmd then right-click on it and click Run as administrator. In the CMD window, type or copy this “Bcdedit.exe -set TESTSIGNING ON”  and press enter. Restart PC.

After your work with unbricking is done, if you want to get out of this test mode, detailed instructions are here : Windows Test Mode .


 Before we begin, let me remind you, this method will wipe your phone completely and bring it to “out of box” factory mode. So backing up your important data is a must! If your phone is already bricked and can’t power on or is stuck at logo, there is not much to do for your data.  



First, we need to install adb on our computers, and for that, we will use a program called “adb setup“, thanks to Snoop05 from XDA-Developers, this will enable adb and fastboot commands to work on our systems. It will also install necessary adb drivers. There are many ways to do that but what is best about Snoop05’s solution is that we can use adb and fastboot commands system-wide, this means our old “command prompt” will turn to accept this commands, and no need to work in the “adb” folder like we used to before.

Then install Lenovo and ZUK phone Windows USB drivers + Qualcomm Diag port drivers on your system.


On Lenovo/ZUK phones, to enable USB debugging, click “USB debugging (ADB)”under “USB computer connection” from the pop-up window when you plug the USB cable.  On ZUK Z1, if Cyanogen ROM is installed, go to settings> about phone, and click “Build number”couple of times till you see you are a developermessage. Then back to settings>Developer opitons>USB debugging, click it and allow. Your system will install necessary”adb” drivers. Now open command prompt and type :

adb devices


Look at your phone for the Allow USB debugging? message, select Always allow from this computer and click OK. If you forget to allow from phone, the command will returnunauthorized, if OK you will see your phone as device .


Now it’s time to open our so called Qualcomm HS-USB Qdloader 9008 service port to work with. If your phone is in working condition, we will use an adb command from command prompt :

“adb reboot edl”


If your phone is bricked / can’t boot up / stuck at logo / restarting itself continuously, then we will use the key combination to open our Qualcomm HS-USB Qdloader 9008 service port. That key combination depends on the ROM that you had on your phone before it’s bricked.

If you were on Lollipop : Phone must be completely off. Pressing “Volume Up” key plug the USB cable in WITHOUT PRESSING POWER BUTTON !  Port will open.

If you were on Marshmallow : Phone must be completely off. Plug the USB cable in and immediately press Power On button. Port will open. 


Now setup Miflash that you downloaded before. Miflash will install necessary “Qulacomm” drivers to your system , so don’t forget to choose “Install this driver software anyway” option when it asks, twice, and after it finishes you will see a new port named Qualcomm HS-USB Qdloader 9008 in your device manager too.

The driver path will be “C:\Program Files (x86)\Xiaomi\MiPhone\Qualcomm\Driver”, in case you want/need to install your drivers again.




Open MiFlash, click “refresh” button and you’ll see your Qualcomm 9008/EDL port there. Then click “Browse” and choose your downloaded ROM folder, please (unzip it before you that). It will look like this for ZUK Z2 ROM folder :


When you are ready click “flash” button. In about 2-3 minutes the flashing will finish, unplug the USB cable and press power button long enough to power on your ZUK Z2. That’s it. Your ZUK has been saved or flashed with a stock factory ROM.



Some of the paragraphs of this article are taken from my Xiaomi and Lenovo unbricking + flashing guides, so don’t get confused because of some pictures here.


If you need to look at them:

Xiaomi Phones (Qualcomm models): How To Flash Global Multilanguage ROM + Mega UNBRICK Guide

Lenovo / ZUK Phones (Qualcomm Models) : Easy Rom Flashing + Mega UNBRICK Guide

OnePlus Series Mega UNBRICK Guide + TWRP Flashing


Buy Chuwi CoreBook
  • Mark

    Excellent guide/tutorial! +1

    • androidbrick

      Thank you 🙂

    • topex

      yes, indeed. 🙂

  • Konstantinos Karavanos

    If my phone is bricked, I cannot use developper options and enable usb debugging! and it keeps saying “unauthorized” . Is there something I can do?

    • androidbrick

      Yes, key combination to boot into EDL mode.

  • Tommy

    Hi, the application miflash when I start fhlashing try to open serial port but it fail a lot of time and then show a message open serial port failed so I cannot flash the ROM; what could I do??

  • Alesio Falcone

    Hi there. I had Android Nougat on my Zuk Z2. command “adb reboot edl”, power down the phone but it doesn’t start. I’ve tryed volume up, volume up and down together and power button. Any Ideas? Thanks in advance

  • Swaggie Mendes

    HEY NEED HELP PLS !!! I did everything you showed and doubled checked. At the end when flashing got the error ”Class not regestered 0x00040154” anyone???

  • Fabio Becker


    My ZUK Z2 Pro (bootloader unlocked) after finish loading the entire system (android) and appear the home screen, it reboots itself. When its boot it connected to PC, it does not reboot and after 5s I can remove cable and use it without problems. If the cable is in charge adapter, it also has the same problem.

    Summary: I always need to turn on it connected in PC (with drivers installed) and wait 5s after finished loading all OS + startup APPs to not reboot alone. I install TWRP for good but no change to install custom ROM as it comes in loop after loading bootloader. Only ROMs that are stock, installed using QFIL works.

    Do you have any idea?
    Btw: I was using Mokee Rom without problems but after starting somes Frameworks apps te rom bricked out.