By Jeff Patterson

As a senior program manager in the Product Quality and Online (PQO) group at Microsoft, I cover multiple products, but my focus is on virtualization technologies—that is, Microsoft Hyper-V Server, System Center Virtual Machine Manager (SCVMM), Microsoft Application Virtualization (App-V), Microsoft Enterprise Desktop Virtualization (MED-V), and Windows Virtual PC. In my role, I work closely with the product teams on the top problems that are reported through Microsoft support, community forums, and other listening channels.

I produce a quarterly top-issue report for the product teams, and I wanted to share some common Hyper-V configuration problems that users are reporting, as well as the recommended resolutions. These problems would be useful to review for anyone planning a Hyper-V deployment or has Hyper-V running in production.

Antivirus Exclusions Not Configured

If antivirus software is installed on the Hyper-V server, and the real-time scanning component isn’t configured to exclude Hyper-V virtual machine (VM) files, you might experience multiple problems on the Hyper-V server. The most common problem is that the administrator opens the Hyper-V Manager console and finds that VMs are missing. Other symptoms are as follows:

  • VM performance problems
  • Creating or starting a VM fails with one of the following error messages:
    •  The requested operation cannot be performed on a file with a user-mapped section open. (0x800704C8)
    • VMName’ Microsoft Synthetic Ethernet Port (Instance ID{7E0DA81A-A7B4-4DFD-869F-37002C36D816}): Failed to Power On with Error 'The specified network resource or device is no longer available.' (0x80070037).
    • The I/O operation has been aborted because of either a thread exit or an application request. (0x800703E3)

To prevent these problems from occurring, configure the real-time scanning component within your antivirus software to exclude the following directories and files:

  • Default VM configuration directory (C:\ProgramData\Microsoft\Windows\Hyper-V)
  • Custom VM configuration directories
  • Default virtual hard disk (VHD) drive directory (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks)
  • Custom VHD drive directories
  • Snapshot directories
  • Vmms.exe (might need to be configured as process exclusions within the antivirus software)
  • Vmwp.exe (might need to be configured as process exclusions within the antivirus software)

The recommended Hyper-V antivirus exclusions, as well as known problems caused by antivirus software, are documented in the Microsoft article “Virtual machines are missing in the Hyper-V Manager Console or when you create or start a virtual machine, you receive one of the following error codes: ‘0x800704C8’, ‘0x80070037’ or ‘0x800703E3’” (support.microsoft.com/kb/961804).

Snapshots Fail to Merge Due to Lack of Disk Space

If snapshots fail to merge because of a lack of disk space (i.e., error 0x80070070), don’t delete the .avhd files (snapshot files). Deleting the .avhd files will result in data loss and cause the VM to fail to start. If you’re unable to free sufficient disk space on the volume that hosts the .vhd files, perform the following steps:

  1. Export the VM to a volume on the Hyper-V server that has sufficient disk space.
  2. Once the export finishes successfully, go to the Hyper-V Manager console and delete the VM that was exported.
  3. Import the VM from the new location. If the version of Hyper-V is earlier than Windows Server 2008 R2, turn on the VM and then shut it down to trigger the merge process at the new storage location.

For the complete list of best practices when using snapshots, please refer to the TechNet article "Hyper-V Virtual Machine Snapshots: FAQ” at technet.microsoft.com/en-us/library/dd560637(WS.10).aspx.

Integrations Components in the VM Not Up to Date

When a Hyper-V hotfix or update is installed on a server (Windows 2008 R2, Server 2008, or Microsoft Hyper-V Server), review the documentation associated with the hotfix to determine whether the hotfix requires that you update the integration components in the VM. You can also review the Hyper-V update list on TechNet to determine whether an update includes updated integration components.

  • Hyper-V Update List for Windows Server 2008: technet.microsoft.com/en-us/library/dd430893(WS.10).aspx?lc=1033
  • Hyper-V Update List for Windows Server 2008 R2: technet.microsoft.com/en-us/library/ff394763(WS.10).aspx

For an example of a problem that can occur with out-of-date integration components, see the

Microsoft article “The network connection is lost on a Hyper-V virtual machine” (support.microsoft.com/kb/2223005), which contains a Hyper-V hotfix that addresses a VM network connectivity problem. This hotfix requires that you update the integration components for Windows XP and Windows Server 2003 VMs. If the hotfix is installed on the Hyper-V server but the ICs aren’t updated in the VM, you might continue to experience the networking problem that was addressed by the hotfix.

To identify VMs that have out-of-date integration components, you can review the Microsoft-Windows-Hyper-V-Integration/Admin event log. If the VM has out-of-date integration components, the following event will be logged when the VM starts:

Log Name: Microsoft-Windows-Hyper-V-Integration-Admin

Source: Microsoft-Windows-Hyper-V-Integration

Event ID: 4010

Level: Warning

Description: Hyper-V Heartbeat connected to virtual machine 'vmname', but the version does not match the version expected by Hyper-V (Virtual machine ID A5C22E8D-5F58-4186-832F-E7C2AE0B4804). This is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.

The Event ID 4010 will be logged for every integration component service in the VM that isn’t up to date. as you see in Figure 1. You can also use the Hyper-V Best Practices Analyzer (BPA) or PowerShell scripts to determine which VMs have out-of-date integration components. See the Microsoft article “Hyper-V BPA for Windows Server 2008 R2 is now available” (support.microsoft.com/kb/977238) to learn how to obtain the Hyper-V BPA. The Hyper-V team has posted a PowerShell script to TechNet Script Repository at gallery.technet.microsoft.com/scriptcenter/251337c5-ab97-40b3-a888-80b68102d1d5.

Figure 1: Logging event ID 4010

The Refresh virtual machine configuration Option Wasn’t Used for Highly Available VMs

The Hyper-V Manager console isn’t cluster-aware, which means that configuration changes that are made to virtual networks or VMs in the Hyper-V Manager console must be replicated to the other cluster nodes by using the Refresh virtual machine configuration option in the Failover Cluster Manager console.

If the Refresh virtual machine configuration option isn’t used, the VM will either fail to migrate or the VM settings (e.g., VLAN ID) that were changed will be lost when the VM is migrated to another Hyper-V cluster node.To refresh the configuration of a VM, follow these steps:

  1. In the Failover Cluster Manager console, expand Services and Applications, then click the VM for which you want to refresh the configuration.
  2. In the Actions pane, scroll down, click More Actions, then click Refresh virtual machine configuration, as Figure 2 shows.
Figure 2: The Refresh virtual machine configuration option

On Windows Server 2008 R2, the Refresh virtual machine configuration option isn’t needed if you change VM settings using the Failover Cluster Manager console. To modify VM settings using the Failover Cluster Manager Console, follow these steps:

  1. In the Failover Cluster Manager console, expand Services and Applications, then click the VM that you want to modify.
  2. In the Actions pane, click Settings to change the VM settings.

Hyper-V Gotchas

For the complete list of common Hyper-V configuration problems, please refer to the TechNet Wiki article “Hyper-V: Gotchas” at social.technet.microsoft.com/wiki/contents/articles/hyper-v-gotchas.aspx. This list is updated quarterly as new problems are identified.