Partitioning Surface Duo (1st Gen)
January 1, 2026 · View on GitHub
Files/Tools Needed
- TWRP image:
| File Name | Target Device |
|---|---|
| surfaceduo1-twrp.img | Surface Duo (1st Gen) |
- Parted: parted
- Platform Tools from Google (ADB and Fastboot)
- A Windows PC
- The Partition Offsets Helper tool: PartitionOffsetsHelperTool.exe
Disclaimers
Warning
- Don't create partitions from Mass Storage Mode on Windows (because ABL will break with blank/spaces in names), your phone may be irrecoverable otherwise
- If you see a warning and/or error during the process, it is not normal. Contact us on telegram if you see anything odd, but do not continue or proceed on your own, you will break things further.
- Don't rerun the commands if you interrupt the process. You may break your partition table. Parted is a very delicate tool, anything you do may cause permanent damage to your device.
- Do not run all commands at once. Parted is a very delicate tool, anything you do may cause permanent damage to your device.
- Do not commit any typo with any commands. Parted is a very delicate tool, anything you do may cause permanent damage to your device.
- Be familiar with command line interfaces. Parted is a very delicate tool, anything you do may cause permanent damage to your device.
- When using TWRP, it is normal and expected for the phone to be detected as a Xiaomi phone and for touch to not work.
Important
THIS WILL WIPE ALL YOUR ANDROID™ DATA
We don't take any responsibility for any damage done to your phone. By following this guide, you agree to take full responsibility of your actions. We have done some testing,
but this is STILL IN PREVIEW and things can go wrong.
PLEASE READ AND BE SURE TO UNDERSTAND THE ENTIRE GUIDE BEFORE STARTING
Steps
Acquiring all files
Here's how to acquire the Android SDK Platform Tools: Click to expand
First, start by going to the Android Platform SDK download page on your computer.
Once on the page, scroll a little bit down til you see the link to download the platform tools for Windows.
Click on it, an EULA will open like below:
Scroll all the way down (after reading it if that's your thing)
Tick "I have read and agree to above terms conditions"
And click download
Save the file on your computer, and extract the zip file by opening it, and selecting extract all.
Going to the Bootloader menu
-
Start by turning on your Surface Duo into Android™, and unlock it
-
Open a command prompt on your PC
- Go to the folder where you extracted the Google Android™ Platform tools using the CD command and the path of the folder, like so:
- Run the following command to ensure your phone is detected by your PC
adb devices
Tip
If you see no device listed, check for updates in Windows Update, you likely have a Driver Update pending so the phone is recognized, when you're good to go, you should see the following image below this notice. It is possible certain computers see no update offered (like Windows ARM64 Computers or other older machines with no functional Windows Update). If this is your case, we also provide Drivers for you to download at the following location, you will have to install them using Device Manager on your PC. Download USB Drivers
- Run the following command now
adb reboot bootloader
You will be rebooted to Surface Duo's bootloader.
Image of what you should see right now: Surface Duo in Bootloader mode
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
- Go find the surfaceduo1-twrp.img file you downloaded earlier, right click it, click "Copy as path"
- 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:
- Now you can press enter
You will now boot to 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 continue along.
Preparing TWRP
- Once booted into TWRP, start by running the following command to make sure everything we do is accepted by the device:
adb shell "setenforce 0"
- Now, let's copy parted onto the device, first, start by typing the following text, but do not press enter just yet
adb push
- Go find the parted file you downloaded earlier, right click it, click "Copy as path"
- 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:
- And now, continue to write the rest of the command, like so:
/sdcard/
- Now you can press enter
- Now let's install parted correctly onto the TWRP image, by running the following command
adb shell "mv /sdcard/parted /sbin/parted && chmod 755 /sbin/parted"
- Now, let's open a shell onto the device, by running the following command
adb shell
- Now we are issuing commands directly from inside Surface Duo using the PC.
Making the partitions
Dangerous section
Warning
This section if followed incorrectly could make your device unusable and require dedicated fixing steps that would be better given through assistance within our telegram channel.
Please carefully follow every step, and try to not commit typos by missing numbers or characters, as those may make the device unusable.
Further more, rerunning these commands after running them once ever can also damage your device, so do not refollow this section ever again.
You can only refollow such instructions when you have followed our uninstall guide first.
A warning or unexpected message is, well, unexpected, contact us if you see one, and do not attempt to fix anything by yourself.
Flashing a Microsoft provided "recovery" package will not help you recover from such failures, and may even make matters worse. Contact us instead.
- Let's now run parted:
parted /dev/block/sda
- Let's now run a specific unit command:
unit s
- And let's execute parted's print command:
print
You'll get a list of partitions.
Make sure that the last partition listed is numbered 6. If it is not, below's commands may damage your phone. Contact us if that's your case
Take note of original sizing value of the userdata, we highlighted the given for you below, you will need it shortly.
- Now run the Partition Offsets Helper Tool you downloaded earlier (PartitionOffsetsHelperTool.exe) by double clicking on it
- Answer whenever or not your device is a 128GB model or 256GB model (Y = 128GB, N = 256GB)
- Answer which total storage capacity you want to give to Android
- Now select with your mouse all 3 commands
- Right click on the command prompt, the selection will vanish and no menu will show, this is expected
- Open Notepad
- Paste all of them here
- Edit the highlighted value below with the one you noted earlier, replacing it fully, here's a before for us:
- And here's after the edit:
It is possible both values are the same, do not worry about it if that's the case, above, we intentionally showed different values as well to illustrate
- Go back to the Partition Offsets Helper Tool window/command prompt
-
Press enter, the window will exit.
-
Go back to the parted window/command prompt
- Run the following command first
This command removes the userdata partition
rm 6
- Now come back to Notepad
- Copy the first command
- Paste it with right click onto the parted window, and press enter
It is possible that parted says the partition is not aligned for best performance, if that's the case for you, ignore such warning by answering "i" like so:
- Copy the second command
- Paste it with right click onto the parted window, and press enter
- Copy the third command
- Paste it with right click onto the parted window, and press enter
It is possible that parted says the partition is not aligned for best performance, if that's the case for you, ignore such warning by answering "i" again
- Run the following command
This command sets the ESP partition created earlier as an EFI system partition type.
set 7 esp on
- Run the following command to sanity check what you did:
print
If this looks good, proceed to below's step, if something looks horribly wrong, contact us.
- Run the following command
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: the new userdata partition for Android™, just smaller; an esp partition which will contain the Windows boot files; and the last one, a win partition that will have Windows.
Now let's make these partitions actually usable:
- Start with this command:
mke2fs -t ext4 /dev/block/sda6
- Then continue with this command:
mkfs.fat -F32 -s1 /dev/block/sda7
- Then finish with this command:
mkfs.ntfs -f /dev/block/sda8
- And let's exit the device shell
exit
End of the Dangerous section
Rebooting into Android
Now, reboot into Android again:
adb reboot
- You should now be seeing the Android™ Out of Box Experience (OOBE). Setup your phone to confirm it works correctly.
Congratulations, you successfully partitioned your device.
| Steps | Illustration |
|---|---|
| Assuming your Surface Duo is booted to Android™, plugged to your PC, Using the Microsoft Launcher, find the settings app | |
| Open the Android™ Settings app | |
| Scroll down to the about section, and open it | |
| Scroll all the way down til you see the Build Number field | |
| Press the Build number field 7 times consecutively, you should first start to see a popup after 3 taps | |
| Once done tapping 7 times, you should be seeing this popup instead | |
| Now go to the System section, you should see a new Developer options section like shown below | |
| Go to the Developer options section | |
| Scroll all the way down til you see the "USB debugging" option | |
| And turn on the "USB debugging" option |
The End
And we're done, please continue with the previous guide that made you land here :)
Additional Context and Notes
If you somehow break entirely your partition table, you might be interested in the original offsets of each partition in order to fix it.
mkpart ssd 6s 7s
mkpart persist ext4 8s 8199s
mkpart metadata ext4 8200s 12295s
mkpart frp 12296s 12423s
mkpart misc 12424s 12679s
The offsets are valid for both the Surface Duo (1st Gen) 128GB model, and the Surface Duo (1st Gen) 256GB model. They do not include userdata. You will have to recreate this yourself.
(NEVER RUN THESE COMMANDS IF YOU DO NOT NEED TO OR YOU ALREADY PARTITIONS IN PLACE, ADVANCED USERS ONLY, YOU MAY KILL YOUR PHONE HERE)
© 2020-2026 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.