How to Enable Intel ICH RAID After Installing Windows Vista
An update to this post can be found here
On-board RAID controllers are becoming increasingly common, even among bargain-priced PCs. With that, many people are opting to install RAID-0 and RAID-1 configurations on their home PCs.
One thing that you need to keep an eye out for is making sure to enable the RAID or AHCI settings in the computer’s BIOS before you install Windows. Failing to do so can possibly cause a ton of headaches if you try to enable RAID after you have already completed your Windows installation.
I encountered these headaches while working on a new Dell XPS Core i7 box this weekend. The SATA chipset in the BIOS was set to IDE mode, and I failed to check it before letting the Windows preinstall do its thing. After configuring everything aside from the RAID-1 array my client wanted, I pulled the trigger in the BIOS. On the next boot, the 64-bit Vista installation gave me a BSOD upon restart. I tried rebooting the computer and came up with the same error each time Windows tried to load. I decided to switch the SATA configuration back to IDE mode, and the computer booted into Windows just fine. Clearly, the RAID configuration was the issue.
After Googling for a few minutes, I found a bunch of posts in forums and such asking about how to enable RAID after installing Windows. Most responses boiled down to, “Reinstall Windows.” There was no way I was about to repeat all of the work I just did, so I dug deeper.
The easiest solution that came to mind was to simply install the Intel Matrix Storage Manager software and then give RAID another try. For those of you not familiar, Intel does not offer a driver-only installation package for their ICH family of SATA controllers. Instead, you need to install the Matrix Storage Manager software in order to make things go. Any time I tried installing the software, I received an error stating that my hardware was not supported. That made plenty of sense as the RAID option was not yet enabled in the BIOS, but it left me with a chicken/egg problem: “How can I install the RAID software that requires a RAID controller when enabling the RAID controller causes Windows to crash every time?”
I decided to give the install a try in safe mode to no avail. Each time I booted in safe mode, the computer crashed when loading crcdisk.sys. I searched a bit more and found that this file was not actually the problem, but that the lack of a proper RAID driver in Windows was causing the issue. Back to square 1.
After a ton of research and forum scouring, I found an answer that seemed like it could work. I hoped it was the fix I was looking for as I did not want to reinstall Windows.
I think that the solution to this problem originated on experts-exchange.com, but I found it on another site. It goes as follows:
1) Download the Intel Matrix Storage Manager software and attempt to install it without RAID enabled.
2) before you click “OK” to close the error message dialog box when the installation fails, navigate to C:\Windows\Temp. Make a copy of the IIF2 folder, then close the installer – the installer will delete the IIF2 folder. Rename the copied folder “IIF2″ and start then locate the proper iastor.sys file under the WinAll folder contained within. This will differ based on whether your OS is 32 or 64-bit.
3) Copy iastor.sys to your C:Windows\System32\drivers\ directory
4) Copy the following text, paste it into notepad and save it as a .reg file, or download it directly:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_8086&DEV_2822&CC_0104]
"ClassGUID"="{4d36e97b-e325-11ce-bfc1-08002be10318}"
"Security"=hex:01,00,04,90,00,00,00,00,00,00,00,00,00,00,00,00,14,00,00,00,02,\
00,4c,00,03,00,00,00,00,00,14,00,ff,01,1f,00,01,01,00,00,00,00,00,05,12,00,\
00,00,00,00,18,00,ff,01,1f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,\
00,00,00,18,00,9f,01,12,00,01,02,00,00,00,00,00,05,20,00,00,00,21,02,00,00
"Service"="iaStor"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001]
"InfPath"="oem3.inf"
"InfSection"="iaStor_Inst_RAID"
"ProviderName"="Intel"
"DriverDateData"=hex:00,00,cd,7f,6a,14,c9,01
"DriverDate"="9-12-2008"
"DriverVersion"="8.6.0.1007"
"MatchingDeviceId"="pci\\ven_8086&dev_2822&cc_0104"
"DriverDesc"="Intel(R) ICH8R/ICH9R/ICH10R/DO SATA RAID Controller"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"Tag"=dword:00000019
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,61,00,53,00,74,00,6f,00,72,\
00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Intel RAID Controller"
"Group"="SCSI Miniport"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters]
"queuePriorityEnable"=dword:00000000
"BusType"=dword:00000008
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port0]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port1]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port2]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port3]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port4]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\iaStor\Parameters\Port5]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000
5) Double-click on the .reg file and click yes when asked if you want to merge the data into your registry.
6) Reboot the computer and change the SATA configuration in your BIOS to RAID – Windows should load without any issue.
7) Install the Intel Matrix Storage Manager software to complete the driver installation/configuration.
8 ) Celebrate the fact that you have now enabled RAID without having to reinstall Windows.
This process, as you might imagine, is exclusive to Intel ICH RAID controllers. The registry file seems to indicate that it will support ICH8R, ICH9R, and ICH10R chipsets. It worked fine for my ICH10R controller – I cannot say if it will work for future or older chipsets – your mileage may vary.
For other RAID chipsets, odds are you will be able to install the RAID drivers without a RAID controller present. For some reason Intel does not allow the drivers to be installed without the RAID controller present, hence the issues I was running into.
Hopefully this info will help someone else out there – I know that I was extremely grateful to have found a solution to the BSOD issue.
Colin,
It may well be that once you enabled RAID, your boot order was rearranged in your BIOS. Ensure that things look good there, and give it another go.
I have never had that issue personally when using this fix, but everyone’s mileage may vary. Provided you are using a retail copy of Windows, you should have no trouble running the Windows Boot Repair option from the Recovery console on your newly enabled RAID array. That should likely sort out any issues that remain if enabling RAID did not change your boot order after all.
Good luck!
Iam running a genuine retail copy fully updated
My machine boots fine if i set it back to IDE so it’s running from the single drive
Am i going to be safe to run the windows boot repair option from the windows cd once i enable the raid function ? ?
Many thanks for your speedy response BTW
Colin
Colin,
It may be that your BIOS reorganizes the boot order when you enable RAID. This happens all the time on my ASUS board, when I change from RAID to IDE mode or if I happen to add a drive to the system. For some reason the BIOS wants to change the entire boot order any time I make a change to my drives.
When you are in RAID mode, I presume you are still booting from a single drive, and that you are not attempting to create a new RAID volume with your main hard drive, correct? If so, using the Boot Repair option should cause no issues.
If you happen to be extremely worried and have a spare hard drive or a network share available, download a trial of Acronis Home and create a backup of your entire Windows install.
Hopefully this helps.
I am running an ASUS P5Q PRO and you were right it did change boot orders, but after telling it the correct one i still got the same error
I ran acronis and created a disc clone onto a spare HDD
After running the boot repair option from the DVD i could not boot at all from the system HDD in raid or as a single drive
I decided to recreate the raid mirror via the ICH10R controller and copy back to it after it had been recreated
All went well and raid installed OK in VISTA
After copying my cloned drive back to the raid mirror the intel software told me the cloned disk was part of a degraded array and i should install another disc to re-instate it
How weird is that
Why didn’t it tell me that about the original disc
( My original was created on a mirror raid in the first place)
One thing i did notice, was that the original drive, when i looked at it in disc management, showed 9Mb of unallocated space, which was never there before things went “tits up”
Anyway my machine is looking good at the Mo and i am really grateful for your help
Wow, looks like you had to jump through quite a few hoops! I’m glad your machine is up and running now.
Thank you very much for the solution!
I just got a new pc at office that had pre-installed Windows 7 (i just wanted the parts to build it from zero, but…) and i failed to check the RAID status before the system configuration. You just saved me from format :)
system configuration:
Motherboard: Assus P6t (Intel® X58/ ICH10R chipset)
Discs:
1 SSD – OS
2xSATA 500GB – Raid 1
May i repost on my blog with reference?
Christos,
Glad to be of help!
I would rather you didn’t repost the entire article, but if you were to give a synopsis of your problems and that you followed my directions to repair the problem, including a link, that would be great. Additionally, rather than using this manual method, I have put together an application that does it all for you here:
http://drnathan.teamhackaday.com/software/raidfix
Thanks very much for the solution. I followed your script and after correcting the boot drive order it worked flawlessly.
Thanks again.
[...] have written on this topic twice before, once when I first figured out how to fix this problem, and again when the drivers had been updated by Intel. Once again there are driver updates, so I [...]
[...] http://drnathan.teamhackaday.com/2009/03/09/how-to-enable-intel-ich-raid-after-installing-windows-vi... [...]