Install Windows 10X on Surface Duo 1

Edit This Page

Table of Contents

  1. Files/Tools Needed
  2. What you will get 🛒
  3. Steps 🛠️
    1. Unlocking the bootloader
    2. Making the partitions
    3. Installing Windows 10X
    4. Completing the installation
    5. Boot Windows 10X

Files/Tools Needed 📃

PLEASE READ AND BE SURE TO UNDERSTAND THE ENTIRE GUIDE BEFORE STARTING

❓ If you’re already running Windows 10/11 on your device, you can start from this step: Installing Windows 10X. Please note that you’ll remove your Windows Installation if you do it.

❓ If you’re running an old release of 10X and want to update it or want to reinstall, start from this step: Installing Windows 10X. You’ll lose your 10X data if you follow this guide.

What you will get 🛒

You will end up with both Android™ and Windows 10X on your Surface Duo. Android™ and Windows 10X will both split the internal storage (64GB and 64GB or 128GB and 128GB).

Android™ will boot normally, and you will have to use a PC to boot Windows when needed, unless you create a dual boot image (explained later).

Steps 🛠️

Unlocking the bootloader

  • Backup all your data. You will lose everything you have on Android™ and will start from scratch.

  • In Android™ settings, enable the Developer Settings menu (7 consecutive taps on Build Number), and turn on “OEM Unlock” and “USB Debugging” inside it.

Assuming your Surface Duo is booted to Android™, plugged to your PC:

  • Open a command prompt on your PC and run this command:
adb reboot bootloader
  • You will be rebooted to Surface Duo’s bootloader.

Surface Duo in Bootloader mode Image of what you should see right now: Surface Duo in Bootloader mode

From there:

fastboot flashing unlock
  • You should now be seeing the Android™ Out of Box Experience (OOBE). Setup your phone to confirm it works correctly.

Android™ - OOBE

Congratulations, you successfully unlocked your bootloader.

  • Assuming your Surface Duo is booted to Android™, plugged to your PC

  • Using the Microsoft Launcher, find the settings app

A1 Android™ - Open Settings

  • Open the Android™ Settings app

A2 Android™ - Settings Opened

  • Scroll down to the about section, and open it

A3 Android™ - Settings About

  • Scroll all the way down til you see the Build Number field

A4 Android™ - Settings About Down

  • Press the Build number field 7 times consecutively, you should first start to see a popup after 3 taps

A5 Android™ - Settings About Down Tap Dev

  • Once done tapping 7 times, you should be seeing this popup instead

A6 Android™ - Settings About Down Tap Dev Done

  • Now go to the System section, you should see a new Developer options section like shown below

A7 Android™ - Settings System with Dev

  • Go to the Developer options section

Android™ Settings System Dev Options

  • Scroll all the way down til you see the “USB debugging” option

Android™ Settings - Dev - Debugging Option

  • And turn on the “USB debugging” option

Android™ Settings - Dev - Debugging Option Confirmation

  • Reboot back into the Bootloader mode by running this command:
adb reboot bootloader

Surface Duo in Bootloader mode Image of what you should see right now: Surface Duo in Bootloader mode

Making the partitions

Booting to TWRP

  • Plug your phone to your PC, open a command prompt and start by typing the following text, but do not press enter just yet
fastboot boot

image

  • Go find the surfaceduo1-twrp.img file you downloaded earlier, right click it, click “Copy as path”

image

  • Then go back to the Command Prompt window we started writing text in previously, and simply, right click on it with your mouse (or long press if you’re on a touch device), you should now see this:

image

  • Now you can press enter

image

You will now boot to TWRP. Reminder that touch doesn’t work on TWRP for now, so you’ll have to work through your PC.

  • Once inside TWRP, touch will not be working and the device will say it is locked. This is completely normal. Keep the phone plugged to your PC and do these commands ONE BY ONE WITH NO TYPO!:
adb shell "setenforce 0"
adb push <path to parted that was downloaded earlier> /sdcard/
adb shell "mv /sdcard/parted /sbin/parted && chmod 755 /sbin/parted"
adb shell
  • Now we are issuing commands directly from inside Surface Duo using the PC.

Dangerous section

Anything in this section is DANGEROUS and may PERMANENTLY damage your phone if you do any step wrong. Please carefully read all warnings and all instructions and make NO MISTAKE. Do not proceed if late at night or tired.


If you want a different allocation split between Windows and Android™, you can do so. Just be aware of the following: ```bash notmkpart win ntfs REDACTED_FOR_EXAMPLE_PURPOSES 57344MB notmkpart userdata ext4 57344MB REDACTED_FOR_EXAMPLE_PURPOSES ```

The commands above work like this:

[tool name][partition name in gpt] [file system][starting offset in disk] [ending offset in disk]

So if you want to change the split, all you have to do is to change the “57344MB” in above’s example in both commands.


  • Let’s run parted and make the partitions (ONE BY ONE WITH NO TYPO!):
setenforce 0
parted /dev/block/sda
print

Make sure that the last partition listed is numbered 6. If it is not, below’s commands may DESTROY your phone in a permanent manner

