Hyper-V 2008: Troubleshooting Event ID 3112 "The virtual machine could not be started because the hypervisor is not running."

Hyper-V 2008: Troubleshooting Event ID 3112 "The virtual machine could not be started because the hypervisor is not running."

Note: This article is based on Hyper-V 2.0, and might not apply to Hyper-V 3.0 (Server 2012)

This article builds upon the topic in the TechNet Library at: http://technet.microsoft.com/en-us/library/dd581879(WS.10).aspx

Applies To: Windows Server 2008

How to Resolve

Check Hyper-V status

The virtual machine could not be started because the hypervisor is not running. Check your BIOS settings and BCD store, then restart the physical computer.

NOTE: You might also have seen the following error message when attempting to start the virtual machine.

Hyper-V requires hardware support, including: an x64 CPU; VT (Intel) or AMD-V (AMD) hardware extensions; No eXecute (NX)/eXecute Disable (XD) and full BIOS support for hardware virtualization. Check your physical computer's BIOS settings to ensure that virtualization features are enabled, and then turn off the power to your physical computer. Restart the physical machine. NOTE: Restarting the physical computer is not sufficient.

To check if the computer meets the hardware requirements, use the appropriate utlity for your CPU manufacturer:

If the computer meets the requirements for Microsoft virtualization software, see the video titled Hypervisor is not running error: How to fix, which demonstrates how to change the system BIOS on a computer to enable support for virtualization (http://go.microsoft.com/fwlink/?LinkId=163578).

Also, check that Boot Configuration Data (BCD) store is set to start the hypervisor, and then restart your physical computer.

The BCD store contains boot configuration parameters and controls how the operating system is started in Windows Vista and Windows Server 2008 operating systems. These parameters were previously in the Boot.ini file (in BIOS-based operating systems) or in the nonvolatile RAM (NVRAM) entries (in Extensible Firmware Interface-based operating systems).

You can use the Bcdedit.exe command-line tool to update BCD store with the correct launch options as referenced in the error, and then restart the server. Bcdedit.exe is located in the \Windows\System32 directory by default.

NOTE: Administrator privileges are required to use bcdedit to modify the BCD store. Unless otherwise specified, bcdedit operates on the system store by default.

On PC/AT BIOS systems, the BCD store resides in the active partition's \boot folder. On EFI systems, the file is located on the EFI system partition (ESP) under \EFI\Microsoft\Boot.

Caution:  The BCD data store is a registry hive, but that hive should not be accessed with the registry API. Interaction with the underlying firmware occurs in the supported BCD interfaces. For this reason, BCD stores should be accessed only through the associated tools or WMI API. Incorrectly editing the registry might severely damage your system. Before making changes to the registry, you should back up any valued data.

For more information about the BCD Store, see How the Boot Configuration Data Store Works at  http://technet.microsoft.com/en-us/library/cc770770(WS.10).aspx

For more information about using Bcdedit.exe, see http://go.microsoft.com/fwlink/?LinkID=147513 

AMD "Bulldozer" Processor Special Case

If your server contains an AMD "Bulldozer" based CPU, you may also need to apply the Advanced Vector Extensions (AVX) hotfix supplied by Microsoft in addition to performing the steps above. If your configuration matches the scenarios listed in the the "Symptoms" section of the page, request that the hotfix be sent to you by clicking the "View and request hotfix downloads" link underneath the title of the article.

How to Verify

Start the virtual machine again.

Event Details

Product: Windows Operating System
ID: 3112
Source: Microsoft-Windows-Hyper-V-Worker
Version: 6.0
Symbolic Name: MSVML_WP_INIT_HYPERVISOR_NOT_RUNNING_ERROR
Message: The virtual machine could not be started because the hypervisor is not running. The following actions may help you resolve the problem:%r

1) Verify that the processor of the physical computer has a supported version of hardware-assisted virtualization.

2) Verify that hardware-assisted virtualization and hardware-assisted data execution protection are enabled in the BIOS of the physical computer. (If you edit the BIOS to enable either setting, you must turn off the power to the physical computer and then turn it back on. Restarting the physical computer is not sufficient.)

3) If you have made changes to the Boot Configuration Data store, review these changes to ensure that the hypervisor is configured to launch automatically.

 

The Dell Latitude E6400 and some Dell Optiplex machines appears to be a special case. Users of this computer have had good results with the information at: http://reidablog.blogspot.com/2008/06/with-correct-bios-settings-enabled-on.html

Related Information

Sort by: Published Date | Most Recent | Most Useful
Comments
  • Thanks for sharing

  • This is a FLAT-OUT *BUG*! Bottom line: MICROSOFT SHOULD *NOT* ALLOW Hyper-V to even be INSTALLED, if hardware virtualization is NOT enabled!

  • Great post, tonysoper!

    @TNJMAN

    Good point. I totally agree.

  • RE: what to do with BCDEDIT to make the hypervisor start:

    The article above says that we should use BCDEDIT to update the "correct launch options as referenced in the error."  However, I expanded the error message Details, and they don't provide info about what to do with BCDEDIT.  (I'm running Server 2008, R2).   I did, however, stumble across it elsewhere on the interent, and I believe it's:

    BCDEDIT /set hypervisorlaunchtype auto    

    See, for example, this thread:

    social.technet.microsoft.com/.../85b323a8-9233-49b9-bc38-e28e7a4222c6

  • Is there any alternative available if BIOS function is not supported.

  • Good point from JimlPeak

    i encountered a problem where i had to repair/reconstruct BCD like Benjamin said here blogs.msdn.com/.../hyper-v-virtual-machines-do-not-start-after-using-startup-repair.aspx

    the command

    bcdedit /set hypervisorlaunchtype auto

    should be mentioned in this article.

    By the way thanks for this post :)

Page 1 of 1 (6 items)