Sunday 31 March 2013

Windows 8, Gigabyte and Hyper-V ... "oh the pain!"

A while back I posted about my (mis)adventures in trying out Windows 8 on my new SSD.  Well since then I've discovered even more woes relating to Hyper-V.

For the un-initiated, Hyper-V is a system built into the mainboard BIOS which makes it easier for operating systems (like Windows) to use the hardware for virtualisation (those interested can read more here).  It has previously been available in specific version of Windows server, but has made the move to the client side for Windows 8.

Now, the main reason for my 'kicking-and-screaming' move to Windows 8, is that it is the only platform which will support the new Windows phone 8 'virtual machine' within Visual Studio (Microsoft's development IDE), and it has to be the 64 bit version at that.  The virtual machine requires Hyper-V to be enabled.

So what's the problem?  Well, initially ... nothing (big let down for you there).  It installs OK and runs OK.  But then I came back to the workstation after leaving it in sleep mode.  <clickety-click> <whirrrrrr> drives spin up and ..... nothing?  Blank screen?  Monitor still in power save?  What gives?

Now I've had a similar situation to this before (work laptop, Intel SSD, ATA-lock and sleep mode, I'll come on to that in another post someday), so of course I did the usual.  Start with the small (video drivers up to date?), working my way up a bit (update the BIOS) and eventually that good old standby 'reinstall everything from scratch and see when it goes wrong'.

So eventually I get to the WinPhone 8 SDK, it installs, informs me that it has enabled Hyper-V services .... and lo-and-behold this is where the problems start.

"OK" thinks I, "there must be a fix for this".  Nope.  Nada.  The best result I could get close to was this post on TechNet.  Seems most people are fine ... except those of us with Gigabyte boards.  These boards simply will not play with sleep mode and Hyper-V enabled.  Disable it in the BIOS and all is fine again but .... then I can't do any WinPhone dev.  Defeating most of the point of my win 8 install in the first place.

Disable it and re-enable it when I need it?  Yeah OK, but that's a faff, plus it means I have to disable sleep modes too every time I turn it on otherwise I lose anything I had unsaved if the PC happens to go into sleep mode.  Hibernate works OK, but that's not much quicker than a full reboot anyway (and is in fact more or less the same thing as the much touted Windows 8 'fast boot').

Besides which, I feel cheated.  I mean, this is a fairly major flaw in a boards BIOS sureley?  The fact that the board is about three or four years old now doesn't fill me with hope for an update to fix it any time soon either.

Perhaps this is the reason I should use for a new mainboard ......