Hyper-V virtual machines with “Missing” status

I’m currently running Hyper-V R2 on a machine with 24GB of memory at home. It hosts most of my test machines such as SCCM, SCOM, Exchange, etc. System Center Virtual Machine Manager 2008 R2 (VMM) is installed on a separate box to manage this Hyper-V Host.

Few days ago the Hyper-V machine was powered off unexpectly and when it powered back online, in VMM, the status of 2 virtual machines showed as “Missing”.

I checked the location where virtual machines are stored and without doubt, the vhd, xml and other files for each virtual machine are still there.

I Checked the Event Log and found a lot of Event ID 16310 events in Hyper-V-VMMS logs:

image

The virtual machine ID in above event belongs to my SCOM server, one of the “Missing” virtual machines.

I googled it and some people somewhere had similar issues and it was because the VM configuration XML file was missing the closing tag “</Configuration>” or there were few additional lines after “</Configuration>”.

In my case, the XML file looks perfectly fine, BUT there is an additional space(“ “) after </Configuration>:

image

After removing the additional space and restarted Hyper-V Virtual Machine Management service (net stop vmms && net start vmms), the status of my SCOM server is “Stopped” and I was able to successfully start it!

3 comments

  1. Thank you very much for this post. I had THE Same problem, for three VM’s 🙁
    After delting the space at the end of the XML files of each of the corresponding VM I only needed to restart the VM manager and the misssing VM’s popped up again.

    Thanks, never would have solved this on my own, I probably would have recreated the machines.

  2. Thanks so much!!! One of my VMs disappeared with the exact same error. And it was indeed that extra character at the end of XML, which made it malformatted.

  3. I had virtual machines missing from Hyper-V Manager. Not sure what caused the problem in my case, but it involved a reboot and a VM which was in OffCritical state after that as PowerShell’s Get-VM would show. All virtual machines with names alphabetically before the one in OffCritical would show up. All the others didn’t. I managed to Remove-VM -Name TheOneInOffCritical which resolved the problem apart from having to recreate only one VM for which the vhdx was still on disk just fine.

Leave a Reply

%d bloggers like this: