[GUIDE] Root NVIDIA SHIELD Experience Upgrade v7.2 with Magisk v18.0

Search This thread

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
(Note before you begin: If you have a SHIELD TV 2017, you will need a quality Male-to-Male USB Type A cable to connect your SHIELD TV to a PC. If you have a SHIELD TV 2015 or a SHIELD TV Pro, you may be able to just use a regular micro USB cable, because those two models have a micro USB port)

A. Download these files to your PC:
  1. Download the Android SDK Platform-Tools
  2. Download the Official NVIDIA SHIELD family Windows USB Drivers
  3. Download the Magisk Manager APK (This is the latest version as of the time of writing)
  4. Download the ***CORRECT*** NVIDIA SHIELD Experience Upgrade v7.2 Image for your model
    (You will need to register for a Developer Account if you don't already have one. Flashing the wrong image will BRICK your device)

B. Setting up Android SDK Platform-Tools on your PC:
  1. On your PC, extract the Android SDK Platform-Tools somewhere where you can find them
  2. Add the platform-tools folder to PATH in the Windows System Environment Variables (Instructions HERE or HERE)

C. Installing the Official NVIDIA SHIELD family Windows USB Drivers on your PC:
  1. On your SHIELD TV, enable developer options and debugging (Instructions HERE)
  2. Using a Male-to-Male USB Type-A Cable, connect the USB port further away from the HDMI port on your SHIELD TV to your PC
  3. On your PC, extract the Official NVIDIA SHIELD family Windows USB Drivers somewhere where you can find them
  4. Open Device Manager and find the new device
  5. Right-click it and select Update driver
  6. Select "Browse my computer for driver software"
  7. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
  8. Click Next and Install the Driver (if there is more than one option, select the one relating to ADB or Android Device Bridge)
  9. Open a Command Prompt and type:
    Code:
    adb devices
  10. On your SHIELD TV, a prompt will pop up asking you to allow ADB access from your computer. Check the box to remember your selection and then Grant Access
  11. On your PC, the Command Prompt should show the serial number of your SHIELD TV
    (You may have to run the 'adb devices' command again since it may have timed out the first time waiting on you to authorize the ADB connection on the SHIELD TV)
  12. Boot the SHIELD TV into bootloader/fastboot mode by typing the command:
    Code:
    adb reboot bootloader
    (Alternatively, you can enter bootloader/fastboot mode by following the instructions HERE)
  13. On your PC, open the Device Manager again and find the new device (it will probably have an error with a yellow triangle)
  14. Right-click it and select Update driver
  15. Select "Browse my computer for driver software"
  16. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
  17. Click Next and Install the Driver (if there is more than one option, select the one NOT relating to ADB or Android Device Bridge)
  18. Open a Command Prompt and type:
    Code:
    fastboot devices
  19. The Command Prompt should show the serial number of your SHIELD TV

D. Unlocking the bootloader on your SHIELD TV (CAUTION: THIS WILL WIPE YOUR DATA AND FACTORY RESET YOUR SHIELD TV)
  1. Plug the NVIDIA SHIELD TV Game Controller or a USB Keyboard into the USB port closest to the HDMI port on your SHIELD TV
  2. In bootloader/fastboot mode on your SHIELD TV, select "Unlock Bootloader", read the message and confirm
    (Use the Y and X buttons to scroll UP and DOWN, and the A button to CONFIRM selection, if your button presses aren't doing anything you need to reboot the SHIELD TV into bootloader/fastboot mode with the Controller or Keyboard already plugged in)
  3. On your PC, open a Command Prompt and reboot your SHIELD TV to the OS by typing:
    Code:
    fastboot reboot
  4. This process only needs to be done once per device and you will not have to unlock the bootloader again for subsequent updates
    (From now on while your bootloader is unlocked, your SHIELD TV will display a warning message when it first boots saying that the system cannot check for corruption. This is perfectly normal and the boot process will resume automatically after a few seconds. There is no need to relock your bootloader unless you are selling the device or something. NEVER lock the bootloader if you have anything other than 100% stock full RECOVERY Image installed. Never even try it.)

E. Installing Magisk Manager on your SHIELD TV and Patching your boot.img
  1. On your PC, extract the NVIDIA SHIELD Experience Upgrade v7.2 Image that you downloaded to somewhere where you can find it
  2. Find the boot.img file in the folder that you extracted it to
  3. Open a Command Prompt and type:
    Code:
    adb push boot.img /storage/emulated/0/Download/
  4. Install Magisk Manager by typing 'adb install [path-to-magiskmanagerapk]' example:
    Code:
    adb install C:\MagiskManager-v6.1.0.apk
  5. On your SHIELD TV, open Magisk Manager [Settings > Device > Apps > Magisk Manager > Open]
    (The Magisk Manager App Interface is not designed to be operated with an Android TV Remote so I suggest you install the NVIDIA SHIELD TV app on your phone. Once paired with your SHIELD TV, the app has an option to let you use a virtual mouse to navigate and interact with your SHIELD TV. Alternatively, you can plug a USB Mouse into the USB port closest to the HDMI port on your SHIELD TV)
  6. If Magisk Manager automatically pops up and asks you if you would like to Install Magisk, select Cancel
  7. Make sure the "Preserve AVB 2.0/dm-verity" option is checked, and then select "Install"
  8. Select "Patch Boot Image File"
  9. Using the Virtual Mouse on the NVIDIA SHIELD TV remote app on your phone, or a USB Mouse, navigate to the "Download" folder on your internal storage and select the boot.img file that you copied over then click Open
  10. Magisk Manager will take a few moments to patch the boot.img (pay attention to the message in the console about the path to the patched_boot.img - It should be "/storage/emulated/0/Download/patched_boot.img"
  11. On your PC, in the Command Prompt type:
    Code:
    adb pull /storage/emulated/0/Download/patched_boot.img

F. Installing Magisk rooted SHIELD Experience Upgrade v7.2 on your SHIELD TV:
  1. On your PC, navigate to the folder where you extracted the NVIDIA SHIELD Experience Upgrade v7.2 Image
  2. Find the boot.img and rename it to boot.img.bak
  3. Rename the patched_boot.img to boot.img
  4. Open a Command Prompt and type:
    Code:
    adb reboot bootloader
  5. Once the SHIELD TV is in bootloader/fastboot mode, type:
    Code:
    flash-all.bat
    (It will take a few minutes for the flashing process to finish and then the SHIELD TV will automatically reboot to the OS)

Optional Stuff and Additional Information:
  • Disable Auto-Upgrades by going to [Settings > Device > About > System upgrade > Auto-upgrade]
  • Enable Full OTA's instead of Partial/Differential by going to [Settings > Preferences > Developer options > Provide full system upgrades]
    (It is the very last option at the bottom and this is very important when using a rooted device and modifications to the System partition are likely)
  • If you want to upgrade to a new OTA update with root without waiting on NVIDIA to post the Developer/Recovery images, the downloaded OTA file is in
    Code:
    /data/data/com.nvidia.ota/app_download
    (You will need a root file explorer to be able to access this directory)
  • You can extract the boot.img from the OTA zip and patch it using the same method described in step E.5 through E.10
  • You can then install the OTA the normal way [Settings > Device > About > System upgrade > Check for upgrade]
    (Make sure you have copied the OTA zip or extracted the boot.img to somewhere on your Internal Storage like "/storage/emulated/0/Download" BEFORE you install the OTA because the system will delete the file in "/data/data/com.nvidia.ota/app_download" when it installs the update and you will be unable to get it after that)
  • Copy the patched_boot.img that you made with Magisk to your PC
  • Reboot to bootloader/fastboot mode with:
    Code:
    adb reboot bootloader
  • Manually flash just the Magisk Patched boot:
    Code:
    fastboot flash boot patched_boot.img
  • Manually reboot back to the OS with:
    Code:
    fastboot reboot
 
Last edited:

whiteak

Senior Member
Jan 29, 2018
430
202
Gold Coast
Hey mate, just curious if you have full root access, eg, can you uninstall system apps or delete their folders in system/apps, only asking as I also thought I had gained full root access with patching the boot.img with Kantjers version of Magisk, but when I try to uninstall a system app or try and delete their respective folders, even though it appears in Magisk that I have full root access, when I try to uninstall or delete a system app folder, I actually don't have full root access.
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Hey mate, just curious if you have full root access, eg, can you uninstall system apps or delete their folders in system/apps, only asking as I also thought I had gained full root access with patching the boot.img with Kantjers version of Magisk, but when I try to uninstall a system app or try and delete their respective folders, even though it appears in Magisk that I have full root access, when I try to uninstall or delete a system app folder, I actually don't have full root access.

I don't modify the system partition if I can avoid it. I just disable System Apps if I want them gone; however, I am fully confident that I could delete anything in /system if I wanted to. Is /system mounted as +rw? Not all Root File Managers are created equal. I recommend Root Explorer. It is not the most modern and feature rich file manager, but when it comes to Root File Managers specifically, I haven't found any other that can compare.
 
Last edited:

whiteak

Senior Member
Jan 29, 2018
430
202
Gold Coast
Thanks for the reply, not a big deal, was just curious if you actually did have full root access as it appears I do as well until I actually need it to do something like delete a system app etc. I may try flashing your patched boot.img and see if I get the same results as my patched boot.img, may just come down to the fact that I'm using Kantjers version of Magisk etc, wouldn't think it would be any different, but never know I guess until I try. Thanks again.
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Thanks for the reply, not a big deal, was just curious if you actually did have full root access as it appears I do as well until I actually need it to do something like delete a system app etc. I may try flashing your patched boot.img and see if I get the same results as my patched boot.img, may just come down to the fact that I'm using Kantjers version of Magisk etc, wouldn't think it would be any different, but never know I guess until I try. Thanks again.

I would test it for you if I had a system.img for v7.2.1 that I could reflash real quick. I just don't feel like flashing v7.2.0 then updating to v7.2.1 again to restore an unmodified system partition.
 

sconnyuk

Senior Member
Jul 31, 2011
414
161
Sunderland
A. Download these files to your PC:
  1. Download the Android SDK Platform-Tools HERE
  2. Download the Official NVIDIA SHIELD family Windows USB Drivers HERE
  3. Download Magisk Manager APK (Link to latest version at time of writing is HERE)
  4. Download the ***CORRECT*** NVIDIA SHIELD Experience Upgrade v7.2 Image for your model HERE
    (Flashing the wrong boot.img will BRICK your device You will need to register for a Developer Account if you don't already have one)

B. Setting up Android SDK Platform-Tools on your PC:
  1. On your PC, extract the Android SDK Platform-Tools somewhere where you can find them
  2. Add the platform-tools folder to PATH in the Windows System Environment Variables (Instructions HERE)

C. Installing the Official NVIDIA SHIELD family Windows USB Drivers on your PC:
  1. On your SHIELD TV, enable developer options and debugging (Instructions HERE)
  2. Using a Male Type-A to Male Type-A USB Cable, connect the USB port further away from the HDMI port on your SHIELD TV to your PC
  3. On your PC, extract the Official NVIDIA SHIELD family Windows USB Drivers somewhere where you can find them
  4. Open Device Manager and find the new device
  5. Right-click it and select Update driver
  6. Select "Browse my computer for driver software"
  7. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
  8. Click Next and Install the Driver (if there is more than one option, select the one relating to ADB or Android Device Bridge)
  9. Open a Command Prompt and type:
    Code:
    adb devices
  10. On your SHIELD TV, a prompt will pop up asking you to allow ADB access from your computer. Check the box to remember your selection and then Grant Access
  11. On your PC, the Command Prompt should show the serial number of your SHIELD TV
    (You may have to run the 'adb devices' command again since it may have timed out the first time waiting on you to authorize the ADB connection on the SHIELD TV)
  12. Boot the SHIELD TV into bootloader/fastboot mode by typing the command:
    Code:
    adb reboot bootloader
    (Alternatively, you can enter bootloader/fastboot mode by following the instructions HERE)
  13. On your PC, open the Device Manager again and find the new device (it will probably have an error with a yellow triangle)
  14. Right-click it and select Update driver
  15. Select "Browse my computer for driver software"
  16. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
  17. Click Next and Install the Driver (if there is more than one option, select the one NOT relating to ADB or Android Device Bridge)
  18. Open a Command Prompt and type:
    Code:
    fastboot devices
  19. The Command Prompt should show the serial number of your SHIELD TV

D. Unlocking the bootloader on your SHIELD TV (WARNING: THIS WILL WIPE YOUR DATA AND FACTORY RESET YOUR SHIELD TV)
  1. Plug the NVIDIA SHIELD TV Game Controller or a USB Keyboard into the USB port closest to the HDMI port on your SHIELD TV
  2. In bootloader/fastboot mode on your SHIELD TV, select "Unlock Bootloader", read the message and confirm
    (Use the Y and X buttons to scroll UP and DOWN, and the A button to confirm selection, if your button presses aren't doing anything you need to reboot the SHIELD TV into bootloader/fastboot mode with the Controller or Keyboard already plugged in)
  3. On your PC, open a Command Prompt and reboot your SHIELD TV to the OS by typing:
    Code:
    fastboot reboot

E. Installing Magisk Manager on your SHIELD TV and Patching your boot.img
  1. On your PC, extract the NVIDIA SHIELD Experience Upgrade v7.2 Image that you downloaded to somewhere where you can find it
  2. Find the boot.img file in the folder that you extracted it to
  3. Open a Command Prompt and type:
    Code:
    adb push boot.img /storage/emulated/0/Download/
  4. Install Magisk Manager by typing 'adb install [path-to-Magisk-Manager-APK]' example:
    Code:
    adb install C:\MagiskManager-v6.1.0.apk
  5. On your SHIELD TV, open Magisk Manager [Settings > Device > Apps > Magisk Manager > Open]
    (The Magisk Manager App Interface is not designed to be operated with an Android TV Remote so I suggest you install the NVIDIA SHIELD TV app on your phone. Once paired with your SHIELD TV, the app has an option to let you use a virtual mouse to navigate and interact with apps on your SHIELD TV. Alternatively, you can plug in a USB Mouse into the USB port closest to the HDMI port on your SHIELD TV)
  6. If Magisk Manager automatically pops up and asks you if you would like to Install Magisk, select Cancel
  7. Make sure the "Preserve AVB 2.0/dm-verity" option is checked, and then select "Install"
  8. Select "Patch Boot Image File"
  9. Using the Virtual Mouse on the NVIDIA SHIELD TV remote app on your phone, or a USB Mouse, navigate to the "Download" folder on your internal storage and select the boot.img file that you copied over then click Open
  10. Magisk Manager will take a few moments to patch the boot.img (pay attention to the message in the console about the path to the patched_boot.img - It should be "/storage/emulated/0/Download/patched_boot.img"
  11. On your PC, in the Command Prompt type:
    Code:
    adb pull /storage/emulated/0/Download/patched_boot.img

F. Installing Magisk rooted SHIELD Experience Upgrade v7.2 on your SHIELD TV:
  1. On your PC, navigate to the folder where you extracted the NVIDIA SHIELD Experience Upgrade v7.2 Image
  2. Find the boot.img and rename it to boot.img.bak
  3. Rename the patched_boot.img to boot.img
  4. Open a Command Prompt and type:
    Code:
    adb reboot bootloader
  5. Once the SHIELD TV is in bootloader/fastboot mode, type:
    Code:
    flash-all.bat
    (It will take a few minutes for the flashing process to finish and then the SHIELD TV will automatically reboot to the OS)

Optional Stuff and Additional Information:
  • Disable Auto-Upgrades by going to [Settings > Device > About > System upgrade > Auto-upgrade]
  • Enable Full OTA's instead of Partial/Differential by going to [Settings > Preferences > Developer options > Provide full system upgrades]
    (It is the very last option at the bottom and this is very important when using a rooted device and modifications to the System partition are likely)
  • If you want to upgrade to a new OTA update with root without waiting on NVIDIA to post the Developer/Recovery images, the downloaded OTA file is in
    Code:
    /data/data/com.nvidia.ota/app_download
    (You will need a root file explorer to be able to access this directory)
  • You can extract the boot.img from the OTA zip and patch it using the same method described in step E.5 through E.10
  • You can then install the OTA the normal way [Settings > Device > About > System upgrade > Check for upgrade]
    (Make sure you have copied the OTA zip or extracted the boot.img to somewhere on your Internal Storage like "/storage/emulated/0/Download" before you install the OTA because the system will delete the file in "/data/data/com.nvidia.ota/app_download" when it installs the update and you will be unable to get it after that)
  • Copy the patched_boot.img that you made with Magisk to your PC
  • Reboot to bootloader/fastboot mode with:
    Code:
    adb reboot bootloader
  • Manually flash just the Magisk Patched boot:
    Code:
    fastboot flash boot patched_boot.img
  • Manually reboot back to the OS with:
    Code:
    fastboot reboot

Thankyou ever so much for putting this together but after following exactly what you said in this guide this is what i get:

C:\Users\sconn\nv-recovery-image-shield-atv-7.2.0>flash-all.bat
Sending 'staging' (6436 KB) FAILED (Write to device failed in SendBuffer() (Unknown error))
Finished. Total time: 10.295s
Sending 'boot' (14115 KB) FAILED (Write to device failed (Invalid argument))
Finished. Total time: 15.641s
< waiting for any device >
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Thankyou ever so much for putting this together but after following exactly what you said in this guide this is what i get:

C:\Users\sconn\nv-recovery-image-shield-atv-7.2.0>flash-all.bat
Sending 'staging' (6436 KB) FAILED (Write to device failed in SendBuffer() (Unknown error))
Finished. Total time: 10.295s
Sending 'boot' (14115 KB) FAILED (Write to device failed (Invalid argument))
Finished. Total time: 15.641s
< waiting for any device >

Do you have a 2015 or a 2017 SHIELD TV? Assuming you didn't edit that directory name, it should be nv-recovery-image-shield-atv-2017-7.2.0

If you have a 2017 and did manage to flash that image without an error, it would have bricked your SHIELD TV.

Do you still have Minimal ADB installed? I kind of feel like your fastboot.exe is outdated. I feel like your Minimal ADB install is registered to PATH and whenever a command calls fastboot, it is running the outdated fastboot in your Minimal ADB install.
 

sconnyuk

Senior Member
Jul 31, 2011
414
161
Sunderland
Do you have a 2015 or a 2017 SHIELD TV? Assuming you didn't edit that directory name, it should be nv-recovery-image-shield-atv-2017-7.2.0

If you have a 2017 and did manage to flash that image without an error, it would have bricked your SHIELD TV.

Do you still have Minimal ADB installed? I kind of feel like your fastboot.exe is outdated. I feel like your Minimal ADB install is registered to PATH and whenever a command calls fastboot, it is running the outdated fastboot in your Minimal ADB install.

I have 2017 Shield TV 16gb, which is on stock 7.2.1
I am using platform tools you suggested previously.

im quite sure im downloading the correct version, yes i do rename certain folders when i extract (just like i did with platform-tools to platform tools etc.
Im wondering if because im using standard usb 2.0 a to a cable is problem ? , aswell as both my laptop and desktop computers are older usb 2.0 models?
Both cables i have are usb 2.0 a to a but never had problems using with other devices including amazon fire tv 2 4k box when i had to recover it. Also i can adb push/pull/install no problems.
I have tried selecting unlock bootloader again just to triple check its unloacked and it reports bootloader is already un locked.
Im running out of ideas to be honest, quite the nightmare im having.
 
Last edited:

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
I have 2017 Shield TV 16gb, which is on stock 7.2.1
I am using platform tools you suggested previously.

im quite sure im downloading the correct version, yes i do rename certain folders when i extract (just like i did with platform-tools to platform tools etc.
Im wondering if because im using standard usb 2.0 a to a cable is problem ? , aswell as both my laptop and desktop computers are older usb 2.0 models?
Both cables i have are usb 2.0 a to a but never had problems using with other devices including amazon fire tv 2 4k box when i had to recover it.
I have tried selecting unlock bootloader again just to triple check its unloacked and it reports bootloader is already un locked.
Im running out of ideas to be honest, quite the nightmare im having.

I don't see USB 2.0 being an issue. You could try locking then unlocking your bootloader again.

Also try running with an elevated Command Prompt with admin rights.
 

sconnyuk

Senior Member
Jul 31, 2011
414
161
Sunderland
I don't see USB 2.0 being an issue. You could try locking then unlocking your bootloader again.

Also try running with an elevated Command Prompt with admin rights.

Yes i always use admin rights with CMD.
I will try re locking and unlocking again later today. (i cant see how nobody else has had issues like mine)
Thanks, il report back.

---------- Post added at 09:00 AM ---------- Previous post was at 08:36 AM ----------

Just tried re locking my bootloader then unlocking again and get same output:
Just for your info the download im using is 'nv-recovery-image-shield-atv-2017-7.2.0.zip' like i said i had a few downloaded alreadyh so just renamed it.
C:\Users\sconn\nv-recovery-image-shield-atv-7.2.0>flash-all.bat
Sending 'staging' (6436 KB) FAILED (Write to device failed in SendBuffer() (Unknown error))
Finished. Total time: 6.297s
Sending 'boot' (14115 KB) FAILED (Write to device failed (Invalid argument))
Finished. Total time: 15.853s
< waiting for any device >
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Just tried re locking my bootloader then unlocking again and get same output:
Just for your info the download im using is 'nv-recovery-image-shield-atv-2017-7.2.0.zip' like i said i had a few downloaded alreadyh so just renamed it.
C:\Users\sconn\nv-recovery-image-shield-atv-7.2.0>flash-all.bat
Sending 'staging' (6436 KB) FAILED (Write to device failed in SendBuffer() (Unknown error))
Finished. Total time: 6.297s
Sending 'boot' (14115 KB) FAILED (Write to device failed (Invalid argument))
Finished. Total time: 15.853s
< waiting for any device >

I googled your error and I found a post that said changing cables fixed the problem. So that is at least one piece of information that points towards your hardware setup being the issue. I don't know what else to tell you.
 

sconnyuk

Senior Member
Jul 31, 2011
414
161
Sunderland
I googled your error and I found a post that said changing cables fixed the problem. So that is at least one piece of information that points towards your hardware setup being the issue. I don't know what else to tell you.

Yes even though I've got 2 here I'm going to try another, now if my local computer shop is open today I'll grab one to try.
As soon as I get a cable I'll report back and let you know, at the very least this might help someone with any issues that turn out to be similar to mine.
I was even thinking of trying to get twrp on or even boot to it to flash the boot.img but it's a no go on 7.2.1 and more so it's a no go because nothing will flash through fastboot for me at the moment.
I'll be in touch. ?
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Yes even though I've got 2 here I'm going to try another, now if my local computer shop is open today I'll grab one to try.
As soon as I get a cable I'll report back and let you know, at the very least this might help someone with any issues that turn out to be similar to mine.
I was even thinking of trying to get twrp on or even boot to it to flash the boot.img but it's a no go on 7.2.1 and more so it's a no go because nothing will flash through fastboot for me at the moment.
I'll be in touch.

Here is the cable that I use: https://www.amazon.com/Cable-Matters-2-Pack-Male-Black/dp/B00HSS9IDW
 
  • Like
Reactions: sconnyuk

sconnyuk

Senior Member
Jul 31, 2011
414
161
Sunderland
Finally, i decided to butcher 2 good thick usb cables and bodge a new a to a cable together and it flashed first time :)
Thanks for all your help.
Cannot understand how i have had issues with 2 different cables but now we know this device must be picky.
 

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
So from a virgin 7.2.1 we can after all flash a modded boot .
Just have to wait for a TWRP that is working on 7.2.1 now.
Thanks again for your help, I'd probably of given up after all that untill you mentioned the lead.
I did have a sneaky feeling myself but wasn't gunna try a new one till after Christmas.

What do you need TWRP for?
 

nadia p.

Senior Member
Dec 20, 2018
111
10
Thank you ACiDxCHRiST, for creating a new guide. It takes a considerable amount of time to first find a solution that is repeatable, document everything, test it, etc... :good: well done.

I have a question for you if I may. I've been trying to understand what Magisk actually patches. I've read through their web site and other than rooting it doesn't go into to many details about what else it patches or modifies. Do you have any additional information about this?

Once you've installed the patched_boot.img, and you first boot your Nvidia Shield TV are you required to first connect to the internet, then sign-in to Google Play and assuming the existing Nvidia Experience software is not already updated to the latest release, does it begin to download the and force you to install the latest update?
 
  • Like
Reactions: sconnyuk

ACiDxCHRiST

Senior Member
Dec 23, 2010
223
133
Thank you ACiDxCHRiST, for creating a new guide. It takes a considerable amount of time to first find a solution that is repeatable, document everything, test it, etc... :good: well done.

I have a question for you if I may. I've been trying to understand what Magisk actually patches. I've read through their web site and other than rooting it doesn't go into to many details about what else it patches or modifies. Do you have any additional information about this?

Once you've installed the patched_boot.img, and you first boot your Nvidia Shield TV are you required to first connect to the internet, then sign-in to Google Play and assuming the existing Nvidia Experience software is not already updated to the latest release, does it begin to download the and force you to install the latest update?

The SHIELD TV will only force you to update when you are going through the Initial Setup after a data wipe. If you follow the guide exactly as written and your bootloader is not unlocked yet, you will be forced to update to v7.2.1 after unlocking the bootloader. But since there aren't any more data wipes and the last step is to flash the v7.2.0 image that we modified, you will end up on v7.2.0 without being forced to do the Initial Setup again. In fact, you could likely use the same steps in the guide to install other versions.

As for what Magisk patches, it modifies the bootloader to trick the OS into thinking that the SU binary is in the system partition without actually modifying the system partition.

Just for backups, I'd like to get my system all setup exactly like I want it and then create a backup.
Also if any magisk/xposed modules make my box not boot to restore also

Roger that, makes sense.
 
Last edited:
  • Like
Reactions: sconnyuk

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    (Note before you begin: If you have a SHIELD TV 2017, you will need a quality Male-to-Male USB Type A cable to connect your SHIELD TV to a PC. If you have a SHIELD TV 2015 or a SHIELD TV Pro, you may be able to just use a regular micro USB cable, because those two models have a micro USB port)

    A. Download these files to your PC:
    1. Download the Android SDK Platform-Tools
    2. Download the Official NVIDIA SHIELD family Windows USB Drivers
    3. Download the Magisk Manager APK (This is the latest version as of the time of writing)
    4. Download the ***CORRECT*** NVIDIA SHIELD Experience Upgrade v7.2 Image for your model
      (You will need to register for a Developer Account if you don't already have one. Flashing the wrong image will BRICK your device)

    B. Setting up Android SDK Platform-Tools on your PC:
    1. On your PC, extract the Android SDK Platform-Tools somewhere where you can find them
    2. Add the platform-tools folder to PATH in the Windows System Environment Variables (Instructions HERE or HERE)

    C. Installing the Official NVIDIA SHIELD family Windows USB Drivers on your PC:
    1. On your SHIELD TV, enable developer options and debugging (Instructions HERE)
    2. Using a Male-to-Male USB Type-A Cable, connect the USB port further away from the HDMI port on your SHIELD TV to your PC
    3. On your PC, extract the Official NVIDIA SHIELD family Windows USB Drivers somewhere where you can find them
    4. Open Device Manager and find the new device
    5. Right-click it and select Update driver
    6. Select "Browse my computer for driver software"
    7. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
    8. Click Next and Install the Driver (if there is more than one option, select the one relating to ADB or Android Device Bridge)
    9. Open a Command Prompt and type:
      Code:
      adb devices
    10. On your SHIELD TV, a prompt will pop up asking you to allow ADB access from your computer. Check the box to remember your selection and then Grant Access
    11. On your PC, the Command Prompt should show the serial number of your SHIELD TV
      (You may have to run the 'adb devices' command again since it may have timed out the first time waiting on you to authorize the ADB connection on the SHIELD TV)
    12. Boot the SHIELD TV into bootloader/fastboot mode by typing the command:
      Code:
      adb reboot bootloader
      (Alternatively, you can enter bootloader/fastboot mode by following the instructions HERE)
    13. On your PC, open the Device Manager again and find the new device (it will probably have an error with a yellow triangle)
    14. Right-click it and select Update driver
    15. Select "Browse my computer for driver software"
    16. Input the path to the folder where you extracted the Official NVIDIA SHIELD family Windows USB Drivers earlier (make sure the "Include subfolders" option is checked)
    17. Click Next and Install the Driver (if there is more than one option, select the one NOT relating to ADB or Android Device Bridge)
    18. Open a Command Prompt and type:
      Code:
      fastboot devices
    19. The Command Prompt should show the serial number of your SHIELD TV

    D. Unlocking the bootloader on your SHIELD TV (CAUTION: THIS WILL WIPE YOUR DATA AND FACTORY RESET YOUR SHIELD TV)
    1. Plug the NVIDIA SHIELD TV Game Controller or a USB Keyboard into the USB port closest to the HDMI port on your SHIELD TV
    2. In bootloader/fastboot mode on your SHIELD TV, select "Unlock Bootloader", read the message and confirm
      (Use the Y and X buttons to scroll UP and DOWN, and the A button to CONFIRM selection, if your button presses aren't doing anything you need to reboot the SHIELD TV into bootloader/fastboot mode with the Controller or Keyboard already plugged in)
    3. On your PC, open a Command Prompt and reboot your SHIELD TV to the OS by typing:
      Code:
      fastboot reboot
    4. This process only needs to be done once per device and you will not have to unlock the bootloader again for subsequent updates
      (From now on while your bootloader is unlocked, your SHIELD TV will display a warning message when it first boots saying that the system cannot check for corruption. This is perfectly normal and the boot process will resume automatically after a few seconds. There is no need to relock your bootloader unless you are selling the device or something. NEVER lock the bootloader if you have anything other than 100% stock full RECOVERY Image installed. Never even try it.)

    E. Installing Magisk Manager on your SHIELD TV and Patching your boot.img
    1. On your PC, extract the NVIDIA SHIELD Experience Upgrade v7.2 Image that you downloaded to somewhere where you can find it
    2. Find the boot.img file in the folder that you extracted it to
    3. Open a Command Prompt and type:
      Code:
      adb push boot.img /storage/emulated/0/Download/
    4. Install Magisk Manager by typing 'adb install [path-to-magiskmanagerapk]' example:
      Code:
      adb install C:\MagiskManager-v6.1.0.apk
    5. On your SHIELD TV, open Magisk Manager [Settings > Device > Apps > Magisk Manager > Open]
      (The Magisk Manager App Interface is not designed to be operated with an Android TV Remote so I suggest you install the NVIDIA SHIELD TV app on your phone. Once paired with your SHIELD TV, the app has an option to let you use a virtual mouse to navigate and interact with your SHIELD TV. Alternatively, you can plug a USB Mouse into the USB port closest to the HDMI port on your SHIELD TV)
    6. If Magisk Manager automatically pops up and asks you if you would like to Install Magisk, select Cancel
    7. Make sure the "Preserve AVB 2.0/dm-verity" option is checked, and then select "Install"
    8. Select "Patch Boot Image File"
    9. Using the Virtual Mouse on the NVIDIA SHIELD TV remote app on your phone, or a USB Mouse, navigate to the "Download" folder on your internal storage and select the boot.img file that you copied over then click Open
    10. Magisk Manager will take a few moments to patch the boot.img (pay attention to the message in the console about the path to the patched_boot.img - It should be "/storage/emulated/0/Download/patched_boot.img"
    11. On your PC, in the Command Prompt type:
      Code:
      adb pull /storage/emulated/0/Download/patched_boot.img

    F. Installing Magisk rooted SHIELD Experience Upgrade v7.2 on your SHIELD TV:
    1. On your PC, navigate to the folder where you extracted the NVIDIA SHIELD Experience Upgrade v7.2 Image
    2. Find the boot.img and rename it to boot.img.bak
    3. Rename the patched_boot.img to boot.img
    4. Open a Command Prompt and type:
      Code:
      adb reboot bootloader
    5. Once the SHIELD TV is in bootloader/fastboot mode, type:
      Code:
      flash-all.bat
      (It will take a few minutes for the flashing process to finish and then the SHIELD TV will automatically reboot to the OS)

    Optional Stuff and Additional Information:
    • Disable Auto-Upgrades by going to [Settings > Device > About > System upgrade > Auto-upgrade]
    • Enable Full OTA's instead of Partial/Differential by going to [Settings > Preferences > Developer options > Provide full system upgrades]
      (It is the very last option at the bottom and this is very important when using a rooted device and modifications to the System partition are likely)
    • If you want to upgrade to a new OTA update with root without waiting on NVIDIA to post the Developer/Recovery images, the downloaded OTA file is in
      Code:
      /data/data/com.nvidia.ota/app_download
      (You will need a root file explorer to be able to access this directory)
    • You can extract the boot.img from the OTA zip and patch it using the same method described in step E.5 through E.10
    • You can then install the OTA the normal way [Settings > Device > About > System upgrade > Check for upgrade]
      (Make sure you have copied the OTA zip or extracted the boot.img to somewhere on your Internal Storage like "/storage/emulated/0/Download" BEFORE you install the OTA because the system will delete the file in "/data/data/com.nvidia.ota/app_download" when it installs the update and you will be unable to get it after that)
    • Copy the patched_boot.img that you made with Magisk to your PC
    • Reboot to bootloader/fastboot mode with:
      Code:
      adb reboot bootloader
    • Manually flash just the Magisk Patched boot:
      Code:
      fastboot flash boot patched_boot.img
    • Manually reboot back to the OS with:
      Code:
      fastboot reboot
    8
    Hi guys, just want to add my 2 cents here...

    I recently bought a Shield TV, witch came with Shield Experience 8.0.0 (android 9 Pie) installed. Well, I can't live without root.
    So, when I realized that, for the moment, we can't root Pie, my option was to downgrade and root Shield Experience 7.2.3.
    First, I have to thank @ACiDxCHRiST for starting this thread and giving us a way to go. And I have to thank @mLgz0rn that gave me the light at the end of the tunnel on post #187 on this thread, when I was about to give up.

    After following @ACiDxCHRiST guide, I ended up, like many others, with a partial root, as I couldn't write to /system dir, and I wanted to get rid of some crappy system useless apps, so my quest continued.
    Digging on this topic, found about my villain, dm-verity, and after a sleepless night, thousands of flashing and bootlooping, and frustrating results, I found post #187 by @mLgz0rn, and started tests using his hint. After a while, and a few more flashes, I finally got my system 100% up and running, with Shield Experience 7.2.3 and full root access! (now I can sleep in peace).

    So, below is my "step-by-step" to accomplish this on my Shield. Just to state, I have a 2017 NVIDIA Shield with 16gb (Darcy), model P2897. This step-by-step starts with Shield TV on Pie, and goes until Oreo full rooted.
    It seems long, but it's really simple, I just detailed some things that gave me headache, so others can archive this more easily.

    Just want to share my results, as I was struggling with this, others might be in the same situation...

    01 - Install NVIDIA drivers on PC
    02 - Enable Developer Options
    03 - Enable USB Debugging
    04 - Connect USB on Shild USB port away from HDMI and on PC
    05 - Download "NVIDIA SHIELD TV 2017 Developer Only OS Image" (https://developer.nvidia.com/gameworksdownload - nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - 1.167.617 KB)
    06 - Unpack to a folder with ADB access
    07 - Open "Command Prompt" (I use Windows 10, and I'm openning "Command Prompt" with Admin Privileges)
    08 - Go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip
    09 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    10 - Plug your Shield Controller on USB port next to HDMI
    11 - Reboot in bootloader (run "adb reboot bootloader")
    12 - "Factory Data Reset" your device (last option on Fastbot Menu, should take a few minutes, won't take long)
    13 - Run "fastboot devices" to check connection to SHIELD
    14 - Install nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip (just run "flash-all.bat"), wait to reboot (always check on install progress to see if your installation finishes OK, after flashing vendor (this is the last file from .bat). Also, when rebooting this first boot on SHIELD 7.2.3 Developer OS, unplug Shield Controller and PC from USB. This will prevent from having issues with WIFI on system first setup)
    15 - Setup your device, and when ready, re-enable Developer Options and USB Debugging
    16 - Go back to "Command Prompt", and again go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip
    17 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    18 - Run "adb root" to get Superuser Privileges
    19 - Run "adb disable-verity" to disable AVB 2.0/dm-verity
    20 - Run "adb reboot" for changes to take effect
    21 - On PC, copy Magisk APK to ADB folder (where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - I'm using MagiskManager-v7.3.2.apk - https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445)
    22 - Go back to "Command Prompt", and again go to your ADB folder
    23 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    24 - Copy your boot image to SHIELD (run "adb push boot.img /storage/emulated/0/Download/") (It's already in this directory (the one from nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip, installed on step 14))
    25 - Install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")
    26 - Run "adb reboot" for changes to take effect
    27 - After reboot, open Magisk Manager. You'll need a mouse here, I'm using mouse from Shield TV Remote on my android mobile phone, works perfectly.
    28 - Make sure "Preserve ACB 2.0/dm-verity" is unchecked (it should be already unchecked, mine was)
    29 - Select "INSTALL"
    30 - Select "Select and Patch a File"
    31 - Navigate to your "Download" folder, and select your "boot.img" file (double click on it). Wait for patch to succeed.
    32 - Go back to "Command Prompt", and again go to your ADB folder
    33 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)
    34 - Grab your patched boot image ("magisk_patched.img") from Shield to your PC (Run "adb pull /storage/emulated/0/Download/magisk_patched.img")
    35 - Reboot in bootloader (run "adb reboot bootloader")
    36 - Run "fastboot devices" to check connection to SHIELD
    37 - Install patched boot image (Run "fastboot flash boot magisk_patched.img")
    38 - Reboot your device (Run "fastboot reboot")
    39 - Go back to "Command Prompt", and again go to your ADB folder
    40 - Re-install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")
    41 - Reboot your device again (Run "adb reboot")
    42 - After reboot, open Magisk Manager. It will prompt "Requires Additional Setup", click "yes" and system will auto reboot

    That's it, going to Magisk Manager again and you'll see you have it up and running, without "Preserve AVB 2.0/dm-verity" checked.
    First thing I've done after succeeding in this task was to install "3C All-in-One Toolbox" and use it to uninstall "System upgrade" (with a backup, to restore whenever I need, if needed), then I installed AdAway to prevent obtrusive Adds. Also, "Amazon Music" got sentenced to death. Others will follow this way after I get some sleep... :p

    After a sleepless night (lots of hours of trial and error), finally my Shield is working the way I want it to be. That was tricky.

    Hope it helps anyone, just posting it here because it gave me a hard time and I thought others could be in the same situation.
    5
    Oops, I thought I was clearer than this. Yes , I did "fastboot boot twrp-3.3.1-0-shieldtv-pie.img" and it does work. It's using your TWRP that I tried to install magisk. The recovery.txt also came from TWRP.

    Let me know if you have anything else to try.

    Give this zip a try.
    3
    When I type fastboot devices, I get a serial number and the word fastboot

    ---------- Post added at 08:27 PM ---------- Previous post was at 07:53 PM ----------



    So after I go through that process, the shield is "stuck" on, but just showing a black screen. If I reboot it by disconnecting the power, it shows the Nvidia logo for about 20 seconds, then goes to a black screen and I have no way of shutting the shield off except disconnecting the power supply. I remember reading something about starting Win10 with "Disable Driver Signature Enforcement" could help...any thoughts on that?

    Thanks!

    Try and go through the flashing process manually instead of using the .bat.

    Boot into the bootloader.
    Type
    Code:
    fastboot devices
    To make sure that the pc is connected to the shield.
    Should return alot of numbers.

    Make sure your cmd is in the folder where you shield images is locates.

    Then type each of these lines, wait for one to finish continue with the next
    Code:
    fastboot flash staging blob
    fastboot flash boot boot.img
    fastboot flash recovery recovery.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot reboot
    3
    rootfan! You , are a very clever man. Not sure how much effort it was on your part , but thanks to you I now have my Shield 2017 rooted once more! All I had to do was to grab the twrp-3.3.1-0-shieldtv-pie.img from your thread, and the magisk_shieldtv_pie_test.zip that you just posted. I guess it also installs magisk manager ? I already had the latest manager installed , so not sure if it was a pre-requisite.

    Copied magisk_shieldtv_pie_test.zip to root of my Shield
    adb reboot bootloader
    fastboot boot twrp-3.3.1-0-shieldtv-pie.img
    With a mouse :
    Install in TWRP
    select the magisk_shieldtv_pie_test.zip
    Reboot.
    Homepage turned black twice briefly with icons refreshing on screen, then all returned normal.
    Sixaxis controller now works and X-plore shows me the inside of the root folder :D

    From the about menu in my Shield :

    Model Number : P2897
    Version : 9
    Android Security Patch level : July 5 2019
    Kernel Version : 4.9.140-gd1d87e27b7a2-dirty
    #10 Thu Sept 5 16:05:52 MDT 2019
    Build : PPR1.180610.011.4086637_1604.6430
    Shield Android TV SW Version : 8.0.0(32.5.205.42)

    You made me very, very happy. Thank you so much rootfan.

    ---------- Post added at 08:40 PM ---------- Previous post was at 07:59 PM ----------

    Now how do I prevent my shield from ever updating again without my consent? Anything at root level I could do to make sure it can't ever happen?
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone