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.
 
Quite a few poeple might not see this guide as they will likely read the first page first.

I took care of that.   :biggthumbsup: 

Now, both solutions are mentioned in the first post of this thread.  Solution #1 is now the one you just described. I included a direct link to your posting.   :emot-tip-wink:
 
Thanks. Glad I could help out. I would have suggested this awhile back. But I only just now upgraded to a mobo that had the AHCI option as my previous hardware had SATA, but didn't have RAID support or AHCI support. Thus I didn't have this issue back then.  :-P)

I like many before me forgot to enable AHCI before installing. I had done 3 reinstalls due to an unrelated issue I was having and the final install, I screwed up and forgot to enable AHCI. :-P)
 
I like many before me forgot to enable AHCI before installing. I had done 3 reinstalls due to an unrelated issue I was having and the final install, I screwed up and forgot to enable AHCI.

Yeah, I did the same thing a couple of times, too.
 
eduds said:
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)
same here.. Registered to say Thanks to Jack, DJ Ramses and Higado, Apache Thunder  :worship:

My dual boot setup similar to eduds on Asus Formula. I know this is an MSI Community but I wanted to let you know
about the following twist: if you get a BSOD  or cant boot try removing any old extra native IDE devices that are on an IDE-SATA adapter. :bonk:

I had an old extra DVD drive connected on SATA 5 via an IDE-SATA adapter card. It only appeared in Win 32 (not visible in Win7).
Got BSOD in XP at (Apache Thunder's) step "After that, repeat this for your secondary controller".
On POST it wouldnt detect HD as either IDE or AHCI and hence wouldnt boot.  I disconnected the adapter/DVD from the SATA port on the board and voila.. detected HD and boot into XP with AHCI!

Then onto Win7... changed bios back boot in IDE mode... replaced 1st IDE controller as per instructions... but this time I simply disabled the second controller rather than trying to replace it too.  Reboot with  AHCI worked like a charm.
Thanks again!  :emot-tip-wink:

 
Sorry if this is bringing an old thread up...for who is asking about Nvidia chipsets, the chipset allow activation of raid feature on certain hds and disabling it for other hds, so when I turned on raid for my hds, I just kept the windows hd raid disabled, and turned other hds raid on , no need to reinstall windows, add drivers, change registry or any other steps, just create the raid array,log on to windows and set up a new partition.....cheers
 
I am having problems in the system not seeing a esata drive and have been pointed here.
I am running window 7 x64 on a x48c mobo and have bios set to IDE control not AHCI would changing to ACHI address the problem of the system not seeing any esata drive. I have also been told it could be the lead so i will purchase another lead, and try that first. But is there a fix for win 7 x64 AHCI without reinstalling windows. At the moment my bios does not detect esata nor does windows i know the drives are OK as i have a docking station which they run fine with. I have the raid drivers loaded as i have been told there is some instruction in there that enables the esata to detect.
Thanks in advance.
Kevin
 
This thead is basically about Windows XP, not so much about Vista or Windows 7.  To switch to AHCI Mode without having to reinstall Windows 7, please follow these instructions: http://www.ithinkdiff.com/how-to-enable-ahci-in-windows-7-rc-after-installation/
 
How about if you have windows 7 x64 is there a process for changing from ide to ahci as i have been told this could be the answer for my esata not being detected?
thanks
Kevin
 
My netbook became irreversibly infected from a hotel's wi-fi where we were staying.
I elected to do a clean install of XP Pro. I had neither the recovery disks or a floppy disk drive.
XP would only install in "Compatibility" mode. Switching back to ACHI mode would crash Windows on reboot.
I don't think there's any real performance gain using ACHI over Compatibility mode unless you need hot swapping and NCQ.
But not being able to revert back to ACHI just "bugged" me.

I read through all five pages of this thread last night looking for a easy solution. Messing with the registry shouldn't be necessary.
Here is the Lenovo method that worked for me...this is for XP only


1. Power off the computer.

2. Power on the computer.

3. Enter the BIOS Setup Utility.

4. Set the SATA controller to "IDE" or "Compatibility" mode. 

5. Click Exit and Save.

6. Restart the computer.

7. Install Windows XP and Service Pack 3 (if you haven't already).

8. Download Intel Matrix Storage Manager Driver from the Web site and extract the driver to C:\DRIVERS\WIN\IMSM.

9. Go to C:\DRIVERS\WIN\IMSM\PREPARE, and double-click "install.cmd" file.

10. Power off and on the computer.

11. Enter the BIOS Setup Utility..

12. Set the SATA controller to ?AHCI? mode.

13. Click Exit and Save.

14. When the "found new hardware wizard" screen pops up (this can take a minute), select "Install from a list or specific location (Advanced)". Ensure that "Search for the best driver in these locations" is selected and deselect "Search removable media". Select "Include this location in the search", and then browse to the following directory C:\DRIVERS\WIN\IMSM and click Next button. The ?Completing the Found New Hardware Wizard? will appear.

Reboot the computer.
 
Messing with the registry shouldn't be necessary.
9. Go to C:\DRIVERS\WIN\IMSM\PREPARE, and double-click "install.cmd" file.

What do you think the .cmd script does?  It messes with the registry...  ;)

The only way to avoid that would be to use this method: https://forum-en.msi.com/index.php?topic=106575.msg1053907#msg1053907
 
What do you think the .cmd script does?  It messes with the registry...  Wink
The "install.cmd" is a Intel Matrix storage file that's included with the driver set. It's meant to be used.
But if you prefer to mess around creating your home made .reg files that may or may not work...go for it.

The only way to avoid that would be to use this method: https://forum-en.msi.com/index.php?topic=106575.msg1053907#msg1053907
Well with all due respect to Apache Thunder, I tried his method and got BSOD's. YMMV
For me, following Intel's protocol fixed the problem right the first time.



 
The "install.cmd" is a Intel Matrix storage file that's included with the driver set. It's meant to be used.
But if you prefer to mess around creating your home made .reg files that may or may not work...go for it.

I think you did not quite get the point.  When I created this guide in march 2007 there was not "install.cmd" file provided by Intel to help users with this kind of procedure.  When you say something like "messing around creating your home made .reg files", it seems to me that you do not really understand what this reg file actually does.  The content is not some piece of messy code to create a dirty workaround but a very precise piece of registry fix that will do exactly what it should when it is properly understood.  And again, the install.cmd routine does NOTHING ELSE, it just automates the procedure.  Of course, that is more comfortable (and thanks for pointing it out), but that does not make the "registry fix" a messy business at all.

 
c :confused2: :How to change from IDE to AHCI under WinXP 64 on a MSI x79 board? Can't seem to find the right AHCI  driver.... and how to hange the Reg?

-thanks :bonk: :biggthumbsdown:
 
Hello,

I had the BSOD at boot, and i can confirm this solution works on Windows Server 2008 R2 Datacenter with a P67A-GD65

Base configuration was AHCI and migrated to Intel RAID, i can now dynamicly increase the RAID (none to 0 to 5).

I think it should be pinned on other mother board type subforums too, since it does work on them too.

Best regards.

(Additional link, since this thread is for IDE to AHCI, we need to do the same thing to migrate from AHCI to Intel Raid, but the registry values to change are different, here's Microsoft official methods
http://support.microsoft.com/kb/922976#method1 i hope this will be usefull for future people that will get to this thread after searching for solution on google, this solution can be applied on any motherboard, the only conditions is that the storage controler should be from Intel)
 
Status
Not open for further replies.
Back
Top