Friday, March 2, 2012

Enabling AHCI/RAID on Windows 8 after installation

UPDATE: MS has recently published a KB article on a simpler way to address this. Thanks to commenter Keymapper for the heads up!

Been playing around with Windows 8 Consumer Preview and Windows 8 Server recently. After installing, I needed to enable RAID mode (Intel ICH9R) on one of the machines that was incorrectly configured for legacy IDE mode (why is this the default BIOS setting Dell?). In Win7, you would just ensure that the Start value for the Intel AHCI/RAID driver is set to 0 in the registry, then flip the switch in the BIOS, and all's well. Under Win8 though, you still end up with the dreaded INACCESSIBLE_BOOT_DEVICE. The answer is simple enough: turns out they've added a new registry key underneath the driver you'll need to tweak: StartOverride. I just deleted the entire key, but if you're paranoid, you can probably just set the named value 0 to "0".

So, the full process:

- Enable the driver you need before changing the RAID mode setting in the BIOS:
(for Intel stuff, the driver name is usually iaStorV or iaStorSV, others may use storahci)
-- Delete the entire StartOverride key (or tweak the value) under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\(DriverNameHere)
- Reboot to BIOS setup
- Enable AHCI or RAID mode
- Profit!

Genius! Thanks so much for this! I'm using Win8 Enterprise RTM trying to make a SSD RAID1 (oh yeah - sweet) and was just about to reinstall. Then tried one more desperate google and up your blog popped.

Man you don't know how much heartache you've saved me. I have Windows 8 Pro and a Gigabyte Z77X-UD5H board with an mSATA SSD onboard. They have an application called EZ setup that needs to switch the boot to RAID to get Intel Smart response working, but it's written for Win7, It's probably switching the old value. So when I ran it my pc with over (16hrs of app install and config) went into a windows recovery loop. I set the bios back to AHCI which it was installed with and restart OK, then I did your trick, setting the value to 0 and got a clean restart.

Do you know if this is true if going from AHCI -> RAID? I enable AHCI by default, but I now need to enable RAID mode so I can use onboard RAID for a 3 drive RAID0 temporary setup to offload from a RAID 5 array on a dell PERC controller. Since RAID has AHCI already, wouldn't 8 (actually in my case 2012) already have the correct information and drivers? I understand going from IDE -> AHCI/RAID is one thing, but would this hold true for 2012/8 if going from AHCI -> RAID?

The registry edit doesn't always work because the ahci driver can go by many different names and you may have duplicates in your registry if you've for example installed updated ahci drivers that enter into the registry under a slightly different name. There is a much easier way than editing the registry, it's quite silly actually, all you need to do is set your Win8 to temporarily boot in safe mode on next boot, then restart and edit your bios to turn on ahci mode before booting into windows safe mode. Then Windows will boot into safe mode and automagically adapt to the ahci mode. Then set windows to boot normally next time, restart, and viola! Full instructions on this MS tech note: http://support.microsoft.com/kb/2751461

I am trying to go from AHCI to RAID on my Windows 8 machine. Following instructions from various sites, I've changed the StartOverride values to 0 as well as forcing the computer into safeboot like the Microsoft KB article says. After switching to RAID in the BIOS, I still get the error page at boot no matter what I try. I've been trying to figure this out for 2 days. I want to RAID a second SSD drive as my boot drive, but I don't want to reinstall everything because of all the 3rd party software activations that would be involved.

Went through this on my Lenovo servers with w12. After setting up the controller jbod and enabling all the drives I had to set the sata settings / advanced settings / sata and ssata to ide to get w12 to even see the drives to install. After install and having random performance and unable to get a single seawin (Seagate drive utility) to even pass a single test, I went in and changed the sata and ssata to ahci, save and exit, but also having to power down and power up and everything seems to be working just fine now. Still errors on the short and long drive write tests but work on everything else. perf is now stable

great! it worked and saved me a lot of further troubles! I had a raid 0 configuration on an acer r7, the acer support recommended to build a w8 recovery medium on a usb stick, restart, on booting enter the bios, switch from raid to ahci mode - start from the usb - stick and reinstall/recover the w8 installation including all drivers and apps preinstalled by acer.This did not work that smoothly - at first go the refreshing of the PC was denied/admission blocked - so I went on with further options - chose recovering original installation - after doing so there was some error massage, but I could refresh the PC then as administrator (this option had not been offered to me before) - afterwards w8 would not boot - switching back to raid mode w8 started - the system being installed on disk 0 (250 GB), disk 1 could be seen in windwow's disk manager, but indicated with the full size of the former raid 0 (500 GB instead of 250 GB). Of course it could not bei initialized.Only after setting the values in the windows registry as described above (in storeahci-override and storeV-override to 0) and then on reboot switching back to ahci mode in the bios did the job. The last steps were easy: opening window's diskmanager: making a volume and formatting the second disk which now appeares with the correct size.Thanks a lot!