Problem:If you forgot to activate AHCI-mode in BIOS before you installed Windows XP SP2 on one of your SATA drives you will encounter a serious problem if you attempt to switch to AHCI-mode after the installation is already completed: Windows XP SP2 will not start properly anymore.
Why AHCI?AHCI stands for
Advanced
Host
Controller
Interface. One of the main reasons for switching to AHCI-mode is to take advantage of the NCQ-Feature of your SATA harddrive. NCQ (Native Command Queuing) allows ATA drives to accept more than one command at a time and dynamically reorder the commands for maximum efficiency. NCQ, when used in conjunction with a hard drive that supports NCQ, can increase storage performance on random workloads.
Solutions:There are basically two possible solution that do not involve a re-installation of the whole operating system.
1.] Solution #1 is the simpler one as it only involves a few mouse clicks in Device Manager.
Apache Thunder has posted a detailed guide with screenhots which can be found >>
here<<.
2.] In case Solution #1 fails, there is another way to do this (
Solution #2), which is somewhat more complicated as it involves a registry patch that has to be customized for the specific Intel Chipset used on the mainboard at hand. The guide that I am going to reproduce here was originally posted on a German Gigabyte forum by
JZ.
[
http://62.109.81.232/cgi-bin/sbb/sbb.cgi?&a=show&forum=1&show=450&start=0 ]
I figured it would probably not a bad idea to put up a thread about here as well.
I have successfully tested the whole thing on the following mainboards:
-P965 Platinum (ICH8R)
-P35 Platinum/Neo2-Series (ICH9R
-975X Platinum PowerUp Edition (ICH7DH)
First Step:Open Windows Notepad and create a
REG-file and name it as you like (example: AHCI.
reg)
Copy and paste the following lines into that
reg-file and save it (use the right content for your controller (ICH8R, ICH9R and ICH7DH)
ICH8RWindows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2821&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_2821&SUBSYS_B0051458&REV_02\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
ICH9R [THX @
monographix 
]
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2922&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_2922&SUBSYS_B0051458&REV_02\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
ICH10R
Windows Registry Editor Version 5.00
;
; Important: The File iastor.sys has to be present in the System32\Drivers folder.
;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3A22&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"=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
"Tag"=dword:00000019
"DisplayName"="Intel AHCI Controller"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]
"queuePriorityEnable"=dword:00000000
"BusType"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]
"0"="PCI\\VEN_8086&DEV_3A22&SUBSYS_B0051458&REV_01\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
Now double-click on your
reg-file to make the above changes to the Windows registry.
Do not restart your computer at this point.Second Step:Copy the
iaStor.sys-File into the \Windows\System32\Drivers\-Folder if it isn't in there already.
The file is part of the of the Intel Matrix Storage Manager-Packet (IATA621_CD.EXE) and can be retrieved manually:
\START\Run -->
IATA621_CD.EXE -a -aAfter entering this command the file should be in the following folder:
...\Program Files\Intel\Intel Matrix Storage Manager\Driver...and ready to be copied.
Third Step:Restart your computer, enter BIOS and switch to AHCI-mode.
Save, exit and load Windows XP which should now start properly, discover the SATA AHCI Controller and ask for a driver.
Abort the whole Windows-Driver-Installation procedure and run
IATA621_CD.EXE instead to take care of the installation.
Restart your system.
-----------
Done. Sugestions and corrections are very welcome.