Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Thursday, June 10, 2010

Enabling AHCI/RAID mode after installing windows

Source
If you have installed Windows while your motherboard SATA controller was set to IDE mode, you can not switch back to AHCI/RAID mode, easily. If you do so, you can not boot in to windows and you will get BSOD for sure. The typical solution to this, Is to prepare a SATA AHCI/RAID driver diskette and do a reinstall of windows with F6 key procedure.
Ok, now you can enable AHCI/RAID mode (ICH5...ICH10) and avoid reinstalling of windows. Here it is:
1.Download http://www.mediafire.com/file/giammjdetjz/Intel_AHCI-RAID_Merge.zip
2.Be sure that the Bios settings for SATA ports is set to IDE mode.
3.Boot in to windows.
4.For AHCI mode, import "Intel_AHCI_Merge.reg" And for RAID mode, import "Intel_RAID_Merge.reg" in to the registry. Just import the one that is suitable for you.
5.Copy the Included "iaStor.sys" to "system32\drivers" directory. As of writing this, This is the latest(v8.9.0.1023) AHCI/RAID driver from Intel.
6.Reboot your system, go to Bios setup and enable AHCI or RAID mode for SATA Ports.
7.Boot to your windows and you are done.
Now Optionaly, You can download the latest Intel Matrix Storage Drivers form intel site and install/update the AHCI/RAID drivers.
Note that, Intel does not support pure ICH8/ICH9 chipsets that are set to AHCI mode, and does not provide AHCI drivers for those chipsets. Asus P5B Motherboards are examples that are affected by this situation. But with this package you can enable and use AHCI mode with pure ICH8/ICH9 chipsets that have AHCI support enabled through Motherboard Bios.

U
pdate (April 13 2010):
-Updated the driver to v9.6.0.1014
-Fixed an error in the reg files that could prevent the driver to operate on some systems.


For Vista and newer MS OS 
XP/2003 does not have native AHCI support!
modify the registry:
- Go to HKLM\System\CurrentControlSet\Services\Msahci
- Change the "Start" value to 0 (its 3 change it to 0)
- Reboot and go to BIOS immediately
- Set BIOS to AHCI


How to enable AHCI on Intel ICH9 under XP

After some research by MSFN staff, we have a working solution to enable ACHI on the ICH9 with appropriate SATA/NCQ drive(s).

For more information about AHCI, we refer to Wikipedia.org:
Quote
The Advanced Host Controller Interface (AHCI) is a hardware mechanism that allows software to communicate with Serial ATA (SATA) devices such as host bus adapters which are designed to offer features not offered by Parallel ATA (PATA) controllers besides higher speeds, such as hot-plugging and native command queuing. The specification details a system memory structure for computer hardware vendors in order to transfer data between system memory and the device.


List of needed files and driver packs:
32-bit Floppy Configuration Utility for Intel® Matrix Storage Manager
64-bit Floppy Configuration Utility for Intel® Matrix Storage Manager


Index:
1. Unpacking drivers
2. Preparing the drivers
3. Creating Windows registry file
4. BIOS Settings
5. Installing the drivers in Windows
6. Final installation check
7. Editors thoughts



1. Unpacking drivers

Unpack the Floppy Configuration Utility for Intel® Matrix Storage Manager and extract the file (.ZIP) with WinRAR or similar program.


2. Preparing the drivers

Copy the file IASTOR.SYS to the Windows SYSTEM32/DRIVERS directory. Open the IAAHCI.INF with Notepad from the directory where you unpacked the drivers. Use CRTL-R and you should get a “replace” window. In the first input window you type “2821” and the second “2923”, so you will replace all “2821” text to “2923”, and click “Replace All”. Save IAAHCI.INF over the original file.

Replace the line:
PCI\VEN_8086&DEV_2923&CC_0106.DeviceDesc = "Intel(R) 82801HR/HH/HO SATA AHCI Controller"
To:
PCI\VEN_8086&DEV_2923&CC_0106.DeviceDesc = "Intel(R) ICH9 SATA AHCI Controller"

Save the file under the same name, e.g. IAAHCI.INF and exit Notepad.


3. Creating Windows registry file

Now we create a registry file with Notepad and the following contence:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\
pci#ven_8086&dev_2923&cc_0106]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\iaStor.sys"
"tag"=dword:00000019
"DisplayName"="Intel AHCI Controller"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]

"queuePriorityEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]
"0"="PCI\\VEN_8086&DEV_2923&SUBSYS_B0051458&REV_02\\3&
13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001

Save it as AHCI_ICH9.REG and run it after closing Notepad.


4. BIOS Settings

Restart the computer and enter the BIOS (Mostly entered by pressing DEL). Make the settings:
SATA RAID/AHCI Mode       [AHCI]
  SATA Port0-3 Native Mode  [Enabled]

Restart again to boot into Windows XP.

For ASUS P5K motherboards (IF present in BIOS, please report if not present.):
Restart the computer and enter the BIOS (Mostly entered by pressing DEL). Make the settings:
SATA Configuration       [Enhanced]
     Configure SATA as  [AHCI]

Restart again to boot into Windows XP.


5. Installing the drivers in Windows

If you did steps one to four right, you will not get that “known” BSOD again before you hit the desktop! Windows will show new devices found like all your optical drives and hard disks until you hit to “PCI-Device”. Select “Install manual” and point to the folder where you saved the IAAHCI.INF file and select the IAAHCI.INF file as this is the driver that needs to be installed. Follow the instruction on the screen and restart your computer again.
6. Final installation check

When Windows has started, go to the control panel to check your system properties. In the hardware configuration list there should be now:
IDE ATA/ATAPI controllers -> Intel® ICH9 SATA AHCI Controller.

Beware: You can’t install the Intel Matrix Storage Manager, as the ICH9 doesn’t have RAID. On the net people talk about a modified version that should install, but it’s useless when you don’t have RAID.


We hope you enjoy your new ACHI enabled ICR9 Bridge in XP!

7. Editors thoughts

It must be a marketing question from Intel and Microsoft. There is nothing else I can think of why neither Intel nor Microsoft made new drivers for XP. The only thing I can think of is that Intel wants to sell more ICR9R bridges and Microsoft wants to push its Windows Vista. Like always both companies won’t make any comments!...

Regards,
puntoMX

Ps. if there is any good info I should add, please post it ;)...

Changes:
  • 23 DEC 2007, Edited point 4; ASUS BIOS settings.
  • 04 JAN 2008, Edited point 6; Fact, unable to install the Intel Matrix Storage Manager.
  • 07 FEB 2008, Edited point 1 and 2; Clearer explication about the IAAHCI.INF file, and option when a floppy drive is used.
  • 19 MAY 2008, Edited point 3; ControlSet001 changed on second line of registry file to CurrentControlSet, thanks toskipg for correcting me.
  • 10 AUG 2008, Post contents added to sticky FAQ, this post is now un-stickied and retired
  • 10 DEC 2008, Changed the Intel driver links, now for 32 and 64 bit and the latest version, thanks to an3k for the links.
  • 18 DEC 2008, Intel drivers are now packed as a .ZIP file, removed the outdated un-packing procedure, thanks to tre_ge.
-------
 And how sure are we that this actually enables AHCI support rather than just making Device Manager say it has the AHCI driver? Remember, according to Intel, the non-RAID ICH9 does not support AHCI.
-------
Page 2


USB floppy drives during Windows Server 2003 R2 setup


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 BIOSbefore 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.
This entry was written by DrNathan , posted on Monday March 09 2009at 11:03 am , filed under Quick Fix, Technology, Tips,Walk-throughs and tagged , , , , , , ,, , , , , , , , , , , , , ,  . Bookmark the permalink

No comments: