Partitioning on Surface Duo 2
Edit This PageFiles/Tools Needed đ
- TWRP image: surfaceduo2-twrp.img
- Parted: parted
- File System Support Package for TWRP image: surfaceduo2-twrp-fssupport.tar
- Platform Tools from Google (ADB and Fastboot)
- A Windows PC
PLEASE READ AND BE SURE TO UNDERSTAND THE ENTIRE GUIDE BEFORE STARTING
What you will get đ
You will end up with both Android⢠and Windows on your Surface Duo. Android⢠and Windows will both split the internal storage (64GB and 64GB or 128GB and 128GB or 256GB and 256GB).
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 đ ď¸
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
- 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 surfaceduo2-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 install some support files weâll need:
adb push <path to downloaded surfaceduo2-twrp-fssupport.tar> /sdcard/
adb shell "tar -xf /sdcard/surfaceduo2-twrp-fssupport.tar -C /sdcard/fssupport --no-same-owner"
adb shell "chmod 755 /sdcard/fssupport/*"
adb shell "mv /sdcard/fssupport/* /sbin/"
- 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
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 or drunk (yes, weâre serious).
- 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 8. If it is not, belowâs commands may DESTROY your phone in a permanent manner
Take note of original sizing, here it was 401MB -> 110GB (256GB variant: 401MB -> XXXGB TODO (Please file an issue so we know!)) (512GB variant: 401MB -> XXXGB TODO (Please file an issue so we know!)) and replace every occurence of 401MB and 110GB with your original sizing that you noted down (these may not differ, but if they do, replace them)
rm 8
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 401MB 674MB
This command creates the Windows partition.
mkpart win ntfs 674MB 69394MB
This command creates the Android⢠data partition back.
mkpart userdata ext4 69394MB 110GB
This command sets the ESP partition created earlier as an EFI system partition type.
set 8 esp on
This command leaves parted.
quit
rm 8
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 401MB 674MB
This command creates the Windows partition.
mkpart win ntfs 674MB 138113MB
This command creates the Android⢠data partition back.
mkpart userdata ext4 138113MB 238GB
This command sets the ESP partition created earlier as an EFI system partition type.
set 8 esp on
This command leaves parted.
quit
This will get you out of parted.
We have deleted partition 8, 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/sda8
mkfs.ntfs -f /dev/block/sda9
mke2fs -t ext4 /dev/block/sda10
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.
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 :)
mkpart ssd 6s 7s
mkpart persist 8s 8199s
mkpart metadata 8200s 12295s
mkpart frp 12296s 12423s
mkpart misc 12424s 12679s
mkpart rawdump 12680s 89479s
mkpart vm-data 89480s 97835s
The offsets are valid for both the Surface Duo 2 128GB model, and the Surface Duo 2 256GB model, and the Surface Duo 2 512GB 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-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.