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.
 
I wonder why I can't get it to work. The guide is so simple and easy to follow. Copy reg text to text file, change .txt extension to .reg, double click reg file, say yes to prompt. Copy iastor.sys to windows\system32\drivers folder. Reboot change to AHCI mode, save and exit bios, blue screen!
 
Hello wonderwrench,

which content did you use for your reg-file?

Have you tried the code provided my monographix?

https://forum-en.msi.com/index.php?topic=106575.msg844741#msg844741
 
Jack the Newbie said:
Hello wonderwrench,

which content did you use for your reg-file?

Have you tried the code provided my monographix?

https://forum-en.msi.com/index.php?topic=106575.msg844741#msg844741

That did it! Using the correct reg-file worked. Things work better when you pay attention to what you are doing.
Could the original post be updated so the different reg-files for the different chipsets easily accessible? Giving monographix credit of course.

Some quick testing shows no performance gain by enabling AHCI mode. I did not think it would. Just wanted to see the outcome.
 
Phatkat said:
Hi i am using an AMD 780G mobo - how can i switch to AHCI mode? Thanks in advance to any help rendered  :agrees:

Hi,

You will probably be better off, asking in the AMD part of the forum....... :yes:

https://forum-en.msi.com/index.php?board=24.0  <--------Link to AMD Forum
 
sorry if you has answered that problem a lot of times yet, but its difficult to me understand that (and the English too  :-P) ).

I have the MSI P35 neo2-FR (ich9r) / e4400 / Win XP SP3. You can say me if the steps which I do are ok?

1- Make the .reg file as the first post explain.

2- Download last version of Intel Matrix Storage from http://downloadcenter.intel.com/Detail_Desc.aspx?agr=N&ProductID=2101&DwnldID=16012&strOSs=&OSFullName=&lang=spa . It download the file iata82_cd.exe but when I have to install it? now?

If I do it:
3- I suposse it crate the folder \Program Files\Intel\Intel Matrix Storage Manager\Driver . Then I can find the file iaStor.sys there, and I have to copy it to "Windows\System32\Drivers"

4- Reboot and select in bios AHCI mode.

Those are ok? I have to change anything y the reg file?

thankyou so much
 
Open Notepad.

Highlight and copy the text below.

For ICH9
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

Now, save as achi.reg

You have to register the files with the operating system, because you are changing the way the disks are read & written to.

If you follow the instructions on page one of this thread, it will take about 15 minutes to complete.
 
2- Download last version of Intel Matrix Storage from http://downloadcenter.intel.com/Detail_Desc.aspx?agr=N&ProductID=2101&DwnldID=16012&strOSs=&OSFullName=&lang=spa . It download the file iata82_cd.exe but when I have to install it? now?

If I do it:
3- I suposse it crate the folder \Program Files\Intel\Intel Matrix Storage Manager\Driver . Then I can find the file iaStor.sys there, and I have to copy it to "Windows\System32\Drivers"

You cannot simply execute iata82_cd.exe.  If you do that, it will give you an error message saying that your hardware is not supported (AHCI or RAID mode need to be enabled for the Intel Matrix Storage Manager to be able to be installed). What you have to do before you restart your system and switch to AHCI mode is to extract the actual driver files.  I explained that in my first post as well:


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 [or in your case: iata82_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.
 
yessss.. finally I could!. But following anothers steps: I get the "iaStor.sys" file from another forum and copied it to windows/...../drivers. Then I ran the reg file. Reboot and install iata82_cd.exe..

It worked good, my time boot is much faster than before:

IDE Mode:
windowsbootuptimeff5.jpg


AHCI Mode:
boottimerahciak3.jpg



Although the boot is quickly, it lose several seconds before the windows screen appear, just waiting something with a "dash" in the up left corner of the screen.
Cheking BIOS I found that option:
biosscreenahciqb0.jpg


what's the meaning of "AHCI CD/DVD boot time out"? Does this relate to what I said above?

Thankyou, that forum is really good
 
Sukhoi said:
yessss.. finally I could!. But following anothers steps: I get the "iaStor.sys" file from another forum and copied it to windows/...../drivers. Then I ran the reg file. Reboot and install iata82_cd.exe..

It worked good, my time boot is much faster than before:

IDE Mode:
windowsbootuptimeff5.jpg


AHCI Mode:
boottimerahciak3.jpg



Although the boot is quickly, it lose several seconds before the windows screen appear, just waiting something with a "dash" in the up left corner of the screen.
Cheking BIOS I found that option:
biosscreenahciqb0.jpg


what's the meaning of "AHCI CD/DVD boot time out"? Does this relate to what I said above?

Thankyou, that forum is really good

That's great news.

Leave the CD/DVD timeout........ :biggthumbsup:

The delay, is just the drivers loading for multi - read/write. Nothing to be worried about.
 
Well, first, thanks jack, you showed me the path O.O , and second, here?s the reg file needed for the ich10r (the driver is also included).

http://rapidshare.com/files/132943510/Ahci_on_Xp.rar.html


I?ve just tested and it works fine.


 
Has anyone successfully accomplished the switch for the P45 and ICH10R?

I just built a system with the P45 Neo 3 (MS-7514)

Getting the hot swap capability would make working with my data archive hard drives a lot easier.

Any help with the registry tweaks would be greatly appreciated
 
Hello OldMSguy,

the procedure is basically the same as for the other Intel Chipsets (see my first post).  The only difference should be a small variation within the reg-file you have to create. Unfortunately, I do not have the content for ICH10, but for ICH10R only.  I will provide you with the link to a ready-made reg-file that you can try. It may work for ICH10 as well, but I have no way to test it yet, as I do not have an ICH10-Board here:

Direct link to REG-File:  http://www.jzelectronic.de/jz2/Download2/ICH10R-AHCI.reg
Original Context: http://62.109.81.232/cgi-bin/sbb/sbb.cgi?&a=show&forum=1&show=7578&start=0#1
THX @ JZ

Content:

Windows Registry Editor Version 5.00

[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"="system32\\drivers\\iaStor.sys"
"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\Parameters\Port0]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port1]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port2]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port3]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port4]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port5]
"AN"=dword:00000000
"LPM"=dword:00000001
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000001

[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

If that does not work for ICH10 please say so.  Maybe we only have to change the vendor ID slightly.
 
Status
Not open for further replies.
Back
Top