Windows Server 2016 With Hyper-v Yellow exclamation on Microsoft Virtual Machine Bus #winserv #HyperV #Windows

Don’t you love it when you are running Hyper-v and you can adjust the VM en reboot your cluster and everything is redundant.

Well except the VM after a reboot of the VM it has a Yellow exclamation on Microsoft Virtual Machine

clip_image002 clip_image002[4]

So it seems the VM integration services is not there at all.  and the Update-VMVersion VMNAME –Force is not helping


So this seems like an old issue but it isn’t tried to delete the network keys in the register and no results.  BUT DON’T DO that !!


All my VM’s are running the latest patches could this be the issue ? recently there is KB3216755 which has some issues with DeDupe

Placed a snapshot back from before the updates and guess what Same issue eh.. so it is not the VM ? can it be the Hyper-v Server it self ? Patched this server before the VM’s a few days ago.  

image Ok my hyper-v server is not sleeping Winking smile

But checking the problem VM’s I see something unusual why is the VM sitting on his default memory. I use Dynamic memory and the startup memory is 512 MB yes it is low but still ?


Odd why <> well there is no network so basically the VM does nothing


changed it and this was working on 1 VM so still no solution.


the one that worked is delete the Network Adapter in the VM settings, Boot the VM <>shutdown.

Add the Nic’s and boot the VM and you are ready to go. 


Well you need to reconfig the network adapter again. but that are just a few Powershell Lines.

Hope this helps you solving your issue


Follow Me on Twitter @ClusterMVP

Follow My blog

Linkedin Profile Http://

Google Me :

Bing Me :


Windows Server 2016 with Hyper-v Integrations tools & configuration versions

Hyper-v vm’s are depending on the integration tools. And often the tools are not updated or in line with the Hyper-v Server. Or there are unsupported versions of VM’s So even if you think you are mastering Hyper-v with just tagging the checkbox or running a Powershell command.

Install-WindowsFeature –Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools –Restart

Well let me tell you that is where the Fun starts.

Take a look at the integration Versions you can easily see this in VMM but you can also see this quickly in PowerShell. and I’m not talking about the VMM Agent.


So is this windows only ? no as Microsoft is loving Linux there is also a Pack for Linux. With his own guidance 

Hyper-V Linux Integration Services (LIS)

Hyper-V Linux Integration Services, sometimes referred to simply as Hyper-V LIS, provides two types of components: drivers and services. The drivers play an important role in enhancing the performance of Linux virtual machines, and services are designed to perform a specific job.

Linux Integration Services Version 4.0 for Hyper-V

Current version: 4.0.11 Please refer to the Linux Virtual Machines on Hyper-V topics for up to date information on the LIS feature set, all supported Linux distributions, availability and download locations.

Download the ISO

Back to the Windows Versions as the Integration services differ there is also an option on  virtual machine configuration versions that are supported on a host. is this different than the IS yes as you can migrate a VM to and from a Hyper-v 2012R2 to a Hyper-v 2016 and back so the VM needs to know that.

Let us check the Integration Services Version (IS)

Get-VM | ft Name, IntegrationServicesVersion  – On a Hyper-v 2012R2


Get-VM | ft Name, IntegrationServicesVersion  – On a Hyper-v 2016


image VMM output

As you can see there is clearly a difference between Windows Server 2012R2 and 2016.

PowerShell Hyper-V Supported Version

But what about the Tag in the Hyper-v Console there is also a Version.


This is a Windows Server 2016 and as you can see two different versions is this Wrong ? No it isn’t.

Get-VMHostSupportedVersion will list the output below ( works only in Windows Server 2016 )


So there are Currently six different versions. With all the options why should I care setting this.

Well there are a couple of reasons why you should set this option. Make the latest Hyper-V features available on your virtual machines by upgrading the configuration version. Don’t do this until:

  • You upgrade your Hyper-V hosts to the latest version of Windows or Windows Server.
  • You upgrade the cluster functional level.
  • You’re sure that you won’t need to move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server.

And you you replicate from a Hyper-v 2016 Server to a Hyper-v 2012 Server for DR then make sure you don’t run in a higher version than 5.0