Take note of original sizing, here it was 51.9MB -> 112GB (256GB variant: 51.9MB -> 240GB) and replace every occurence of 51.9MB and 112GB with your original sizing that you noted down (these may not differ, but if they do, replace them)


Run these commands one by one for 128GB devices (Click to expand) __This command removes the userdata partition__
rm 6

This command creates the EFI system partition for Windows. It is possible parted shows a warning message at this step saying the partition is not properly aligned for best performance. It is safe to ignore such warning

mkpart esp fat32 51.9MB 564MB

This command creates the Windows partition.

mkpart win ntfs 564MB 57344MB

This command creates the Android™ data partition back.

mkpart userdata ext4 57344MB 112GB

This command sets the ESP partition created earlier as an EFI system partition type.

set 6 esp on

This command leaves parted.

quit

Run these commands one by one for 256GB devices (Click to expand) __This command removes the userdata partition__
rm 6

This command creates the EFI system partition for Windows. It is possible parted shows a warning message at this step saying the partition is not properly aligned for best performance. It is safe to ignore such warning. (Note: to ignore in parted, just type ‘i’ (without the quotes))

mkpart esp fat32 51.9MB 564MB

This command creates the Windows partition.

mkpart win ntfs 564MB 114688MB

This command creates the Android™ data partition back.

mkpart userdata ext4 114688MB 240GB

This command sets the ESP partition created earlier as an EFI system partition type.

set 6 esp on

This command leaves parted.

quit

This will get you out of parted.

We have deleted partition 6, which was the Android™ userdata partition, and created 3 partitions: an esp partition which will contain the Windows boot files, a win partition that will have Windows, and the last one is the new userdata partition for Android™, just smaller.

Now let’s make these partitions actually usable:

setenforce 0
mkfs.fat -F32 -s1 /dev/block/sda6
mkfs.ntfs -f /dev/block/sda7
mke2fs -t ext4 /dev/block/sda8
exit

End of the Dangerous section

Installing Windows 10X

Reboot your phone to the Bootloader mode:

adb reboot bootloader

Surface Duo in Bootloader mode Image of what you should see right now: Surface Duo in Bootloader mode

image

Now let’s clean the partitions we’ve just created with fastboot:

fastboot erase win
fastboot erase esp
image

And install the 10X images:

fastboot flash esp BS_EFIESP.img
fastboot flash win OSPool.img
image

This is going to take a while, especially on the second command. As you can see it took me almost 6 minutes. Take a little walk in the meantime.

❓ If you’re updating or reinstalling from 10X, you can stop here and reboot! You’re done! ✅

Completing the Installation

Start by booting TWRP (you might need to manually reboot your device into the Bootloader mode if this gets stuck):

  • Plug your phone to your PC, open a command prompt and start by typing the following text, but do not press enter just yet
fastboot boot

image

  • Go find the surfaceduo1-twrp.img file you downloaded earlier, right click it, click “Copy as path”

image

  • Then go back to the Command Prompt window we started writing text in previously, and simply, right click on it with your mouse (or long press if you’re on a touch device), you should now see this:

image

  • Now you can press enter

image

You will now boot to TWRP. Reminder that touch doesn’t work on TWRP for now, so you’ll have to work through your PC.

  • Let’s load the mass storage shell script in order to boot into Mass Storage from TWRP
adb shell "setenforce 0"
adb push <path to downloaded msc.tar> /sdcard/
adb shell "tar -xf /sdcard/msc.tar -C /sdcard --no-same-owner"
adb shell "sh /sdcard/msc.sh"
image

Surface Duo should now be in USB 3 SuperSpeed (or what the USB-IF currently calls it) Mass Storage Mode.

  • Open diskpart:
diskpart
image
  • Run these commands one by one, replacing the IDs with yours:
list disk
sel dis <id of the disk, in my case it is 5>
list partition
sel par <id of the part for the pool showing currently as "Primary", in my case it is 7>
set id=E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
image image

We’re done!

  • Let’s exit diskpart:
exit

We’ll need a UEFI to boot to Windows 10X.

Boot Windows 10X

  • Reboot your device to the Bootloader mode
adb reboot bootloader

Surface Duo in Bootloader mode Image of what you should see right now: Surface Duo in Bootloader mode

  • Once into the Bootloader mode, let’s run the UEFI, which will boot to 10X:
fastboot boot uefi_nosb.img

Done! You’ll now be booted into Windows 10X. ⚠️ First boot will take a bunch of minutes, so WAIT AND DON’T REBOOT!


Š 2020-2024 The Duo WOA Authors

Snapdragon is a registered trademark of Qualcomm Incorporated. Microsoft, the Microsoft Corporate Logo, Windows, Surface, Surface Duo, Windows Hello, Continuum, Hyper-V, and DirectX are registered trademarks of Microsoft Corporation in the United States. Android is a registered trademark of Google LLC. Miracast is a registered trademark of the Wi-Fi Alliance. Other binaries may be copyright Qualcomm Incorporated and Microsoft Surface.

Limited emergency calling

Running Windows on your Surface Duo is not a replacement for a proper phone operating system and does not have emergency calling capabilities.

Hello from Seattle (US), France, Italy.