Many of you probably dual-boot your PCs – be it to run a Linux distribution alongside Windows or because you have a Mac and want to play some games through Windows. On traditional x86 computers, the process has gotten relatively simpler over time. On Android, however, the story is different.
The modern x86 platform usually provides a truly OS-independent boot solution in the form of the Unified Extensible Firmware Interface (UEFI), which replaces the legacy Basic Input/Output System (BIOS). This is why you can simply take a bootable installation media and boot from it on your PC to install a new OS. However, when it comes to the Android ecosystem, the boot solutions (UBoot, Little Kernel, etc.) are coupled to the OS. As a result, there is no one-click solution for multi-booting and you must hack around the low-level bootloader stuff to be able to boot a non-Android OS like Windows on an Android device.
Lucky for us, there are extremely talented people who are relentlessly trying to simplify the quest. The first-generation Microsoft Surface Duo is the latest hurdle cleared by the modding community, as you can now install Windows 11 besides the factory-installed Android OS on this foldable.
Gustave Monce, aka XDA Senior Member gus33000 is the lead developer behind this impressive achievement. Monce, who has a long-standing reputation for booting Windows on otherwise incompatible devices, gave us the first glimpse of booting Windows on the OG Surface Duo back in February. Thanks to his formidable skills and open-sourced development, anyone can now boot Windows on Microsoft’s inaugural Android-powered foldable smartphone.
Keep in mind that the steps described below are intended for both the unlocked and the AT&T models of the Surface Duo. The Qualcomm Snapdragon 888-powered Surface Duo 2 isn’t at all compatible with this mod.
Warning: Before we get into how to dual-boot Windows 11 on the Microsoft Surface Duo, remember to take an off-device backup. That’s because the process requires wiping all the data on your phone, including the files on the internal storage. You may permanently brick your device, so only attempt this if you know what you’re doing.
The Microsoft Surface Duo uses an ARM64 processor, hence we need to get our hands on an ARM64 variant of the Windows 11 installer. Unfortunately, Microsoft doesn’t offer an official ARM64 ISO, while the official VHDX release for Insider Preview users isn’t suitable for installation on a physical device.
Don’t worry, though, as we can use third-party tools to download Microsoft’s Unified Update Platform files and prepare the ARM64 installer ourselves. The UUP dump project provides extensive resources to get started with this domain. Alternatively, use Monce’s cross-platform UUP Media Creator tool to create the ISO.
The bootloader is now unlocked, which means we can manually change the partition layout of the device and make room for the Windows instance. The developer has compiled a semi-working TWRP image for the Duo, so that we can run the
partedbinary from TWRP’s internal shell to modify the partitions. Click on the link below to go through the most up-to-date partitioning guide.
Making the required partitions on the Surface Duo
Notably, the initial version of the guide only targets 128GB devices. You must calculate the partition size values yourself for the 256GB variant.
If everything goes correctly during partitioning, you can now boot a specially crafted custom UEFI image (internally referred to as “SurfaceDuoPkg”) that helps you to boot Windows.
The Mass Storage Mode exposes the internal partitions of the Surface Duo’s internal flash storage to the host PC’s OS, hence we can easily mount them using the Disk Management console and prepare for Windows installation.
Make sure the target Surface Duo device is in Mass Storage Mode and you have prepared the Windows 11 ISO beforehand. Next, click on the links below to view the most up-to-date guides from the developer on how to apply the Windows image and subsequently install the drivers using the Deployment Image Servicing and Management (DISM) tool.
Applying the Windows image using DISM || Installing drivers using DISM
At this point, Windows 11 has been successfully installed on the Surface Duo, but the default boot path always leads to the Android OS. If you want to start Windows, boot to the bootloader mode, start the custom UEFI (from Step 3), and Windows should start loading instead of Android.
— Simone Franco (@Simizfo) March 10, 2022
According to Gustave, the current set of drivers is merely mature to handle the CPU frequency, side buttons, and the sleep/wake events (depending on the folding position). Everything else, including the touch interface, isn’t working. The custom UEFI image, on the other hand, is capable enough to boot mainline Linux after necessary adjustments.
Dual-booting makes sense on a computer, but does it on a phone like the Microsoft Surface Duo? Not for the general user. Even experienced users might call it an answer without a question, and it does come with some fair annoyances too. But to us at XDA, the additional freedom and choice mean that, if used right, dual booting can be a power user’s Holy Grail.
Source: Gustave Monce on Twitter