HOW TO switch from IDE to AHCI mode without having to reinstall Win XP (GUIDE)

Status
Not open for further replies.

Jack the Newbie

New member
GENERAL OF THE ARMY
Joined
Nov 20, 2006
Messages
14,939
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)

ICH8R

Windows 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  :emot-tip-wink:]

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 -a

After 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.
 
Worked very good in my system P45Platinum with Samsung HD502IJ and boot a little bit  slowly but the programs run more faster than IDE, nice guide thx man
 
I'm looking to do this, but have an nvidia motherboard.  Has anybody have the correct .reg settings for the nvidia (nforce) AHCI/RAID controller instead of the intel one?
 
I have not came upon a reg file for NVIDIA Chipsets.  Reinstalling the OS will probably cost you less time than piecing a proper reg file together.
 
A bit back I decided to give ACHI a shot on my Win7 system. While things worked I really didn't see any real improvement so was wanting to switch back to SATA mode. To do this I had to change a single key in the registry, reboot into the bios and then switch that from SATA to ACHI and reboot into Win 7 which then installed the needed drivers.

Is it a simple thing ie just change the setting in the Bios from ACHI to SATA and rebooting into Win7 or do I need to make a change in the registry file to go back to SATA?
 
What board/chipset are you talking about?

AHCI is a native SATA Mode.  There is not necessarely a major performance difference between IDE/Legacy Mode and AHCI Mode. 
 
Hi! Awesome guide! :)

Do you know is it possible to switch from AHCI (or RAID non-member) to IDE without reinstalling, if Windows was installed in AHCI mode (using slipstreamed drivers)?
 
Right now I have Windows XP SP3 installed in RAID non-member mode, and switching to IDE causes BSOD :(.

IPjR7PtqWB.jpg
 
For ICH9M the correct registry file is

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2929&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_2929&SUBSYS_B0051458&REV_02\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001

--------------------
I tested in ACER Extensa 5230E and i've success.
Sorry for my English
 
I just registered so that I can thank Jack the Newbie for this most useful thread and to thank DJ Ramses and straddy for their suggestion to use an "alterlative method" that doesn't involve tinkering with the registry (thank god!). I personally ran into this problem when downgrading to Windows XP SP3 on an Acer Aspire 5735-6649 laptop. The Cd I used had the latest Intel SATA AHCI textmode drivers slipstreamed correctly into it, and yet still I would get that dreaded BSOD when I switched to AHCI mode in the BIOS when I tried to install Windows XP, so I had to use IDE mode. I tried the registry method after the install, but I guess since this laptop uses ICH9M, it didn't work.

Here are the instructions again so that others who keep getting the BSOD can get AHCI working on their computer running Windows XP (SP3 hopefully!):

* Extract the SATA AHCI drivers from IATAxxENU.exe by doing the following (xx is whatever the current version of that file is now. Mine was 89):
- copy IATAxxENU.exe to C:\
- go to Start > Run
- type the following in the box that appears then press enter:
  cmd
- now type this then press enter:
  cd..
- now type the following then press enter:
  IATAxxENU.exe -a -a
- Relax! nothing is getting installed! eventhough it looks like it. All that is happening is that the driver files are being copied to C:\Program Files\Intel\IntelStor or something similar
- remember this location as you will be needing it later
* Go to Device Manager > IDE ATA/ATAPI Controllers
* Right click on the first "Intel (some number like ICH9M) SATA IDE Controller" you find (the one that can't be disabled), then click "Update Driver..."
* Make a note of that ICHxx number as you will be needing it later. For example, like "ICH9M" mentioned above
* Now cancel the "search on the web" window, then select "Install from a list or specific location (Advanced)" then click next
* Now select the bottom choice "Don't Search. I will choose the driver to install" then click next
* Now uncheck the "Show compatible hardware" box, then click the "Have Disk..." button
* Now click browse and locate the folder with the drivers made earlier, find "iaAHCI" then click Open, then OK
* Now select the driver that most closely matches your controller number, in this example we will be using the one that has ICH9M then click ok
* You will be given a strong warning .... ignore it and click ok and continue
* Once windows is done it will ask you to reboot. So do that. BUT be ready to enter your computer's bios as soon as you reboot!
* Go to your BIOS and change your controller from IDE mode to AHCI. Save and exit.
* WOW! Windows didn't crash! Once windows finishes installing the correct controller it will ask for a restart and you reboot, you will be running AHCI in Windows XP! YEEEEEEEEEEEAAAAAAAAAAAHHHHHHHH!!!  :lol_anim:

And this is how I got AHCI working on an Acer Asperi 5735-6694 laptop. I know that this forum is for MSI motherboards, but my search for help on this subject on Google brought me to this thread so I hope that others who run into this problem will be able to benefit from it in the future .... well, at least until Windows XP becomes obsolete! hehehe. Again, many thanks to Jack the Newbie for this making this thread and to DJ Ramses and straddy for discovering the best method to solve this problem!  :biggthumbsup:
 
Hello

- Is out there maybe some similar registry edit for the P55 chipset?
- What actually is the sata chipset in P55 boards ? (is there no southbridge anymore? ICHXX ?)

Jack, maybe should add to the original guide-post the ICH9M reglines provided here as well? :)
 
warlocklw said:
Register here to say thanks. It works.

Thanks to Jack t.N.

Most thanks to higado2 because the steps solve my problem.

same here.. Thanks to Jack, DJ Ramses and Higado  :worship: 

The only difference is I am in dual boot config (XP SP2 main and Win 7). I was able to switch both to ACHI.. i.e. using exactly Higado's detailed method. I also have 3 partitions 1) XP 2) Win7 3) Data

It went like this:
Note: I have mobo drivers dvd with the AHCI driver in it. In the "Have Disk" portion, I selected the drivers from the dvd drive 
XP
-Login to XP, update according to Higado..
-Restart

Win7
-Reset the BIOS to IDE before login to Win7 (still in IDE mode at this time), otherwise win7 detects startup error and attempts to repair. In my case, I did this hoping WIn7 could switch to ACHI drivers automatically. It did not, so I swiched to IDE mode.
-Update the driver (same procedure)
Restart and finally, switch to ACHI mode

My mobo is Asus, anyway  :-P)
 
I have a Gigabyte P55A-UD3 which is a P55 chipset.. for me the following reg worked.

Thanks to Jack T. N. and any other contributors

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3b22&cc_0106]
"Service"="iaStor"
"ClassGUID"="{4d36e96a-e325-11ce-bfc1-08002be10318}"

[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 AHCI Controller"
"Group"="SCSI Miniport"

[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_3B22&SUBSYS_B0051458&REV_06\\3&13c0b0c5&0&FA"
"Count"=dword:00000001
"NextInstance"=dword:00000001
 
This method worked well for me on an Asus P6T Deluxe V2 mobo with the X58 chipset and an ICH10R hub.  Whoever (RemusM) wrote on this forum that the SIS Sandra file system benchmark showed slower results after switching to AHCI was correct, but, on the other hand, Win XP seems to just leap on the screen on a reboot and the logging output from my Java programs scrolls by on the console screen so fast that the characters are just a blur.  Before I could easily read the logging messages.  So, on the whole, I am very satisfied.

Many, many thanks and much appreciation to Jack t. N. for his exceptionally clear guide and all his hard work.
 
Hi, just registered to say thanks, so THANKS A LOT for this guide.  :biggthumbsup:

It worked with my asus p5q pro motherboard with ich10 chipset.

The reason I wanted to switch to ahci was because I bought a external hd drive with e-sata connectivity. Whatever I tried, it wouldn't work, until I tried ahci mode. Now it still doesn't work like an usb drive, meaning: when I plug it in and power it on, the external sata drive is not found by windows.

Also, a new problem occurred: my internal hd's now show up as removable drives, this is very annoying, is there way to tell windows those are fixed drives? Or should I change to ide again in my bios to fix this. It didn't solve my problem anyway, so might just as well do that.
 
Status
Not open for further replies.
Back
Top