How to enable sleep/standby on Windows Server 2012 Hyper V

I know it's possible because sleep works in HyperV under Windows 8.

edit: I know this is probably not "supported".


On the server version of Windows, you can't. Once the Hyper-V role loads, hibernate and sleep are disabled.

You can sleep on Windows 8 Hyper-V because it is "Client Hyper-V" in which sleep states remain enabled. (Windows IT Pro has a list of differences between Server and Client Hyper-V, and this appears among them.)

If you really need Hyper-V installed but still want to enable sleep/hibernate selectively, a workaround is available which will disable the Hyper-V role from loading. When it's not loaded, you can put the machine to sleep/hibernate it. You need to reboot after applying these registry keys.

Gain hibernation/sleep - lose Hyper-V:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hvboot]
"Start"=dword:00000003

Lose hibernation/sleep - gain Hyper-V:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hvboot]
"Start"=dword:00000000

There are a variety of features in Hyper-V that don't work when you sleep the host machine. Most of them, like SR-IOV networking, revolve around the use of an I/O MMU. Client (Windows 8) Hyper-V doesn't support an I/O MMU, so it can sleep.