When you move or import a virtual machine to a computer that runs Hyper-V on Windows Server 2016 or Windows 10, the virtual machine’s configuration isn’t automatically updated. This means that you can move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server. But, this also means that you can’t use some of the new virtual machine features until you manually update the configuration version. You can’t downgrade the virtual machine configuration version after you’ve upgraded it.

The virtual machine configuration version represents the compatibility of the virtual machine’s configuration, saved state, and snapshot files with the version of Hyper-V. When you update the configuration version, you change the file structure that is used to store the virtual machines configuration and the checkpoint files. You also update the configuration version to the latest version supported by that Hyper-V host. Upgraded virtual machines use a new configuration file format, which is designed to increase the efficiency of reading and writing virtual machine configuration data. The upgrade also reduces the potential for data corruption in the event of a storage failure


So Creating a VM in Hyper-v 2016 Server it will always have version 7.1 when you create this in the GUI

But When using Powershell you can set the Version tag only then is the VM compatible with Hyper-v Server 2012

New-VM -Name “DemoVM17” -Version 5.0

When listing the VM Configurations you can see the difference. and easily see the 5.0 Version VM’s  config.XML

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx


But what if I want to upgrade the VM’s ? yes you can but only to the default level and PowerShell Only

Update-VMVersion “VM Name”


as you can see the DemoVm06 is already at the max level but when updating the DemoVM01 which has Version 5.0 it will be upgraded to Version 7.1 and the Config file will be transferred this can’t be undone!

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx


More about this

HAppY Vm

Follow Me on Twitter @ClusterMVP

Follow My blog

Linkedin Profile Http://

Google Me :

Bing Me :

Microsoft video monitor catastrophic failure or Failed to restore with Error ‘Catastrophic failure’ (0x8000FFFF)

Somehow the Hyper-v server Stopped Microsoft video monitor catastrophic failure or Failed to restore with Error ‘Catastrophic failure’ (0x8000FFFF)

A hyper-v server reboot did not solve the problem. the servers are hung on saved state. This hyper-v server is far from best practice and the cause of this is unknown shutdown during patching or installing some software updates. In my case I was upgrading the Windows server 2016 TP3 to windows server 2016 TP4 and I may rebooted the hyper-v server just to see if it is stable and to see what is happening. Well It broke my VM’s eh bring it in save state.

But can we fix this ? yes we can.


the servers are all in a saved state. When starting the servers we get this error : Microsoft video monitor catastrophic failure or Failed to restore with Error ‘Catastrophic failure’ (0x8000FFFF)


First an easy fix reboot the hyper- server. but this did not solve the issue.

An extra stop start of the vmms services

net stop vmms

net start vmms

no result.

there is a KB

To work around this issue, follow these steps:

  1. Start Command Prompt with elevated permissions, and then run the following command:
    Net stop vmms

    If it prompts, input yes to stop the Remote Desktop Virtualization Host Agent service.

  2. Open the configuration XML of the VM. Generally, the file is under the Virtual Machines folder of the VM.
  3. Find the VDEVVersion tag which has a value of 512. Reduce this value to 256, and then save the XML file.
  4. Start Command Prompt with elevated permissions, and then run the following command:
    Net start vmhostagent
  5. Try to start the VM again.


So basically the fix is easy edit the config files and save it an start the vm.


  <VDEVVersion type="integer">512</VDEVVersion>



  <VDEVVersion type="integer">256</VDEVVersion>



  <VDEVVersion type="integer">512</VDEVVersion>



  <Enabled type="bool">False</Enabled>

this fixed the issue but if you can loose the saved state and just start the VM again if may also help your issue.


So if you upgrade your VM’s don’t do a live migration or a Hyper-v server shutdown let the upgrade finish first and logon to the servers and see if all is working.


Happy clustering

Robert Smit


Technorati Tags: Windows,Server,Storage,Spaces,Direct,SOFS,setup

PowerShell Virtual Machine Replication Using Hyper-V Replica #cloud #scvmm #Microsoft

As we Created a VM in SCVMM and this VM is placed on a cluster I want to Replicate this to an other Hyper-v Cluster just for DR.

