Skip to content

Latest commit

 

History

History
219 lines (128 loc) · 8.99 KB

ExtractingPartitions.md

File metadata and controls

219 lines (128 loc) · 8.99 KB

Extract the boot partition or other partitions

Files/Tools Needed 📃

File Name Target Device
surfaceduo1-twrp.img Surface Duo (1st Gen)
surfaceduo2-twrp.img Surface Duo 2

Disclaimers

Warning

  • Read the entire guide before starting. Make sure you understand all of what you're going to do!
  • 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 things.
  • Do not run all commands at once.
  • Do not commit any typo with any commands.
  • Be familiar with command line interfaces.
  • When using TWRP, it is normal and expected for the phone to be detected as a Xiaomi phone or an Asus phone and for touch to not work.

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.

SDK-1-Top

Once on the page, scroll a little bit down til you see the link to download the platform tools for Windows.

SDK-2-Mid

Click on it, an EULA will open like below:

SDK-3-EULA

Scroll all the way down (after reading it if that's your thing)

SDK-4-EULA-Bottom

Tick "I have read and agree to above terms conditions"

SDK-5-EULA-TICK (alt)

And click download

SDK-5-EULA-TICK

Save the file on your computer, and extract the zip file by opening it, and selecting extract all.

SDK-6-DL

Getting your current boot slot (A/B)

Assuming your Surface Duo is currently booted into Android™️, connect it to your PC with a USB cable and open a command prompt.

  • First, we need to reboot into the Bootloader mode, to do so, run this command on your pc:
adb reboot bootloader

Your Surface Duo will reboot into the Bootloader mode.

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

  • In order to retrieve the current active slot, run this command on your PC:
fastboot getvar current-slot

A line with the text 'current-slot:' will appear. The value can be a or b.

image

Take note of your slot, we´ll assume it is b

  • For the rest of this guide we´ll assume the current slot is b and we want to retrieve the boot partition

Boot into TWRP

  • We need to boot into TWRP, to do so, run the following command on your PC:

For Surface Duo (1st Gen):

  • 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.

For Surface Duo 2:

  • 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 surfaceduo2-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.


Your Surface Duo will boot into TWRP, touch will not work and the device will say it is locked. This is completely normal and expected.

Retrieve the location of our boot partition

  • We need to open a shell to issue commands directly to the phone. To do so, run the following command on your PC:
adb shell "setenforce 0"
adb shell

You are now able to issue commands directly to your phone via your PC.

  • Now, we need to find the location of our boot partition, as it is different for each device. To do so, run the following command on your PC:
ls /dev/block/platform/soc/

If you're lucky, you'll get only one line of output:

image

Take note of all the lines that get output from this command. In my case, it's only one and it is 1d84000.ufshc.

  • Next we need to retrieve our mount point for our partition, to do so, run this command:
ls -al /dev/block/platform/soc/[the last line we took note of]/by-name/

In my case: ls -al /dev/block/platform/soc/1d84000.ufshc/by-name/

  • This is going to output a lot of lines, with each partition name having its mount point. Look for the line that says boot_[your slot]:

image

  • Now let's take note of its mount point, in my case: /dev/block/sde26.

Let's make an image of the partition:

dd if=/dev/block/[your mount point] of=/tmp/boot.img

In my case: dd if=/dev/block/sde26 of=/tmp/boot.img.

  • Now let's exit the shell and pull the boot.img from the device, to do so, run the following command on your PC:
exit
adb pull /tmp/boot.img

If you did everything correctly, you will now have your boot.img. Enjoy! 🥳

image


© 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.