Hyper-V Integration Components on Windows Server 2003 Guests Do Not Function Properly


Symptoms


After performing a Physical to Virtual machine migration on Windows 2003, you may experience the following problem when attempting to install the Hyper-V Integration Components:

  • The Integration Component installer reports that everything installed correctly
  • In Device Manager, the Hyper-V devices 'Data Exchange', 'Guest Shutdown', 'Heartbeat', 'Time Synchronization', and 'Volume Shadow Copy' do not appear under System Devices
  • In Device Manager, the 'Virtual Machine Bus' and/or 'Microsoft Emulated S3 Device Cap' devices appear with a yellow exclamation point, and their properties show error code 37.
  • Integration services like the mouse, NIC, and graphics do not function properly
  • When the guest boots, you see a warning that one or more services did not start correctly

Cause


This can occur when the Windows Driver Framework service did not install correctly.  To test if this is the case, open a command prompt on the guest and run:

sc query wdf01000

If its state is STOPPED, you are likely experiencing this issue.  If this service is RUNNING, your symptoms are the result of a different problem.

Resolution


There are two registry keys required for WDF to function correctly. 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Wdf01000

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\Root\LEGACY_WDF01000

Compare these keys to a working guest with Integration components installed.  If the keys are different or missing, this may be the problem.  Backup the current keys on the guest experiencing the problem, then export a copy of the keys from the known good system, and replace the ones on the failing guest with the known good set.  Reboot the VM, and open device manager.  THe Virtual Machine Bus should now be working and the other devices for Hyper-V should be detected.

 

More Information


Export of working keys from a test 2003 Hyper-V guest:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WDF01000]
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WDF01000\0000]
"Service"="Wdf01000"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="Wdf01000"
"Capabilities"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WDF01000\0000\LogConf]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WDF01000\0000\Control]
"ActiveService"="Wdf01000"

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"Tag"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,57,00,64,00,66,00,30,00,31,00,30,\
  00,30,00,30,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Wdf01000"
"Group"="WdfLoadGroup"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000\Security]
"Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,\
  00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
  00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
  05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
  20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,\
  00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,\
  00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,\
  00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,\
  01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000\Enum]
"0"="Root\\LEGACY_WDF01000\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000\Parameters]
"MajorVersion"=dword:00000001
"MinorVersion"=dword:00000007
"BuildNumber"=dword:00001771