This article is about installing Windows 10 on ARM on the Lumia 950 XL.
As I mentioned in a previous article, I purchased a “supposedly new” Lumia 950 XL from AliExpress.
It wasn’t just to check out Windows 10 Mobile or Lumia’s standout “PureView” camera technology — I also wanted to try installing Windows 10 designed for ARM processors, which has been generating a lot of buzz lately.
In this article, I’ll walk you through the installation process and share my hands-on impressions.
This is going to be a long article, so I’ve included a table of contents below for easy navigation.
I originally planned to cover everything in a single article, but it turned out to be way too long, so I’ve split it into two parts: “Preparation” and “Installation.”
This article covers the “Preparation” phase.
1. What is Windows 10 on ARM?

If you already know about this, feel free to skip ahead. In short, Microsoft announced Windows 10 running on ARM processors at “WinHEC Shenzhen 2016” in 2016.
You might assume this is just another crippled version like Windows RT, but this time around, standard Win32 applications can actually run on it.
This means you can run the same software as on your desktop or laptop. Additionally, Windows on ARM doesn’t simply rely on running a virtual environment on top of the ARM processor to emulate Win32 apps, so performance is reportedly smooth.
*If you went with the simple emulation approach, you could run Windows on ARM processors using tools like Limbo PC Emulator QEMU ARM x86 on Android, but it would be incredibly slow.
The details of how it works would make this article even longer, so I’ll skip that. However, if you watch the demo from Microsoft Build 2018 titled ‘Windows 10 on ARM for developers‘, anyone with some technical background should be able to understand it fairly easily.
Alright, enough with the overview — let’s move on.
2. Warnings
Installing Windows 10 on ARM on the Lumia 950 / 950 XL is entirely at your own risk. Your Microsoft warranty becomes void the moment you perform a BLU (bootloader unlock).
In the worst case, this procedure can brick your device. This blog assumes no responsibility for any malfunctions or damage that may occur.
If you don’t have a basic level of technical knowledge, I strongly recommend not following these steps.
The “Windows 10 on ARM” version we’re using hasn’t been officially released as an ISO by Microsoft. Instead, we use Microsoft’s officially published “Unified Update Platform (UUP)” to collect the necessary files and create an ISO image. This requires a helper tool, which we’ll be using here.
This is absolutely not about downloading from an unofficial or pirated source. The same approach is used by the “MediaCreationTool” that creates Windows 10 installation USBs and ISOs.
Also, as a fundamental requirement, Windows 10 on ARM still needs license activation. Please purchase a legitimate Windows 10 license before proceeding.
Let’s keep things legal.
3. What You Need
– A host PC (with Qualcomm drivers installed)
– Microsoft Lumia 950 / 950 XL
– A Windows 10 Home/Pro license (a regular Win10 license works for activation)
– Windows 10 on ARM (I used version 1803, the latest at the time)
– Windows Device Recovery Tool (useful if you encounter a boot loop)
– Core Package (same link as above)
You can download WoA Installer for Lumia and the Core Package from the middle of the page.

These tools were developed and released by community contributors. Please don’t forget to show your appreciation when downloading. Donations are also being accepted at the bottom of the page.
Once you’ve prepared everything, mount the Windows 10 on ARM ISO on your host PC. Also, extract all files except the Core Package (Core Package x.x.x-hotfix).

4. Preparing for Bootloader Unlock
The Lumia 950/950 XL has a locked bootloader (hereinafter, BLU) that prevents writing unsigned data and blocks direct access to the smartphone’s storage (eMMC) via mass storage mode. This lock is present on nearly every manufacturer’s devices — the only phone I’ve ever used without it was from LeEco (LeTV), a manufacturer that has since fallen on hard times.
Anyway, we need to unlock the bootloader in order to write Windows 10 on ARM, so let’s do that.
1. Launch WPinternals 2.8.
2. You’ll see the initial screen — click “Continue” and then open the “Download” tab on the left sidebar.

3. First, download the firmware needed for the bootloader unlock.
Scroll down to “Model.” Connect your Lumia to the PC at this point.
Once detected, the product type, product code, operator code, and other information will be filled in automatically.
By the way, this information is also printed on a sticker under the back cover of the Lumia.
Then just click “Download All” and it’ll start downloading automatically.

Now, if you thought the download was finished but then another multi-gigabyte file started downloading — congratulations!
You’ve hit the same tricky scenario as I did!
I didn’t know about this edge case and ended up wasting 6 hours stuck in a rabbit hole, so please read the following steps (especially the branch pattern) carefully to avoid the same pitfall.
Once the download is complete, let’s move on to the next step.
5. Branch Point
This is the “branch” I mentioned in Section 4.
Let me outline the branching conditions.
If the Windows 10 Mobile software on your Lumia 950 / 950 XL is running a version listed in the “Supported OS versions for all Lumia’s” list below, you can skip the rest of Section 5 and jump straight to Section 6.

