Microsoft

 

 

Hello everyone, my name is John Clyburn and I am a Sr. consultant in MCS. I recently ran into an interesting problem with System Center Virtual Machine Manager 2019 and Hyper-V on Windows Server 2019 I think you may find interesting. The VM checkpoints showed up in the Hyper-V Manager window as VMs. 

 

I would like to share how I resolved it in hopes that this will save you some time if you ever run into it while troubleshooting.  

  

 

PROBLEM: 

A few days ago, I noticed that the VM Checkpoints were no longer under their specific VM but rather now showing up in the main Hyper-V manager as a separate entry with the VMs.  The environment is SCVMM 2019 and Windows 2019 with Hyper-V.  

 

If you attempt to start the real VM entry (Not the checkpoint entry) it starts. 

 

If you attempt to start the checkpoint VM entry it fails, the following error message: 

 

An error occurred while attempting to start the selected virtual machine(s). 

 

image001.png

 

Viewing the properties of the checkpoint’s VM entries in the Hyper-V manager window, you see the hard drives are pointing to the xxx.VHDX files. Viewing the real VM properties in the window you see the hard drives are pointing to the xxx.AVHDX 

 

Note I also noticed that most of the pairs (real VM and its checkpoint entry) had the above configuration. In a few cases, both VMs and checkpoint entries pointed to the same .VHDX file. Therefore, if the two entries are pointing to the same hard drive .VHDX files, (meaning there is no .AVHDX file) continue but skip the Merge the .AVHDX File section below. 

 

This is an example of what the Hyper-V manager windows looks like. JCT-CM16-01 and JCT-CM16-02 are the real VMs. The other two entries are checkpoints. 

 

image002.png

 

 

SOLUTION: 

 

Shutdown the VM and merge the checkpoint into the original parent virtual hard disk, delete the VMs from Hyper-V then create a new VM using the original VM VHDX files. 

 

Details: 

  1. Note steps 2 – 9 should be performed on the Hyper-V host not the SCVMM server. 
  2. If necessary, start the REAL VM and Record (Snipping Tool) the following settings from the VM: 
    1. Network settings 
    2. IP Number 
    3. All drives VHDX file path. 
    4. VM Generation 
    5. Etc. 
  3. Shutdown the VM. 
  4. Merge the .AVHDX File: 
    1. In the Hyper-V Management console, highlight the real VM and choose the Edit Disk option from the Actions menu. 
    2. Note this is the VM entry that points to the .AVHDX file. 
    3. On the Before you begin page, click Next. 
    4. On the Locate Virtual Hard Disk/Locate Disk page, in the Location box browse to the .AVHDX file: 
    5. <D:\VM_D\<SERVERNAME_xxxx.AVHDX> 
    6. Note start with the VM C drive .AVHDX file 
    7. Click Open. 
    8. Click Next. 
    9. On the Choose Action page, select: 
    10. Merge 
    11. Click Next. 
    12. On the Configure Disk page, select: 
    13. To the parent virtual hard disk 
    14. Click Next. 
    15. On the Summary page, click Finish. 
  5. After Successfully Completing Merge, Now the automatically created AVHDX file will be deleted. 
  6. If the VM has additional AVHDX files, repeat the steps above until all the AVHDX/VHDX files are merged with Parent VHDX. 
  7. At this point, both the VM and the VM checkpoint names still show up in the Hyper-V manager window. 
  8. Delete both VM entries from Hyper-V Manager. 
    1. Delete the real VM first, this is the one that points to the .AVHDX file. 
    2. Note we’ll have to delete the VM and re-create it but DO NOT DELETE IT using SCVMM.  SCVMM will delete all the files on the Hyper-V host and we do not want that. Delete the VM using Hyper-V manager. 
    3. In the Hyper-V manager console, right click the VM and select Delete. 
    4. Note this will leave the VMs folder and VHDX files in place. 
  9. Create a New VM 
    1. Create a new virtual machine with the default options the VM had before. 
    2. If the VM has multiple drives start with the C: drive. 
    3. Selecting to use an existing virtual disk on the hard disk screen. You should select the newly merged VHDX file. 
    4. Finish the creation of VM. 
    5. Edit the new VM and Add/attach the remaining drives. 
  10. Update SCVMM 
    1. In the VMM console, click on the Hyper-V host that manages the VM. 
    2. You will now see and entry for the real VM and all the checkpoint VMs. 
    3. Right click the Hyper-V host and select Refresh Virtual Machines 
    4. Right click the Hyper-V host again and select Refresh 
    5. Right click the VM and select Refresh. 
    6. Delete all the VM entry with the status of Missing. 
    7. Highlight the VMs with the status of Missing and click Delete. Don’t forget the checkpoint entries. 
    8. When prompted with the message One or more of the selected virtual machines are missing… click Yes. 
  11. Update the VM 
    1. Start the VM. 
    2. Set the VM IP address: 
    3. Note the original IP address may still be assigned/set on another adapter but it is hidden. This is the old adapter of the VM. If prompted to remove the absent adapter, select Yes. 
  12. Finish.  

 

And that’s it... The steps above were successful for me to resolve the checkpoints showing up in the Hyper-V Manager window as VMs.

 

 

 

 

 

2 Comments
Senior Member

It may advisable to caution readers at the start of step 8 to back up their VM's XML configuration file before deleting the VM in Hyper-V, as the reader may not be able to precisely recall all of the virtual hardware added to the VM or the customized settings on those peripherals.

Occasional Visitor

What do you mean by IP Number? I presume you mean IP Address, which if you expect people to record, should be IP Addesses (IPv4 and IPv6), and associated subnet masks, default gateway, and DNS  Server entries etc, but none of these should be required if the MAC address of each connected vNIC is the same in the new VM as the old VM. the VM UUID however will be new.

 

Why not simply attach the merged .vhdx and .avhdx files to the original VM?

 

Cheers