Troubleshoot a Broken Azure VM using Nested Virtualization in Azure (ARM)

Please note that 3rd party virtualization software(s) for Windows 2016 Nested Virtualization feature is not supported. Only Hyper-V is currently supported.

  1. Delete the Broken Virtual machine
  2. Create a new Recovery VM
    1. OS: Windows Server 2016 Datacenter
    2. Size: Any V3 series with at least 2 cores
    3. Same Location, Storage Account and Resource Group as the Broken VM
    4. Select to not use Managed Disks
  3. Once the Recovery VM is created select it in the Portal
  4. Select Disks
  5. Add Data Disk
  6. Select Source Type Existing Blob
  7. Browse to the location of the Broken VMs VHD
  8. Select the Broken VMs VHD and click OK
  9. Save the Changes
  10. Once the disk has successfully attached RDP to the Recovery VM
  11. In Server Manger select Manage -> Add Roles and Features
  12. For Installation Type select Role-based or feature-based installation
  13. Ensure the Recovery VM is selected
  14. Select the Hyper-V role
  15. Select Next on the Features Screen.
    1. If a Virtual Switch is available, select it and continue. Otherwise select Next and continue without a switch
  16. On the Migration Page select Next
  17. On the Default Stores Page select Next
  18. Check the box to restart the server automatically if required
  19. Select Install
  20. Allow the Server to install the Hyper-V role. This will take a few mins and the server will reboot automatically. You can monitor the reboot cycle using the Boot Diagnostics Tab in the Azure Portal
  21. Once the VM starts back up RDP back into it
  22. Open Disk Management and ensure the VHD of the Broken VM is set to Offline
  23. In Server Manger select the Hyper-V role
  24. Right click on the server and select the Hyper-V Manger
  25. In the Hyper-V manager right click on the Recovery VM and select New -> Virtual Machine
  26. Select Next
  27. Name the Virtual Machine and select Next
  28. Select Generation 1
  29. Leave the startup memory at 1024MB unless your VM requires more.
  30. If applicable select the Hyper-V Network Switch that was created. Else just move on to the next page
  31. Chose the option to Attach a Virtual Hard Disk Later
  32. Select Finish and the VM will be created
  33. Right click on the VM we just created and select Settings
  34. Select IDE Controller 0
  35. Select Hard Drive and click Add
  36. Under Physical Hard Disk select the VHD of the broken VM we attached to the Recovery VM
    1. If you do not see any disks listed it is because the VHD attached to the Recovery VM is set to Online. Refer back to step 22
  37. Select Apply and OK
  38. Double Click on the VM and Start it
  39. Depending on your scenario, apply any troubleshooting/ mitigations steps now that you have console access
  40. Once you get the VM back online shutdown the VM in the Hyper-V manager
  41. Go back to the Azure Portal
  42. Select the Recovery VM
  43. Select Disks
  44. Select Edit and remove the now fixed VHD from the Recovery VM and save the changes
  45. Proceed to rebuild the now fixed VM. Refer to How to Rebuild an Azure VM from an Existing Disk OS disk