Storage configuration tips

When I installed Windows 7 on this new computer, I forgot to check the SATA setting in BIOS and ended up doing the fresh install with it set to IDE. Simply going into the BIOS and changing it to AHCI or RAID didn't work (Windows wouldn't boot). So after lots of searching and reading through forum posts, this is what I found.

In order to minimize boot time, if the initial Windows hardware detection doesn't detect an adapter, it will set undetected adapter types to not start. That means, when you later attempt to flip the SATA adapter from IDE to AHCI, Windows won't have an available driver to load the next time you boot (and, as I said before, Windows won't boot).

I should point out a few things before we get started:

  • I did not want to reinstall the OS to accomplish any of this.
  • When I built the PC originally, I installed a pair of drives for the OS and a pair of drives for data (4 in total). That should explain where all these disks came from to allow the creation of RAID1 volumes, spares, etc.
  • While these steps worked for me, they may not work for you. They may even break things.
  • Proceed at your own risk (after backing up your data and ensuring you have media to re-install your OS if things go bad).

Migrating to AHCI

The goal here is to enable the AHCI driver that Windows setup disabled.

  • While in Windows, use Regedit to enable the AHCI driver
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
    Set the Start key to 0.
  • Reboot
  • Change BIOS SATA setting to AHCI
  • Start Windows

If you're happy with AHCI, you can stop here and stay with the native Windows AHCI support or you can install the Intel Matrix Storage Console software (with BIOS set to IDE, the Intel software won't install). I didn't benchmark at this point so I can't comment on which driver offers better performance. I did, however, install the Intel software because my goal was to get RAID working.

Migrating to RAID

The goal here is to enable RAID.

  • Install the Intel Matrix Storage Console.
  • Reboot (don't touch BIOS at this point).
  • While in Windows, use Regedit to enable the Intel RAID driver.
    User Reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV
    Set the Start key to 0.
  • Reboot
  • Change BIOS SATA setting to RAID
  • Start Windows

If everything went as it did for me, and you have sufficient hard disks attached to your system, you'll be able to create whatever RAID configuration you wish.

A few things I'll point out about RAID setup.

  • As stated above, my goal was to enable RAID without reinstalling Windows or doing a lot of data migration.
  • The creation of the first volume worked fine.
    - In the Actions menu of Intel's software, I selected Create RAID Volume from Existing Hard Drive (this preserves the existing data on the first disk you select and uses the second disk to create the mirror).
    - followed the wizard and everything worked as expected.
    - the migration to the second disk in the RAID1 mirror took a while, but ...
    - at this point I had a RAID1 volume called OSvolume where Windows is installed.
  • I used the same approach to create the second volume, but the end of the wizard resulted in, "Volume creation failed". (info).
  • Some forum posts said it wouldn't work if the, "encryption states", weren't in sync between the two drives. This didn't work in my case.
  • Some forum posts said if there wasn't sufficient space, the RAID information couldn't be written to the drive. This didn't work in my case either, but I did discover that Windows 7 includes functonality in Disk Management to Extend or Shrink an existing Windows volume. Cool.

The thing that worked in the end was switching my "DATA" drive from a Dynamic Disk to a Basic Disk. Once I did that, the Intel software allowed me to create the second RAID volume as expected. Unfortunately, while Windows allows you to convert a Basic Disk to a Dynamic Disk, it does not work the other way around (info). That just meant:

  • Create a Basic partition on the spare drive.
  • Format it.
  • Copy the data from the existing Dynamic disk to the freshly formatted Basic disk.
  • Verify the copy.
  • Initiate Create RAID Volume from Existing Hard Drive using the new Basic disk.

I hope this helps someone.