If you’re running a version not on this list, continue reading Section 5. Generally, this applies to those who, as described in Section 4, “thought the download was finished but then another multi-gigabyte file started downloading.”
The reason is that only certain firmware versions support bootloader unlocking.
In the next BLU screen, you’ll use the ~2GB firmware file with the “.ffu” extension that you downloaded. However, even an unsupported firmware version can be selected, and after selecting it, you’ll get an error telling you to “choose a different one,” at which point it’ll automatically switch to the compatible firmware.
Also, there’s a very high chance of getting an error when the firmware version installed on the Lumia doesn’t match the firmware used for the BLU.
For example, my Lumia 950 XL has a Product Code of “059W8M3.” In this case, both “RM1085_1078.0017.10586.13053.15407.02FAFB_retail_prod_signed.ffu” and “RM1085_1078.0053.10586.13169.12547.035242_retail_prod_signed.ffu” are downloaded.
The latter is the version compatible with WPinternals 2.8, so you need to flash “RM1085_1078.0053.10586.13169.12547.035242_retail_prod_signed.ffu” first, and then perform the BLU.
Note that the file name represents the firmware version, not the build number.
This might seem obvious in hindsight, but absent-minded folks like me tend to fall into this trap.
To avoid this issue, we’ll flash the “BLU-compatible firmware” to the Lumia first.
Open the “Flash” tab and scroll down to the “Flash original FFU” section.

Click “Select the FFU-file to flash the phone…” and navigate to “C:\ProgramData\WPInternals\Repository,” then open the folder named with your device code.
Inside, you’ll find two firmware files with the “.ffu” extension. Select the compatible one and flash it to the Lumia.

After the flash is complete, go through the initial setup until you reach the Windows 10 Mobile home screen.
(Skipping the setup will cause errors in later steps.)
You’re now ready to proceed to Section 6.
6. Starting the Bootloader Unlock
Click “Unlock Bootloader” in the “Unlock” tab, and make sure your Lumia is connected to the PC.
A confirmation dialog will appear asking if you want to enter Flash mode — click OK.
Once the device enters Flash mode, you’ll be taken to the bootloader unlock screen. Verify that the correct files are selected, then click “Unlock.”

The unlock process will start automatically.
If “You need manually reset your phone now!” appears during the unlock, press and hold the power button until it vibrates to manually reboot the device.

Once the screen goes black and the PC shows “Rebooting phone to Mass Storage mode…”, open Device Manager, expand “Universal Serial Bus controllers,” and find the item with an exclamation mark. Right-click it, select “Update Driver Software,” choose “Browse my computer for driver software,” and when the list of compatible devices appears, select “USB Mass Storage Device” and install it.
This allows Windows to directly access the Lumia’s eMMC storage.
After a few reboots, once you see “successfully,” the bootloader unlock is complete.
The first hurdle has been cleared.
Next, switch to Mass Storage mode. From the left sidebar, go to “Manual mode” and click “Mass Storage Mode.”

The preparation for installing Windows 10 on ARM is now complete.
In the next chapter (Installation), we’ll proceed with actually installing Windows 10 on ARM.
Next chapter: [Installation] Running Windows 10 on ARM on the Lumia 950 XL
7. Q&A for This Process
Q1: I’m getting “Custom Flash Failed” during the BLU.
A1: Is the firmware on your Lumia the same version as the one used for the BLU, compatible with WPinternals? If they don’t match, the success rate drops significantly.
Q2: After the BLU, I see “Rollback…” and the device is stuck.
A2: WPinternals encountered an issue and is trying to roll back. If nothing happens after 30 minutes, use the Windows Device Recovery Tool (WDRT).
Q3: I used WDRT as suggested, but the screen is bright red!
A3: The device has entered emergency mode. Run WDRT again.
Q4: I’m getting “Failed to unlock the bootloader” and the BLU won’t complete.
A4: Make sure the Qualcomm drivers are installed, and check if “MainOS” is mounted during the BLU. If not, check Device Manager for any items with exclamation marks. Trying multiple times or switching to a different PC can also help.
Q5: I can’t tell the firmware files apart.
A5: Honestly, neither could I. Here’s a tip: either search the firmware number online to find the build number, or go to the BLU screen — if three files are listed, the one that shows “The FFU-image you selected…” is the unsupported version, and the one at the bottom is the compatible firmware.
In other words, flash the bottom firmware to the Lumia first, then perform the BLU.
If only two files are listed, you should be fine proceeding as-is, but if “Custom Flash Failed” appears, try reflashing.
Next chapter: [Installation] Running Windows 10 on ARM on the Lumia 950 XL
![[Preparation] Running Windows 10 on ARM on the Lumia 950 XL](https://miyagadget.page/wp-content/uploads/2019/02/kQ6Lm44l.jpg)


![[Flask + WebAuthn] Building a Mobile-Friendly Household Budget Web App with Passkey Authentication](https://miyagadget.page/wp-content/uploads/2025/11/ChatGPT-Image-2025年11月23日-10_41_02.png)

Leave a Reply