I just bought and installed a new motherboard, an Asus P5Q which features the new (as of 2009) ICH10 HDD controller.
When trying to install Windows XP, the installation-CD did not recognize any HDD, as I expected.
This happened because in the BIOS of the motherboard the ICH10-controller was set to use AHCI, and the installation-CD of Windows didn't have any driver for it.
I therefore changed in the BIOS the settings of the HDD-controller to use the IDE mode, and not anymore AHCI and after doing that the installation-CD recognized my HDD and I was able to install the OS.
BUT: I still wanted AHCI!
On one side because I wanted NCQ to be availabe and on the other side because the other OS I had installed in the same machine (Linux) was having some troubles enabling the DMA-mode for the HDDs when the controller was set to IDE.
So, I didn't want to have to change the BIOS settings to/from IDE/AHCI each time I chose to reboot into another OS.
The first thing I tried in order to make Windows XP use AHCI instead of IDE was to first activate in the BIOS the IDE-mode, boot Windows, download the Intel Matrix Storage (it contains the AHCI-drivers) and try to install it, but all it did was to tell me that my machine didn't satisfy the basic requirements for that installation :o( . Of course! Trying to boot Windows in AHCI-mode would result in the Blue Screen Of Death or in an automatic reboot!
I therefore searched the Internet to see if anybody had some alternative installation methods and the options I found were to
1) create a new Windows-installation-CD containing the drivers or
2) install the drivers manually fiddling around with the registry.
I definitely didn't want to spend 10 hours trying to burn a new installation-CD and I was scared of touching the registry as I've always been unlucky with this kind of stuff.
So, I tried to find a new way to install those AHCI-drivers and surprise, I found a very simple procedure that doesn't involve any editing of the registry nor other dangerous actions. Here is how I did it.
I DO NOT TAKE ANY RESPONSABILITY FOR YOUR ACTIONS WITH THIS GUIDE!!!
TAKE A BACKUP OF YOUR DATA BEFORE STARTING!!!
- FIRST OF ALL, check under "Start => Settings => Control Panel => System => System Restore", that the option Turn off system Restore on all drives is not active, and that the drive where your Windows resides is being monitored. This will allow to undo the changes by pressing F8 when Windows reboots, if anything goes wrong.
- If you are able to start up Windows and don't have AHCI enabled you probably have in your BIOS the IDE-mode enabled, right? If not, enable it and start up Windows as usual.
- Now start by downloading the drivers from the Intel homepage - they're called Intel Matrix Storage Manager and can be found here.
- Now that you have the drivers, e.g. in "C:\temp", create in there a new directory, e.g. "C:\temp\unpacked".
- Open up a MSDOS-shell and unpack the drivers into the new directory by using the "-A -P" flags, so in my case it would be...
iata82_enu.exe -A -PC:\temp\unpacked
- Where you unpacked the files you should now see that there are files called "IaStor.sys", "iastor.inf" and "iaAHCI.inf".
- Now, this probably is not needed and it won't do anything at all, but as I did it (while I was still experimenting) and everything is now working, you should do it as well - you never know: rightclick on "iaAHCI.inf" and choose "Install". Do the same with the "iastor.inf"-file. Nothing should happen - the system should act as if nothing has happened.
- Now the real fun starts: go to "Start => Settings => Control Panel => System => Hardware => Device Manager", search in the list for "IDE ATA/ATAPI controllers" and in there you should see a couple of entries including your IDE controllers - something like "Intel ICH10 family....serial ATA controller". It might be that you see two such entries.
- Select one of the "Intel ICH10 family....serial ATA controller"-entries, click with the right-mouse button and select "Update driver".
- Answer "No, not this time", then "Install from a list or specific location (Advanced)", then "Don't search. I will choose the driver to install.", then "Have a disk".
- A new window should appear asking you where the drivers are. Click on "Browse" and select the directory where the "IaStor.sys" & Co. were unpacked.
- You should now see a list (or at least 1 entry) of different AHCI-ICH-controllers including the one you have - if not, deselect the checkbox which makes the system list only the compatible drivers.
- Search for your ICH-controller. Have a look at the manual of your motherboard if you're not sure which one it is.
- Once you found & highlighted your AHCI-controller ("Intel(R) ICH10R SATA AHCI Controller" in my case), click on "Next". At this stage Windows a message box will pop up showing a warning about not being able to verify the compatibility of those drivers. Just smile and continue the installation.
- Now the system will install the drivers and it might take a looong time. Have a beer in the meanwhile as in my case I had to wait for about 20 minutes.
- Once the driver has been installed, go back the the device manager, select (if you have it) the second "Intel ICH10 family....serial ATA controller"-entry and do again exactly the same. In my case the installation of the driver finished this time immediately.
- After the drivers have been installed, reboot the machine, go into your BIOS, change the settings for your HDD-controller from "IDE" to "AHCI" and start up Windows again.
- If your Windows XP manages to boot then it means you did everything right - if the installation of the AHCI-drivers wouldn't have been successful your PC would now hang or reboot continously. If this happens go back to your BIOS, change AHCI back to IDE and boot Windows. If Windows still doesn't want to wake up, keep the key "F8" pressed at the very beginning when the OS boots to bring up a menu and choose the "Last good known configuration" to undo the changes described above.
- Not finished yet: once Windows is up you should see in the taskbar that something is being installed - you might get the bubbles saying that some new HDDs have been found. Additionally if you look in the Device Manager at the "IDE ATA/ATAPI controllers" you should see that all you have listed in there is just a "PCI device". Again, be patient and have one more beer.
- Again after ~10 to ~20 minutes Windows should tell you that it found new hardware, the AHCI-controller. Still wait until Windows asks you if you want to restart the PC.
- Accept to restart it and after the reboot everthing should be ready. Under "IDE ATA/ATAPI controllers" you should now see your AHCI controller ready.
p.s.: thanks Tony for you correction.
Additional informations by Alexander (thank you :) ):
I was not sure whether this would work, because in the manual of my motherboard (ASUS P5Q-VM) the Southbrigde Chip is just named as "ICH10" (without an additional "R" like ICH10R).
I searched for many hours to find a driver for the "ICH10", but then I just chose the driver for the "ICH10R" and it worked!
After having installed the "iaAHCI.inf", which lasts only a few seconds, I rebooted and immediately entered the BIOS by hitting the "Del"-Key.
At the BIOS I went to: "Main" --> "Storage Configuration" --> Configure SATA as --> change the option from "IDE" to "AHCI". Then "Save and Exit" BIOS.
Then Win XP booted normally, all HDD-drives were recognized again, and Windows stated that it needed a further reboot.
I confirmed and Win XP rebooted and now it all works!
When I now open the device manager, and open "IDE ATA/ATAPI-Controller" it shows:
"Intel(R) ICH10R SATA AHCI Controller"