• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Root guide (updated)

Search This thread

Nochlab1

Senior Member
Nov 6, 2017
144
39
i reset thru fastboot and it wasnt working but now just tried booting the magisk again from fastboot and it actually booted up so looks like i am good just have to install magisk and permantly install boot thru phone
 

pvillasuso

Senior Member
i reset thru fastboot and it wasnt working but now just tried booting the magisk again from fastboot and it actually booted up so looks like i am good just have to install magisk and permantly install boot thru phone
Wait . so you managed to boot ?
Why don't you try to get back to stock ( with a factory reset ) , and start again from there ?
 
Last edited:

pvillasuso

Senior Member
i cant get to recovery
Not from recovery ...
From here:

Factory reset your Surface Duo to erase it​

  1. Open Settings, then tap System > Reset options > Erase all data (factory reset).
  2. Tap Erase all data to confirm you want to erase your Surface Duo.
  3. Enter your PIN, then tap Erase all data again to confirm you want to do this.

Edit : Maybe this will fix whatever issue you are having with the partitions , cause I think it formats all
 

Nochlab1

Senior Member
Nov 6, 2017
144
39
that didnt work as it normally goes to recovery to do that
Not from recovery ...
From here:

Factory reset your Surface Duo to erase it​

  1. Open Settings, then tap System > Reset options > Erase all data (factory reset).
  2. Tap Erase all data to confirm you want to erase your Surface Duo.
  3. Enter your PIN, then tap Erase all data again to confirm you want to do this.

Edit : Maybe this will fix whatever issue you are having with the partitions , cause I think it formats all
that didn't work because that takes it to recovery to do it
 

LocBox

Senior Member
Aug 16, 2009
158
17
anyone have a new guide for this month's root? this method isn't working anymore for me at least.
 

Nochlab1

Senior Member
Nov 6, 2017
144
39
Can you post the commands you are using to make the boot image permanent ( by itself and no need of usb boot ) ?
i got busy hopefully you can still help me

adb shell
su
chmod 777 /dev/block/by-name/boot_a
chmod 777 /dev/block/by-name/boot_b
dd if=/sdcard/1.img of=/dev/block/by-name/boot_a
dd if=/sdcard/1.img of=/dev/block/by-name/boot_b
 

pvillasuso

Senior Member
i got busy hopefully you can still help me

adb shell
su
chmod 777 /dev/block/by-name/boot_a
chmod 777 /dev/block/by-name/boot_b
dd if=/sdcard/1.img of=/dev/block/by-name/boot_a
dd if=/sdcard/1.img of=/dev/block/by-name/boot_b
Sup Bro

So you have 1.img here : C:\Users\nochl\Desktop\ and here : /sdcard/1.img ( root of your phone )

And when you do those commands you don't get any errors ?

Did you use the given magisk link in the first post ? That is the one that worked for me , as I tried the latest and the same happened to me at some point : No Boot !

----
7. download the latest version of magisk manager (the new magisk app may work, but I've not tested it, this is the exact version I am using on the exact phone you are using. If you feel like trying the app please report in the thread below!) https://github.com/topjohnwu/Magisk/releases/download/manager-v8.0.7/MagiskManager-v8.0.7.apk
---
 

Nochlab1

Senior Member
Nov 6, 2017
144
39
Sup Bro



So you have 1.img here : C:\Users\nochl\Desktop\ and here : /sdcard/1.img ( root of your phone )



And when you do those commands you don't get any errors ?



Did you use the given magisk link in the first post ? That is the one that worked for me , as I tried the latest and the same happened to me at some point : No Boot !



----

7. download the latest version of magisk manager (the new magisk app may work, but I've not tested it, this is the exact version I am using on the exact phone you are using. If you feel like trying the app please report in the thread below!) https://github.com/topjohnwu/Magisk/releases/download/manager-v8.0.7/MagiskManager-v8.0.used7.apk

---

I

7.apk

---
 

NTchrist

Senior Member
May 10, 2011
53
24
I get no errors and using magisk from the link in this thread not latest

This is usually the problem. I wonder why people consistently look at the guide specifying a specific version and go "yeah this probably isn't important" and then immediately "it didn't work for me your guide sucks". Come on guys if it worked on the latest builds I'd just say "use the latest builds" lol

That said, as for your problem, what pvillasuso said should be correct (assuming that's where your boot image is). The first set of commands ensures that you have the ability to read/write to the block device (mostly a sanity check that you're correctly bootloader unlocked), and the second set actually reads the disk images, byte by byte, and just blind writes them to the partitions via block device. Chances are if this doesn't work and you end up with an unbootable device you are not correctly referencing the correct input file, or it didn't copy over cleanly. DD is entirely blind, if you fed it a recipe for tacos as input it'd happily write it to the partition table.
 
Last edited:
  • Like
Reactions: pvillasuso

Eazii

Senior Member
Just received my surface duo three days ago. I updated to the latest software and followed the directions given in the op and no dice. Everything works with no hiccups until I get to the magisk_patched.img part. The patched boot image flash fine but I get stuck into a bootloop every single time. Turning off the phone then back on fixes the bootloop but when it resets there is no root.

I have tried with the magisk apk linked in this thread, the latest stable and also the latest canary version.

I can not seem to figure this out. If anyone can help out or point me in the right direction to figuring out out I would appreciate thanks

Edit 1 - AT&T locked version (waiting on my unlock code email - it's been about 18 hours since I requested the code)
 
Last edited:

pvillasuso

Senior Member
Just received my surface duo three days ago. I updated to the latest software and followed the directions given in the op and no dice. Everything works with no hiccups until I get to the magisk_patched.img part. The patched boot image flash fine but I get stuck into a bootloop every single time. Turning off the phone then back on fixes the bootloop but when it resets there is no root.

I have tried with the magisk apk linked in this thread, the latest stable and also the latest canary version.

I can not seem to figure this out. If anyone can help out or point me in the right direction to figuring out out I would appreciate thanks

Edit 1 - AT&T locked version (waiting on my unlock code email - it's been about 18 hours since I requested the code)
Someone already said , its not working with the latest update .
I can't confirm that , as I didnt update to the latest .
 
  • Like
Reactions: Eazii

Eazii

Senior Member
Someone already said , its not working with the latest update .
I can't confirm that , as I didnt update to the latest .
I actually got it working and can report that it works for both the 2021.913.27 & 2021.1019.25 at&t locked builds.

I don't know why it didn't work the first time around but the last few tries have worked flawlessly. I followed the instructions of the op and all is good. Up and rooted with the Nov.2021 update
 
  • Like
Reactions: pvillasuso

LocBox

Senior Member
Aug 16, 2009
158
17
anyone have the boot.img for November, Unlocked model? Payload dumper keeps giving me an error about missing an update.py file that i never needed before.
 

pvillasuso

Senior Member
  • Like
Reactions: LocBox

LocBox

Senior Member
Aug 16, 2009
158
17
You are in luck
I just downloaded the latest image from microsoft a few minutes ago
Not using my duo as primary so I am setting it up to stock to have it ready for android 11 , lol
Here ( unlocked 128gb ) > https://www.mediafire.com/file/otohorv024wkhb7/boot.img/file
thank you Kindly, i don't know why payload dumper isn't working for me. This whole thing was a breeze for me for the longest, then since September i can't seem to get it rooted again. Always boots to a frozen keyguard.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Just received my surface duo three days ago. I updated to the latest software and followed the directions given in the op and no dice. Everything works with no hiccups until I get to the magisk_patched.img part. The patched boot image flash fine but I get stuck into a bootloop every single time. Turning off the phone then back on fixes the bootloop but when it resets there is no root.

    I have tried with the magisk apk linked in this thread, the latest stable and also the latest canary version.

    I can not seem to figure this out. If anyone can help out or point me in the right direction to figuring out out I would appreciate thanks

    Edit 1 - AT&T locked version (waiting on my unlock code email - it's been about 18 hours since I requested the code)
    Someone already said , its not working with the latest update .
    I can't confirm that , as I didnt update to the latest .
    1
    Someone already said , its not working with the latest update .
    I can't confirm that , as I didnt update to the latest .
    I actually got it working and can report that it works for both the 2021.913.27 & 2021.1019.25 at&t locked builds.

    I don't know why it didn't work the first time around but the last few tries have worked flawlessly. I followed the instructions of the op and all is good. Up and rooted with the Nov.2021 update
    1
    anyone have the boot.img for November, Unlocked model? Payload dumper keeps giving me an error about missing an update.py file that i never needed before.
    You are in luck
    I just downloaded the latest image from microsoft a few minutes ago
    Not using my duo as primary so I am setting it up to stock to have it ready for android 11 , lol
    Here ( unlocked 128gb ) > https://www.mediafire.com/file/otohorv024wkhb7/boot.img/file
    1
    You are in luck
    I just downloaded the latest image from microsoft a few minutes ago
    Not using my duo as primary so I am setting it up to stock to have it ready for android 11 , lol
    Here ( unlocked 128gb ) > https://www.mediafire.com/file/otohorv024wkhb7/boot.img/file
    update - AND it is Rootable 🔫. Good freakin look man, i hadn't used this phone in months because of my root issue. :giggle:
  • 3
    Since the last guy hasn't been updating his op, I figured I'd start a fresh thread with what we know and what to do for newcomers.

    I will not be posting patched boot images in this thread, I'm a firm believer of "give you steps to follow from the top so you know what's going on and can do this yourself in the future". The more hands we have in the kitchen, the more we learn, and the better we are off as a community.

    Walkthroughs for both fresh rooting and updating while rooted are both below:

    ==== FRESH ROOT ====

    0. make sure USB debugging is on in settings > developer options
    0. make sure the phone's bootloader is actually unlocked, if the below doesn't work, back up all the data on your phone because we're about to wipe it
    Code:
    .\fastboot.exe flashing unlock
    .\fastboot.exe flashing unlock_critical
    I did both, but it might only require one of the two, if you only did one and it doesn't work you may not be fully unlocked and might have to do the other. Both of these commands from the bootloader will factory reset your phone. if you've already done this, go to step 1.

    1. go here https://support.microsoft.com/en-us/surface-recovery-image put in your serial number (can be found in settings) and download the latest recovery image

    2. download payload_dumper from here https://gist.github.com/ius/42bd02a.../48ffe1eee59af9a7da883d9ec7902d1507428dc4.zip

    3. download the latest platform-tools from here https://developer.android.com/studio/releases/platform-tools

    4. extract all three zips to the same folder, a folder on your desktop is fine, mine is just the name of the current MS zip archive (2021_314_91 at time of writing and used in the below examples)

    5. open powershell, and cd to that folder.

    6. from the folder, run it like this
    Code:
    PS C:\wherever\your\****\is\2021_314_91> python.exe -m payload_dumper ./payload.bin
    (this will extract a bunch of stuff, boot.img is all we care about today)

    6a. if you don't have python, get it from ninite https://ninite.com/pythonx3/ and go back to step 5/6 and try again

    7. download the latest version of magisk manager (the new magisk app may work, but I've not tested it, this is the exact version I am using on the exact phone you are using. If you feel like trying the app please report in the thread below!) https://github.com/topjohnwu/Magisk/releases/download/manager-v8.0.7/MagiskManager-v8.0.7.apk

    8. install magisk manager on your phone

    9. make a text file, I called mine magisk_channel.txt and put this in it
    Code:
    https://raw.githubusercontent.com/Lethany/magisk_files/0755a7d5f596dc2a351270120b31b665fb561294/stable.json
    this is the "custom" channel we are using to force an older version of magisk that doesn't choke on our device like newer versions do.

    10. use usb data transfer mode to copy the boot.img file we extracted from step 6 and the text file we created in step 8 to your phone's internal storage, I have a folder on the root of the internal storage directory called Z_Phone, but anywhere is fine as long as you know where it is and remember it later.

    11. in magisk manager, click the gear in the top right and then select "update channel" > "custom channel"

    12. use your duo's dank duo mode to open a file browser on the other screen, open the text file we made in step 9

    13. copy and paste the custom channel text into the custom channel field under update channel in magisk so it has the text from step 9 in it. (the text file just saves us typing it out by hand)

    14. go back to the magisk main screen, and click install next to "magisk"
    14b. click next
    14c. click "select and patch a zip file"
    14d. browse to the location we uploaded boot.img to in step 9 and select boot.img
    14e. click let's go
    (this will create the patched boot.img, it'll be named magisk_patched_[some garbage].img)

    15. open the internal storage on your PC again, and go to your phone's "downloads" folder, it'll have that patched boot.img (if you've tried this a bunch of times and don't remember which one we just made, feel free to delete all the old ones and do 14-14e again) copy this patched_boot.img to your computer, I just put it in that same folder as step 4

    16. in powershell, cd back to that same working folder we've been using and run
    Code:
    .\adb.exe reboot bootloader

    The phone will reboot to the bootloader and we can now try booting the patched image

    16. in powershell, run
    Code:
    .\fastboot.exe boot .\magisk_patched_[WHATEVER_YOURS_IS_NAMED].img

    17. if your phone boots, that's a great sign and we're out of the woods, nothing else will probably go wrong from here, if it doesn't boot factory reset your phone and start at step 0.

    18. open an adb shell prompt and make our boot partitions writable with the below 4 lines, run one by one. Right now we're "rooted" but we've booted off an image over usb, what we really want is to boot off the images on your phone so we need to.
    Code:
    .\adb.exe shell
    su
    chmod 777 /dev/block/by-name/boot_a
    chmod 777 /dev/block/by-name/boot_b

    19. write the patched boot image to your boot partitions with the below lines, again run one by one
    Code:
    adb shell
    su
    dd if=/sdcard/[PATH TO IMAGE]/[PATCHED BOOT].img of=/dev/block/by-name/boot_a
    dd if=/sdcard/[PATH TO IMAGE]/[PATCHED BOOT].img of=/dev/block/by-name/boot_b
    (my patched boot image is in a folder called "Z_Phone" and my patched image is called "magisk_patched_ks4OZ.img" so my commands look like:
    Code:
    dd if=/sdcard/Z_Phone/magisk_patched_ks4OZ.img of=/dev/block/by-name/boot_a
    dd if=/sdcard/Z_Phone/magisk_patched_ks4OZ.img of=/dev/block/by-name/boot_b
    )

    20. reboot your phone via the power button menu and if all went well, you're now rooted!

    ==== UPDATE WHILE ROOTED ====

    1. go here https://support.microsoft.com/en-us/surface-recovery-image put in your serial number (can be found in settings) and download the latest recovery image

    2. download payload_dumper from here https://gist.github.com/ius/42bd02a.../48ffe1eee59af9a7da883d9ec7902d1507428dc4.zip

    3. download the latest platform-tools from here https://developer.android.com/studio/releases/platform-tools

    4. extract all three zips to the same folder, a folder on your desktop is fine, mine is just the name of the current MS zip archive (2021_314_91 at time of writing)

    5. open powershell, and cd to that folder.

    6. from the folder, run it like this
    Code:
    PS C:\wherever\your\****\is\2021_314_91> python.exe -m payload_dumper ./payload.bin
    (this will extract a bunch of stuff, boot.img is all we care about today)

    7. boot off of your old magisk patched boot image
    Code:
    .\adb.exe reboot bootloader
    .\fastboot.exe boot ..\[LAST VERSION'S FOLDER]\magisk_patched_[WHATEVER_YOURS_IS_NAMED].img

    8. write the old, unpatched boot partition to your boot partitions with the below lines, again run one by one
    Code:
    adb shell
    su
    dd if=/sdcard/[PATH TO IMAGE]/boot.img of=/dev/block/by-name/boot_a
    dd if=/sdcard/[PATH TO IMAGE]/boot.img of=/dev/block/by-name/boot_b
    (my unpatched boot image is in a folder called "Z_Phone" and my unpatched image in this example is called "boot.img" so my commands look like:
    Code:
    dd if=/sdcard/Z_Phone/boot.img of=/dev/block/by-name/boot_a
    dd if=/sdcard/Z_Phone/boot of=/dev/block/by-name/boot_b
    )

    9. reboot

    10. run the OTA update on your now freshly stock phone

    11. use magisk to patch the new boot image same as in the first root instructions (14a-14e)

    12. copy this patched image off of the phone and into our working directory. leave a copy of this on the phone (I put it in my Z_Phone folder)

    13. reboot to bootloader (in powershell, in that same working folder we've been using run)
    Code:
    .\adb.exe reboot bootloader

    14. Boot your phone using the patched boot image (in powershell, run)
    Code:
    .\fastboot.exe boot .\magisk_patched_[WHATEVER_YOURS_IS_NAMED].img

    15. write the patched boot image to your boot partitions with the below lines, again run one by one
    Code:
    adb shell
    su
    dd if=/sdcard/[PATH TO IMAGE]/[PATCHED BOOT].img of=/dev/block/by-name/boot_a
    dd if=/sdcard/[PATH TO IMAGE]/[PATCHED BOOT].img of=/dev/block/by-name/boot_b
    (my patched boot image is in a folder called "Z_Phone" and my patched image is called "magisk_patched_ks4OZ.img" so my commands look like:
    Code:
    dd if=/sdcard/Z_Phone/magisk_patched_ks4OZ.img of=/dev/block/by-name/boot_a
    dd if=/sdcard/Z_Phone/magisk_patched_ks4OZ.img of=/dev/block/by-name/boot_b
    )

    16. reboot and you're updated and rooted!
    3
    ...
    6a. if you don't have python, get it from ninite https://ninite.com/pythonx3/ and go back to step 5/6 and try again
    ...
    One hint for the ones also getting stuck after this step:
    You also have to install "Protobuf" with the Powershell command
    python -m pip install protobuf
    1
    For anyone who needs it, here is a patched boot.img for ATT Locked 2021_525_63
    1
    That's on a fresh install or after flashing the Magisk-modified boot.img?

    I'm about to restore with the recovery image & start this again, in case there's some different between OTA & recovery.

    EDIT: Doing a factory reset, ADB sideload of the recovery image, creating the new Magisk boot.img, & booting still doesn't work. I'm going to try the guide's version one more time to use the older version of Magisk Manager & the custom channel, but based on previous experience, I'm not hopeful. I only bought this as a device to have fun with because it can be rooted, so I'm regretting this purchase right now =\

    I do have the factory unlocked, not the ATT version. In my experience when your lockscreen touch input is not recognized, that happens when either the boot image doesn't match the factory image, or someone has used the factory unlocked boot on an ATT phone or vice-versa.

    I'd try a dirty flash of the complete applicable factory images (not just boot/recovery) and then factory reset, then start again from the top. It's possible one of your updates didn't complete or something's become inconsistent between A/B
    1
    I am in the same boat as Veritas is. My Duo is from ATT and hangs on the Microsoft logo as well. I am very new to rooting and what goes into it so a lot of this stuff I am seeing for the first time. How do I know if I have the correct boot? I went through the whole process of extracting the boot image from the recovery file for my phone off of the Microsoft website. Does that get me the right boot to use?