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 ......

Tuesday 26 February 2013

Windows 8, AMD RAID and the BSOD

So there I was all proud of my new SSD drive and looking forward to doing my first install of Windows 8 enterprise edition.

Things started smoothly, got as far as the part where you actually get to start the install and ... poof!  there's a quick look at the nice new Win 8 BSOD screen and a reboot.

Hmmmm ... this isn't good thinks I.  After a bit of faffing I unplug my RAID setup and try that.  No dice.  Then I try switching the chipset to AHCI mode ... ah-ha!  This seems to have an effect.

Problem is, if I install like this, then switch back to RAID, I'm fairly sure I can just expect another BSOD.

Having had a look around the interwebs, it seems to be a common complaint amongst those of us using AMD SB8xx series chipsets in RAID mode. Current reasoning seems to be that MS for some reason put older drivers for these chipsets on the RTM of Win 8, whereas the preview editions worked fine.  Go figure.

Regardless, most solutions seemed to revolve around having to manipulate the install image using the MS provisioning tools, which seemed like a lot of faff, so I began a search for alternative means.

Eventually I found a newer version of the chipset driver from AMD, released just this January.  Grabbing this and extracting it to get the raw driver files, then loading the drivers at the correct point in the install seems to resolve the problem.  Much less hassle than changing WIM files and the like.

So here's how you do it

Download the new drivers

You can grab the drivers file from here.

Get the 'RAID Drivers' download (don't install it).  It was at version 13.1 when I did this, but later ones should work too.

Extract the files from the downloaded setup executable file.

I used 7-Zip for this, a great freeware utility you can find here, but you can use whatever works for you.

Unzip the file just like it was a regular ZIP file so that you can get to the files stored inside.

You will need to be able to access these files during the first stages of the install of Win 8, so they have to be somewhere accessible.

When I did this, I left them on my RAID drive which, if you are reading this, you probably also have and it should be available to you during the install. 

I think you might be able to put them on a USB thumb drive and use that but I don't know for sure if you'll be able to access that during the install.

Start the windows install

When you get the option, make sure you choose the 'Customise Install' option which takes you to the screen where you select which drive/partition to install windows on to.

Load the drivers

On that screen there should be a menu option under the list of drives to 'Load Drivers'.  Click this and navigate to the folder where you unzipped the files.  You should then navigate down the following path.

$_OUTDIR\Packages\Drivers\SBDrv

From there, select the folder appropriate to your chipset.  Mine is SB850 so I went into the SB8xx folder.  Then select the RAID folder.  You will then get a list of folders relating to the OS you are installing on:

LH
LH64A
W7
W8
W764A
W864A

From this I assumed that as I was installing the 64 bit version of Windows 8 I would need W864A.

Problem: These drivers are unsigned, and as such the install will not let me use them.

I ended up plumping for the Windows 7 64 bit drivers and hoping for the best.

Select the appropriate driver that is now displayed in the list of the dialog box (I only had one, YMMV) and click 'Next' or 'Finish' or whatever it is (I forget).

At this point I noticed all my RAID drives spin down and then back up again, presumably de to the re-loading of the newly selected driver.

You should then be back at the install screen.

Continue as normal

From this point on I continued the install and had no problems, everything seemed OK