I read the instructions and figured I'd try them out. I have an ABIT IX48 GT3 motherboard with an Intel Core2 Quad Q9650 cpu and 8Gb of DDR3 RAM installed; two each WD 1Tb drives partitioned into four partitions each. On drive #2 the first partition is XP Pro w/SP3, the second has XP Pro x64 w/SP2, the third has Win7 32-bit, and the fourth has Win7 64-bit. Multi-boot works excellently and I can boot to all four operating systems with no problems.
It is my understanding Win7 has AHCI support built in and does not require anything from the user to implement it.
After following your instructions and merging the created .REG file into both XP Pro and XP Pro x64 I rebooted, went into the BIOS and changed the settings to AHCI and rebooted.
The boot screen verified AHCI was selected and I selected XP Pro from the boot menu - got a BSOD; STOP: 0x0000007B (no drive detected). Hard reboot.
Selected XP Pro x64 and it started, desktop came up and Device Manager showed AHCI drivers. Rebooted.
Selected Win7 32-bit and got same BSOD. (What happened to built in support?) Hard reboot.
Selected Win7 64-bit and got same BSOD. (What happened to built in support?) Hard reboot.
Troubleshooting commenced. Decided to compare the .REG file you proposed with what was in my XP Pro x64 registry - following is what a .REG file would look like with the information I found:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2920]
"ClassGUID"={4D36E96A-E325-11CE-BFC1-08002BE10318}
"Service"="intelide"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2922&cc_0106]
"ClassGUID"={4D36E96A-E325-11CE-BFC1-08002BE10318}
"Service"="iastor"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2923&cc_0106]
"ClassGUID"={4D36E96A-E325-11CE-BFC1-08002BE10318}
"Service"="iastor"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2926]
"ClassGUID"={4D36E96A-E325-11CE-BFC1-08002BE10318}
"Service"="intelide"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor]
"DisplayName"="Intel AHCI Controller"
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"ImagePath"="system32\\drivers\\iaStor.sys"
"Start"=dword:00000000
"tag"=dword:00000019
"Type"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]
"0"="PCI\VEN_8086&DEV_2922&SUBSYS_B0051458&REV_02\3&13c0b0c5&0&FA"
"1"="PCI\VEN_8086&DEV_2922&SUBSYS_1107147B&REV_02\3&2411e6fe&0&FA"
"Count"=dword:00000002
"NextInstance"=dword:00000002
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]
"BusType"=dword:00000003
"queuePriorityEnable"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port0]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port1]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port2]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port3]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port4]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port5]
"AN"=dword:00000000
"DIPM"=dword:00000000
"GTF"=dword:00000000
"LPM"=dword:00000000
"LPMDSTATA"=dword:00000001
"LPMSTATA"=dword:00000000
I listed all of the above because of the hardware IDs for my system. A partial list of that list follows (note the use of _2920 and _2926 in the identifier):
============
RAID Devices
============
PCI\VEN_197B&DEV_2363&SUBSYS_F100147B&REV_02\4&2531C6B0&0&00E4
Name: Standard Dual Channel PCI IDE Controller
Hardware ID's:
PCI\VEN_197B&DEV_2363&SUBSYS_F100147B&REV_02
PCI\VEN_197B&DEV_2363&SUBSYS_F100147B
PCI\VEN_197B&DEV_2363&CC_010185
PCI\VEN_197B&DEV_2363&CC_0101
Compatible ID's:
PCI\VEN_197B&DEV_2363&REV_02
PCI\VEN_197B&DEV_2363
PCI\VEN_197B&CC_010185
PCI\VEN_197B&CC_0101
PCI\VEN_197B
PCI\CC_010185
PCI\CC_0101
PCI\VEN_8086&DEV_2920&SUBSYS_1107147B&REV_02\3&2411E6FE&0&FA
Name: Intel® ICH9R/DO/DH 4 port Serial ATA Storage Controller 1 - 2920
Hardware ID's:
PCI\VEN_8086&DEV_2920&SUBSYS_1107147B&REV_02
PCI\VEN_8086&DEV_2920&SUBSYS_1107147B
PCI\VEN_8086&DEV_2920&CC_01018F
PCI\VEN_8086&DEV_2920&CC_0101
Compatible ID's:
PCI\VEN_8086&DEV_2920&REV_02
PCI\VEN_8086&DEV_2920
PCI\VEN_8086&CC_01018F
PCI\VEN_8086&CC_0101
PCI\VEN_8086
PCI\CC_01018F
PCI\CC_0101
PCI\VEN_8086&DEV_2926&SUBSYS_1107147B&REV_02\3&2411E6FE&0&FD
Name: Intel® ICH9 Family 2 port Serial ATA Storage Controller 2 - 2926
Hardware ID's:
PCI\VEN_8086&DEV_2926&SUBSYS_1107147B&REV_02
PCI\VEN_8086&DEV_2926&SUBSYS_1107147B
PCI\VEN_8086&DEV_2926&CC_010185
PCI\VEN_8086&DEV_2926&CC_0101
Compatible ID's:
PCI\VEN_8086&DEV_2926&REV_02
PCI\VEN_8086&DEV_2926
PCI\VEN_8086&CC_010185
PCI\VEN_8086&CC_0101
PCI\VEN_8086
PCI\CC_010185
PCI\CC_0101
3 matching device(s) found.
I have not yet tried this new .REG file in XP Pro and I'm not sure about trying it with Win7 either version.
Before I do try it I would like a response/opinion as to its viability.
Thanks