It is unfortunate how low-end devices do not tend to attract much of developers crowd or, are even left to die at some side of the forums. But not all of them get the same treatment, some powerful devices like the Moto E do get the privilege to receive a wide variety custom ROM and recovery support. I bought a Moto E last year when its was launched and must say, I was pretty impressed with the hardware configuration and performance that was offered at the price.

The phone went smooth in terms of user interface, which is basically the plain AOSP layout offered majorly by the Nexus devices (My personal favorite). It delivers a generic Snapdragon 200 Dual-core 1.2 GHz Cortex-A7 processor with Adreno 302 graphics unit for a decent gaming experience, and a 4.3 inches Gorilla Glass display, along with Android 4.4.2 KitKat out-of-the-box and 1GB user-available RAM.

Thanks to the amazing ParanoidAndroid team, I installed the ROM on my Moto, played on it for a while, got bored and shifted to CyanogenMod for Android Lollipop experience, but didn’t even settle then. Being a flashaholic, I couldn’t resist myself from flashing just another ROM and so, at last, I decided to bring back and restore my Moto E to stock firmware and wait for the official Lollipop update.

Today, I will demonstrate the complete procedure that I followed to restore Moto E to stock firmware. I am personally gonna use the Retail Android 4.4.4 firmware to instruct the process, whereas you might need to download the one corresponding to your device model and carrier, and for this, some file names may be different, so make the changes wherever needed (I believe you’re sensible enough). Post that, We will re-lock the device’s bootloader using a plain fastboot command.


The below process has been performed on a Moto E XT1022. Restoring or installing the firmware manually involves formatting and re-installing the partitions. Messing with these or damaging these partitions may ultimately damage your device. So perform everything as stated. Proceed only at your own risk, DroidViews or any of its members shall not be liable for any damage to your device. However, even if you manage to get yourself somehow into such trouble, we will provide our best assistance to pull you out for good.


  • Download Motorola drivers from the official website or visit our USB driver compilation.
  • Charge your device to at least 60% battery level to avoid any interruption during the process.
  • Make sure to backup your device’s internal storage as it will be wiped off completely.
  • Pull out your Micro SD card, if it is already inserted in the phone.
  • Enable USB debugging on your Moto E. Go to Settings > Developer options and check the USB debugging box.
  • Download the firmware and extract it.
  • Extract the fastboot tools package and copy all its content to the folder where the firmware files have been extracted.


Stock Firmware: | Mirror 1 | Mirror 2

Motorola Fastboot Tools: | Mirror

How to choose correct firmware for your Moto E (2014)

  1. If you are unsure which one is your firmware, go to Settings> About Phone> System Version the text written there will be similar to the version you want to choose!
  2. If You cannot access your phone or have changed ROM, then please go to bootloader mode using the steps from instructions given below.
  3. Open command window and type the following command:
    fastboot getvar

    You will see the version to choose in output.

Steps to Restore Moto E to Stock

  1. The process will take place while your device is in fastboot mode/bootloader mode. So, it’s time to enter into fastboot mode, which can be done through two ways – using  ADB command or by pressing the physical button combo.

    • Connect your Moto E to the PC via USB cable, open the command prompt window and enter the following command.
      adb reboot bootloader
    • Power off your phone completely. Press the Volume down and Power keys altogether for about 5-6 seconds. After that, release the power key and the fastboot screen shall appear.
  2. Note that, the sequence of flashing the files is important and it is advised to follow the same sequence of flashing the partitions.
  3. Open the folder where all the firmwares files were placed along with fastboot tools. Press the SHIFT key and right-click on an empty space inside the folder. Select Open command window here from the pop-up menu that appears.
  4. Now, enter the following commands one after the other to restore Moto E to stock firmware.
    mfastboot oem lock begin
    mfastboot flash partition gpt.bin
    mfastboot flash motoboot motoboot.img
    mfastboot flash logo logo.bin
    mfastboot flash boot boot.img
    mfastboot flash recovery recovery.img
    mfastboot flash system system.img_sparsechunk.0
    mfastboot flash system system.img_sparsechunk.1
    mfastboot flash system system.img_sparsechunk.2
    mfastboot flash modem NON-HLOS.bin
    mfastboot erase modemst1
    mfastboot erase modemst2
    mfastboot flash fsg fsg.mbn
    mfastboot erase cache
    mfastboot erase userdata
  5. The next step is to relock the device’s bootloader. Enter the following command while the device is in fastboot mode:
    mfastboot oem lock
  6. And finally, reboot your device when all the above commands are done.
    mfastboot reboot
  7. In case the device is stuck at the boot logo, reboot back into bootloader mode and enter the following commands
    mfastboot cache
    mfastboot userdata

Congrats! All is done here.

