Letting Hyper-V get some sleep
I blogged a few months ago about how activating Hyper-V on a laptop that is running Windows Server 2008 will disable all hibernation and sleep functionality. It seems that most people had not known this because I got quite a few comments on the post about it. The comments varied from simple complaints to the usual boring rants where the author used a dollar sign instead of the letter S when they wrote the word Microsoft.
I still stand by what I said about the reasoning for the decision to disable this functionality as it makes good sense, and frankly hibernation/sleep is something that I can live without because Hyper-V is so good. Basically, the functionality is disabled for 2 reasons:
- The percentage of people who run Windows Server 2008 on a laptop compared to those that run it on 'server' hardware is tiny.
- Nearly everyone who will be using Hyper-V will be using it on hardware that will never need to be put into hibernation/sleep (when was the last time you wanted to put one of the servers to sleep in your data centre?).
So, to make the best product possible the Hyper-V team devoted their time to getting a great product shipped that had the right features, was stable and reliable; without trying to cater for every possible scenario by cramming in features that a very small percentage of people would use. What we have today is hypervisor technology that is small, fast and rock solid; those facts to most people are more important that anything else.
However, it seems that some people still think that the above reasons are not valid, and that hibernation/sleep should be available. Well there is a way to get that functionality back without having to uninstall Hyper-V, however it is almost certainly not a supported method by Microsoft so you are on your own.
During system boot the file hvboot.sys loads, and it is this file that disables the hibernation/sleep functionality on laptops. So, by changing the following registry keys you can enable/disable the loading of this file. By doing this you'll get back the hibernation/sleep functionality, but at the cost of losing Hyper-V. Also, to make the change requires a system reboot which can be a pain.
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
Having Windows Server 2008 with Hyper-V on a laptop is a great combination, I myself have it on my company laptop. Perhaps the solution offered here can help out those people that have been previously frustrated with Hyper-V because of the lose of hibernation/sleep.
Comments
Anonymous
November 28, 2008
Just bought a new notebook with 8 GB of RAM specifically to run Hyper-V, and now I find these posts that rather ruin my plans. While I can understand Microsoft's reasoning that the market wanting Hyper-V on a laptop today is small, it certainly seems short-sighted to me. So anyone have any comments on using the VMware workstation product instead? So far that seems viable to run VMs on a laptop from what I hear.Anonymous
December 03, 2008
I also use hyper-v on my laptop that has 4GB of memory. I find it annoying that I have to shutdown my laptop each time I want to leave, especially if I need to leave in a hurry. And since Hyper-V is so useful for many people who debug drivers and applications, how can they not see the need to have it on a laptop? I find this annoying as well. Now, if you could provide us with some type of system where we could only stop hyper-v, then hibernate, (possibly "sleeping" the vms), that would at least reduce some of the time I need to spend on shutdown/restartAnonymous
December 05, 2008
I have tries VMware Hyper-V and Virtual PC, I liked Hyper-V the best, but VMware was quite good also. I'll be switching to it. Atleast it is nce to know that I don't hav to reinstall my OS, thanks for the information