Monday, January 12, 2009

Home Server Software Install

So, if you read the first part about the hardware installation, you are probably thinking "Gee, this is too easy!  The software must install just as easily!"

I wish it had been so...

Before I booted at all, I attached the DVD drive to SATA port 0 and the "top" hard drive in the hard drive cage to SATA port 1.

The first thing I did when I booted the new server was to go into the bios and choose "Load Optimized Defaults."  This (obviously) did exactly as its name suggests, and set up the bios with a good baseline.  I went through a few of the bios screens and changed some relatively minor options, particularly in the "PC Health Status" section, turning on overtemp and fan failure alarms.  But other than that, I left the Optimized Defaults alone...

I put the DVD in the drive, and booted up.

Before Setup even had a chance to start, I got a message telling me that the SATA bus was in "Native IDE" mode, and asking if I would like to switch it to SATA AHCI mode... I figured "If the Bios is telling me that I should switch it, then I probably should..." and told it to go ahead and change the bus to AHCI mode.

The first stage of Windows Home Server setup worked fine... I was able to see the hard drive in the list, chose a "New Installation" and continued from there.  Setup formatted the disk, copied over a few files, and then rebooted into the standard Windows 2003 Text Mode Setup... and promptly Blue Screened.

Someone had warned me that this might happen in a comment to another blog post, so I wasn't too shocked.  I figured that I must need to load a mass storage driver with F6 during the Text Mode setup.

But I didn't have a floppy drive in this system...

An hour later I had scrounged a floppy drive, made a driver floppy from the motherboard's driver DVD, and was ready to try again...

I restarted the server, and it picked right back up into the text mode setup.  I hit F6 to load a driver, and inserted the disk... No luck.  I forgot to write down the exact message, but it essentially told me "That driver floppy is no good."

A trip to the store to get some brand new floppies, and try again.  No dice... same failure.

OK, now I'm starting to think that I've done something wrong... is there some part of the system that is incompatible with Win2K3 (and hence, Windows Home Server)?

Drop back and punt... I restored the Optimized Bios defaults again, and rebooted from the Home Server DVD... this time I chose NOT to change the Sata bus from "Native IDE" to "SATA."

Sure enough, the OS loaded completely!  Success!

But I was still a little bothered by the fact that I was running in a "crippled" mode... granted, I did not have a hot swap cage, so the chance of me wanting to hot swap my SATA drives was slim, but I figured someone else might want to, and since I was publicizing this process, I'd better figure out how to fix it.

My first attempt was to load the AHCI driver after Windows was loaded, and then change the motherboard to SATA mode.  I tried that (with both the drivers from the DVD and from the gigabyte web site) and that didn't work.

Then, as I was reading different articles, I realized that there was an earlier opportunity to load the Mass Storage Driver, during the first phase of setup... maybe I need to do it during BOTH phases for it to work correctly...

So I set the sata bus to AHCI mode (exclusively) and started the install from scratch.  I was able to sucessfully load the Mass Storage Driver during the first phase, but failed miserably in the second phase, just like I had earlier.  The disk was actually recognized this time, but no matter which driver I chose (and I tried them all) the text mode process still blue-screened almost immediatedly.

I slept on it.  I now knew it was possible to run Home Server on this hardware, but was the AHCI never going to work?

Over coffee the next morning, I was flipping through the motherboard's manual and realized that I had been reading the SATA controller's settings incorrectly... it mentioned that you could run most of the ports in SATA mode, but that ports 4 & 5 could be left in IDE mode.  Well that could solve a lot of problems!

It turns out that Port 4 is the port labeled Port2_4 on the motherboard, and port 5 is the eSATA port on the backplane.

So here's what I ended up doing... it worked for me, and it should work for you:

  1. Get rid of the floppy drive that you scrounged for... we can do this without that.
  2. Plug your system drive into SATA Port 4, and the DVD drive (if SATA) into any other SATA port. 
  3. Set the "OnChip SATA Type" setting in the "Integrated Peripherals" section of the BIOS to "Native IDE."  By doing this, all of the things plugged into the SATA ports (namely the System Drive and the DVD drive) will be in IDE mode, and recognized by Home Server setup automatically.

  4. Setup Home server as normal.
  5. Once setup is complete, install the network card drivers by inserting the motherboard's DVD into the drive, and loading it from there.
  6. Navigate to and download the updated driver package.  At the time of this posting, it is located here.  Extract the archive, and call the folder that you extract it to DRIVERROOT
  7. Reboot, and change the OnChip SATA Type to AHCI, but make sure that the port 4/5 type is set to "IDE".  This will enable AHCI, but anything plugged into SATA port 4 (your system drive) or port 5 (the eSATA port) will still be recognized as an IDE device.  This means that your System drive will still be recognized, but your DVD drive will not.

  8. When Home Server loads, it will detect a new "PCI Device."  Load the driver from DRIVERROOT\XP\SBDrv\RAID7xx\x86.  The DVD drive will be unavailable, so the drivers must be loaded from the extracted web archive.
  9. Reboot again, and this time, you can change the BIOS so that SATA ports 4 and 5 are set to "As SATA Type"

It's a bit of a convoluted process, but it works, and I didn't even need to dig out that floppy drive.  I don't know why I couldn't get the F6 Floppy option to work, but this is an acceptible work around in my mind.

Once I got the server installed and all of the drivers loaded for the motherboard, I shut it down one more time, and disconnected the DVD drive.  I hooked up all four hard drives and added them to the pool.  I need to either get a SATA power splitter or, more likely, an IDE DVD drive in order to be able to plug everything in at once.

So that's it!  I know it is long, but I hope it helps someone else...


  1. Man, I'm glad I found this! I'm actually waiting for a very similar system I ordered two days ago. Incredible! It also has a gigabyte motherboard and surely I would have had the same issue. Thanks a million! It would be cool to hear where you landed regarding power consumption?
    On a side note, isn't it ironic that MS is trying to release a consumer product for soccer mums and it ends up being hard core IT professionals lining up for it? I'm a software engineer coding video games myself :-)

  2. The better way to do this is to use nLite (freeware) to slipstream the textmode AHCI driver for your chipset (e.g. Intel ICH9R?). You can integrate all service packs and hotfixes while you're at it. Then Windows doesn't need you to press F6 and insert a floppy; it'll be included on your custom install CD.

    Oh, wait a sec: I don't know if you can use nLite (or vLite, for Vista) on WHS. Hmm...

  3. It would've been MUCH easier if you would've just slipstreamed the SATA AHCI drivers:

  4. Oh that sounds like one of those wonderful painfull installs that MS loves to provide.... As others have said, you should slipstream a copy of the install media with the correct drivers incase you need to 'recover' for a bad OS

  5. I have to say that this post was a life saver. I had been pulling my hair out trying to enable ahci. I can say confidently that slipstreaming WILL NOT always work with WHS as it is built on Server 2003 (not XP or Vista). My slipstreamed version contained all drivers and updates through Power Pack 3. The key that you stumbled upon was using port 2_4 in native ide for the OS volume while the others were set to sata. This enabled detection.