The Script can be found here Enable Replication VM for Hyper-v Cluster


First we set the Variables

# Variable
$SourceHV= "MVPTENANT001"

The fist stepes are just checking if you already have a VM that is replicated and if there are any errors.

# Replica info
Get-Command –Module Hyper-V *repl*

# get current status

#get repl server status settings
Get-VMReplication –ReplicaServerName $ReplHV

#get ReplicationHealth status
Get-VMReplication –ReplicationHealth Normal
Get-VMReplication –ReplicationHealth Warning

#get repl server
Get-VMReplicationServer $ReplHV
Get-VMReplication -ComputerName $SourceHV | Format-List *

(1..2) | % {get-VMReplicationServer –ComputerName MVPTENANT01$_} | Format-Table repenabled, authtype, intauth, certauth, anyserver, moninterval, monstarttime, computername




Now that we have checked that the Replication is Configured we can start creating the Replication

enable-VMReplication –VMname $DRVM –ReplicaServerName $ReplHV –ReplicaServerPort 80 -AuthenticationType Kerberos


when Checking the Replication Settings in the cluster we can see the replication is enabled. Now we can start the replication

#start init Replication
Start-VMInitialReplication –VMName $DRVM

to see if the replication is started we do some checking

#show status
Get-VMReplication | Format-List *


After the initial replication it will follow the default replication schedule.



As these are just simple steps you can expand this to a bigger volume.

Happy clustering

Robert Smit


Hyper-V Replica Essentials Book Review | Packt Publishing

I have recently read a new eBook on Hyper-V Replica named “Hyper-V Replica Essentials”, written by Vangel Krstevski. Vangel Krstevski is an IT prodigy, excelling in virtualization and network design. He is an expert in virtualization deployment and management.

So the book is a small edition about 100 Pages, on how to create the replication between Hyper-v Servers. But there is also some cluster explanation,  on file sharing and SMB. for starting with Hyper-v replica this is a great book to start with.

Hyper-V Replica Essentials

It is an easy to read book with all step by step instructions on how to install the base components for a Hyper-V Replica environment.

The covered Chapters are :

  • Introducing Hyper-V Replica.
  • Installing Failover Clustering with Server 2012 shared storage functionality  ( File Storage / SMB )
  • Configuring Hyper-V Replica.
  • Authentication Hyper-V Replica. ( nice SSL samples )
  • Administering Hyper-V Replica.

What I liked the most of this book is that not only the basics are covered but also the Hyper-v Replica Certificated based. Most books are skipping this, but here it shown in a nice step by step detail.

For those of you who would like to get started with Hyper-V 2012 Replica, I recommend reading this book. You can get your hands on a copy of the eBook (PDF, Kindle etc.) by going to Packt Publishing website: Hyper-V Replica Essentials


Some Copy from the Packt Website :


In Detail

Enterprises need to make sure that their systems are always up and running no matter what happens. Hyper-V Replica is a free disaster recovery tool in Hyper-V 3.0 that creates and maintains copies of virtual machines (VMs). In the event of a catastrophic loss, an administrator can failover to the replica VMs and provide business continuity.

Hyper-V Replica Essentials is a step by step guide to configuring Hyper-V Replica in various deployment scenarios. This book will give you an overview of Hyper-V Replica before taking you through the prerequisites required to properly configure Hyper-V Replica. Then, through a series of practical steps, this book will enable you to take advantage of this highly beneficial disaster recovery tool.

Hyper-V Replica Essentials starts by introducing you to Hyper-V Replica and will help you understand what it does and where you can apply it. We will then move onto learning how to configure a server environment with failover capabilities based on Microsoft Hyper-V and also how to use features including Live Storage Migration. Finally, you learn how to configure Hyper-V Replica authentication, and to troubleshoot problems with Hyper-V Replica as well as solving different types of problems.


A fast-paced, step-by-step guide to configuring Hyper-V Replica in various deployment scenarios.

Who this book is for

Hyper-V Replica Essentials is for Windows Server administrators who want to improve their system availability and speed up disaster recovery. You will need experience in Hyper-V deployment because Hyper-V Replica is built in the Hyper-V platform.