Now that we’re done with everything, you will have your Moto E restored completely to stock KitKat firmware. You can now either wait for the Lollipop update to reach your region or carrier, or even update it manually using the soak test available at XDA forums. It’s not necessary to always use a custom ROM, after the update, you could just follow the Moto E rooting guide, to simply root your device on Lollipop. Thereafter, you can also install Xposed Framework on your rooted Moto E to attain a lot of custom ROM features without the need to install one.

Tell us how this tutorial has worked for you and provide your valuable feedback via comments. Help us build a better community.


  1. i am having moto e2 .. i have installed cynogen-mod and after that again i have installed stock firmware …………..but were perfectly installed but when i started updating my stock firmware my ph got off and now its not turning onn….only led notification light turns onn when charger is inserted

  2. Thank you very much.. Restored Moto E to Stock Firmware easily in 15 min with these steps. 🙂 Now everything is working.. IMEI Null issue solved , Sim Network issue solved . Thanks again !

  3. I unlocked my Moto E bootloader and then rooted it. It worked fine for a week but after that when I restarted the device, it stuck got at fastboot mode. It’s showing:
    Device is LOCKED. Status Code : 0
    Failed to initialize partition table
    When I press Recovery, it shows ‘ Failed to validate recovery image. Boot up failed.’
    When I press factory, it shows ‘ Failed to validate boot image. Boot up failed.’ Please help

  4. very thanks buddy. Its working perfectly.
    But i had to download adbwinapi.dll and paste it in windows/system 32, because it showed error when i tried to run mfastboot v2 application separately.

  5. Unable to boot my moto E, so can even check whether usb debuging is on or not. After giving first command, only I can see is “Waiting for device..”. What to do now? Please help

  6. I have performed all the instructions. My motoe was stocked to 4.4.2 but after that i got a system update of 51 mb. after downloading it got stuck in installation process. and Now it’s not even turning on Or showing fastboot options.
    Only the led blinks once when i press power button for 10 seconds.
    Help Me ASAP!!!!!

  7. Hey, same problem with me.

    Did you get anything to solve this problem????
    Tell asap!!!

  8. i performed all the above operations but after that too, the boot up failed message is coming.
    failed to validtae system image

  9. hey what u did..? same problem here my moto e doesn’t start.I tried to recovery or factory by pressing volume key and power button, but unfortunately didn’t work for me.Please reply.

  10. hey i have the same latest firmware for my moto e first gen too, but i need excatly the proper turtorial to return to stock now.

  11. same here brother , can’t even turn my phone onn …. it is not even letting me flash stock rom , says this “version downgraded for primary_gpt” or “version downgraded for boot”

  12. I got error on all commands.. that is (bootloader) Preflash validation failed

    FAILED (remote failure)

    finished. total time: 0.563s

  13. adb reboot bootloader

    This worked and after shift and right click and opening cmd prompt and entering the mfastboot gives the waiting for device

  14. mfastboot flash partition gpt.bin

    After running the above command, I get the following message:

    target max-sparse-size: 256MB

    sending ‘partition’ (32 KB)…

    OKAY [ 0.026s]

    writing ‘partition’…

    (bootloader) Preflash validation failed

    FAILED (remote failure)

    finished. total time: 0.563s

  15. I did all, after that I got a 51MB update, and after that update, my phone switch off and didn’t turn on till now. plz help.

  16. Hello Dhananjay,
    First of all, kudos for a well organised, well crafted tutorial.

    Now, my issue:
    I am not a developer, but am an advanced user.

    Device: Moto E [condor] India Dual SIM.
    After unlocking the bootloader, I have installed custom ROMs on three different devices at different times. I have also installed the stock ROM back following the same steps you have mentioned (from another tutorial).

    However, currently, I just tried my luck with a Moto E to install Ubuntu Touch (ported actually for Moto G [falcon]). The install was ‘successful’, but the device obviously did not boot.
    Now, I wanted to reinstall the stock firmware on the device. This time however, it fails at this command:

    sudo fastboot flash partition gpt.bin

    Here’s the result >
    target reported max download size of 299892736 bytes
    sending ‘partition’ (32 KB)…
    OKAY [ 0.087s]
    writing ‘partition’…
    (bootloader) Preflash validation failed
    FAILED (remote failure)
    finished. total time: 0.667s

    I have used fastboot in Linux all the other times I said I installed custom and stock ROMs.
    However, I intend to test with mfastboot as a last resort.

    I am also able to successfully install TWRP recovery on the device and erase “system”, “cache” and “userdata” using fastboot. However, cache and dalvik cache removal fails on TWRP.

    Any suggestions would be of great help… (it’s not my phone)

  17. are you using mfastboot or just fastboot. Regular fastboot has a limited size you need to use mfastboot (Moto Fastboot)

This site uses Akismet to reduce spam. Learn how your comment data is processed.