Fix for "the VM is generalized" start-up error in Microsoft Azure

[error msg 'failed to start virtual machine']In the old Azure portal, you could simply stop a "Classic" Linux VM without doing waagent -deprovision+user, and then create a snapshot from it.
That snapshot could then be succesfully used to create new VM instances. But, as I found out the hard way, this does not work with Azure Linux VMs through the new portal / new style VMs.

So I ended up with a VM image that can only created un-bootable VMs, AND the template VM itself could not be started anymore because it was generalized. The well-known error "Failed to start virtual machine 'templateVM1'. Error: Operation 'start' is not allowed on VM 'templateVM1' since the VM is generalized." occurs when I try to start the VM.

Luckily, I found a simple way to bypass the "since the VM is generalized"  message.

1) go to the "Disks" page in the Azure Portal:

2) Click on the disk that is attached to the generalized VM.

3) Then click "Create Snapshot", and fill in the form:

4) After the snapshot is generated, go to the Disks page, and click "Add".

5) Fill in the "Create managed disk" form, and make sure to select your newly created Snapshot as Source:

6) After the new disk is created, click on it to see details. Then click the button "Create VM":

Microsoft Azure create VM from disk

7) Create the VM as you would normally do. Done! Digg StumbleUpon Facebook Technorati Fav reddit Google Bookmarks
| Viewed 8182 times
  1. Michael Merrell

    #1 by Michael Merrell - december 14, 2017 at 15:00

    This was a life-saver. Thank you for the clear instructions!
  2. Jamin Shanti

    #2 by Jamin Shanti - februari 7, 2018 at 18:47

  3. Scolo

    #3 by Scolo - februari 26, 2018 at 15:22

    Awesome, millions of lives saved :D
  4. Manjunath

    #4 by Manjunath - maart 5, 2018 at 17:39

    Thanks a lot :-)
  5. Cafebabe

    #5 by Cafebabe - maart 26, 2018 at 4:43

  6. Jason Timmins

    #6 by Jason Timmins - mei 31, 2018 at 15:16

    Great work! Thanks.
(will not be published)
Leave this field empty