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.
 
Jack the Newbie said:
...
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.
...
NCQ can increase performance when using a multi user config (a file server for example) and multi user software. Please note that when using your pc as a desktop (single user), NCQ can actually cause a performance penalty due to overhead. The NCQ penalty differs per make and model of a hard drive, but most hard drives in a desktop config will perform a couple percents better when NCQ is disabled...
 
[quote author=Quadrifoglio Verde]
Please note that when using your pc as a desktop (single user), NCQ can actually cause a performance penalty due to overhead. The NCQ penalty differs per make and model of a hard drive, but most hard drives in a desktop config will perform a couple percents better when NCQ is disabled...[/quote]

That's right.
In fact, for an ordinary user, switching from IDE to AHCI-NCQ is not a good idea.
Also, to get full AHCI-NCQ support you'll need a native SATA II HDD.
IDE-AHCI-RAID0.gif
 
Advantages and disadvantages of AHCI and/or NCQ (although interesting to consider) did not really concern me here.  Someone has a reason to switch to AHCI and can't start Windows anymore?  The usual advice is "Reinstall Windows and integrate SATA AHCI drivers, can't be done any other way". The guide just tries to offer an alternative.

NCQ is not the only thing that requires the AHC Interface.

Here are a couple of other reasons:

-being able to install/use Intel Matrix Storage Mangager (requires AHCI or RAID mode to be installed properly)
-native hot plug capability
-staggered spin up to reduce power loads on machines with multiple drives

Further Reading:
- http://www.intel.com/technology/serialata/ahci.htm
- http://www.intel.com/design/chipsets/matrixstorage_sb.htm
- http://cnscenter.future.co.kr/resource/rsc-center/presentation/intel/spring2003/S03USDSIS19_OS.pdf
- http://www.seagate.com/content/docs/pdf/whitepaper/D2c_tech_paper_intc-stx_sata_ncq.pdf
- http://www.intel.com/support/chipsets/imst/sb/cs-012305.htm
- http://support.intel.com/support/chipsets/imst/


Whatever the reasons may be for someone to switch to AHCI mode after Windows XP is already installed, the above guide proposes a way to do it without having to reinstall Windows XP.  Whoever does not have a good reason to enable AHCI doesn't need a guide anyway.

Blazer said:
can someone confirm it works?

As I said, it tested it a couple of times on the P965 Platinum and the 975X Platinum PUE and it worked without problems so far.
 
I wasn't trying to disagree with you or your excellent guide. I just wanted to make people aware of the possible disadvantage of NCQ. Simply stated, for most desktop users NCQ is not worth enabling. Marketing is trying to make us believe otherwise...
 
I was aware of that.  And I am happy that you and RemusM made that point. Especially because until now I have not payed a lot of attention to actual benchmarks, technical backgrounds (and marketing).
 
Here is an article that shows comparisons of various drives with and without ACHI activated:
http://www.behardware.com/art/imprimer/624/
One of the more interesting findings in the article is that some drives that do not have NCQ (like most Western Digital drives) still get performance boosts from ACHI.

I also want to point out something that some people may not realize.
With the newer Intel Raid Controllers, when you create a Raid using the Intel Panel, ACHI is automatically activated.



 
I have tested with HDtach in all modes on my Maxtor-

SATA I in IDE/ENHANCED mode FORCE GEN I
Burst Speed:      121.6mb/s
Random Access:  19.5ms
CPU utilization:    2%
Average Read:    47.3mb/s

SATA II in IDE/ENHANCED mode Force GEN II
Burst Speed:      198.0mb/s
Random Access:  19.4ms
CPU utilization:    2%
Average Read:    57.9   

SATA II in AHCI mode Force GEN II
Burst Speed:      215.3mb/s
Random Access:  21.8ms
CPU utilization:    1%
Average Read:    59.0mb/s

Maxtor Diamond 80GB SATA II and 250GB SATA I = 150GB Logical RAID 0
Burst Speed : 320.9 mb/s
Average Read : 120.3 mb/s


Gaucho
 
Vaniireq said:
Here is an article that shows comparisons of various drives with and without ACHI activated:
http://www.behardware.com/art/imprimer/624/
After looking at the page, I must confess that the AHCI numbers are very tempting (specially for my Samsung drive) to make the switch, but is possible a rollback to the IDE mode in the case things doesn't work as expected ??
 
Viktor92, rolling back is as simple as changing the BIOS setting back to IDE. You don't need to explicitly remove the AHCI driver.
 
If I run the command  IATA621_CD.EXE -a -a it doesn't extract anything, simply run the setup program. Should I continue with the instalation, or should I extract the file in some way ??
 
As mentioned Western Digital drives do not have NCQ. (If there are any that do I am not aware of them) I think on some drives that have NCQ you can disable it via a jumper or utility program. Also some SATA II drives are defaulted to SATA I and you have to change a jumper to enable SATA II.



 
I have taken a look at the quoted German site in which I find a registry setup including "Raid". Is this correct??

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2822&cc_0104]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-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 RAID Controller"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]
"queuePriorityEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\oromVersion]
"MajorVersion"=dword:00000006
"MinorVersion"=dword:00000000
"HotfixNumber"=dword:00000000
"BuildNumber"=dword:000003fe

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


Anyone able to clarify??
 
@Victor92:

If I run the command  IATA621_CD.EXE -a -a it doesn't extract anything, simply run the setup program. Should I continue with the instalation, or should I extract the file in some way ??

The important part is that you make sure the iaStor.sys-File is in the \Windows\System32\Drivers\-Folder.  It should be in in \Program Files\Intel\Intel Matrix Storage Manager\Driver by now.  Using the "-a -a"-switch does not really result in an installation but only in an extraction of all the files.

@glenmorangie:

Yes, there is also a procedure for switching to RAID-mode.  It doesn't help you much though if you have Windows XP installed on a single drive. 


 
Status
Not open for further replies.
Back
Top