Fix “missing” VM status in VMM

OK so here is a tricky problem with an easy fix.

Sometimes, in SC VMM 2012 some of my VMs are shown as “missing”. I cannot do anything to them using VMM. An easy fix is to fire up FCM (Failover Cluster Manager) and live migrate or quick migrate the VM (depending upon whether the VM is running or not). After that VMM will immediately refresh the VMs state to the correct one….stopped or running.





VM Additions not detected?

From time to time, I run into this issue with our Hyper-V environment. No matter how many times I upgrade the VM additions, SCVMM still is not able to detect it. It always ends up saying “not detected”.

VM additions problem

Eventually I noticed that one of the the 6 Hyper-V related services which are usually running on the VM was having some trouble – the heartbeat service. Hmmm…that makes sense!

HV services

If I tried to start this service, I got the following error:

Error 1083: The executable program that this service is configured to run in does not implement the service.


VM additions1

While doing some searching on the net, I found out the solution here !!THANK YOU!!

As mentioned by that guy, the two things I need to know are shown below:

VM additions2

So I open the registry and add vmicheartbeat to the bottom of this Multi-String entry, like this:

VM additions3

After I click OK and restart the VM, the heartbeat service starts without any problem (automatically). Just do a refresh in VMM and now I see the VM additions version number. Yeah baby!

Thanks a lot to Jeremy!

What is Driver Locked memory?

I noticed that one of my VMs (on Hyper-V 2012) was using a lot of RAM. Strangely, there was no application which was using that much RAM. It was using 14.2/16 GB RAM. At that time task manager showed this:


And this in the details tab:


Notice that Oracle was using only 1.8GB and that was the highest user. Even if I total everything, it still was nowhere near 14 GB used. What was using all that RAM?

Continue reading

Cloning a VM on Hyper-V without shutting it down

{note: this post is deprecated, it is now possible to do “live cloning” using VMM 2012 R2, See my newer post below}

Create clone of running VM using VMM

My OLD post:

If you use SC VMM’s own VM cloning functionality, you see two major problems:

  1. You have to shut down that VM, and
  2. The original VM gets destroyed.

Of course this is not acceptable if you are trying to create a dev VM out of a production VM.

Here is how you can clone a VM without these problems:

  1. Using VMM, create a checkpoint (snapshot) of that VM. Wait for the process to finish. This quieses the VHD, making it ready to be copied.
  2. Go the the HV server and copy the VHD to another location, say temp.
  3. Delete the VM’s snapshot, you do not need it anymore….and is a good practice to delete snaps ASAP.
  4. Create a new VM, leaving the NIC disconnected. I leave the NIC disconnected because when you boot this VM, there is a possibility that there will be an IP address conflict (not 100% sure about this, though)
  5. Copy the VHD sitting in temp to the directory which was created by the new VM creation process.
  6. Attach the VHD you just copied to the new VM
  7. Boot the VM and logon as local admin
  8. Run Sysprep from C:\Windows\System32\sysprep
  9. Check the “generalize” checkbox, choose reboot option (default)
  10. Change the IP the VM to something unique
  11. Add to domain, if needed.
  12. Done!



  • I am copying the VHD in temp instead of moving it so that I can create more clones. You can just move that VHD if you have no need for more clones.
  • Also, it is better to make a VMM template from the copied VHD. I did not have time to do it because people needed the VM like, yesterday Winking smile But now that that VM is ready for them, I am free to create a new VM from the VHD in temp, then use VMM to create a template. That syspreps automatically and creates a template in VMM’s library which then can be used to deploy new VM clones easily.

Troubleshooting Windows Remote (WinRM)

Here are a few commands which can be run to troubleshoot Windows Remote (WinRM) connectivity (These commands may need to be run on an elevated CMD):

This shows you which port and IP addresses WinRM is listening to:

winrm e winrm/config/listener

This checks if WinRM has some problem:

winmgmt  /salvagerepository

This shows you the configuration:

winrm get winrm/config


I ran these commands on my Hyper-V nodes and VMM server, while troubleshooting connectivity / permission related errors.