Windows XP AHCI and RAID FIX

From richud.com
Jump to navigation Jump to search


Getting AHCI working in XP

Please read the 0x0000007B stop error page for a description of the problem as it is to all intents and purposes the same. You will just need to use the below Registry file and .sys file instead.

Registry File

  • Save the registry file out (link at bottom of it) and just double click on it to import it, AFTER you have loaded the registry hives with RegeditPE. (_REMOTE_SYSTEM key is where regeditPE mounts them)
  • Check HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\Select\Current is DWORD 0x00000001 to make sure ControlSet001 is correct and if not search & replace in the registry file to change it (to say ControlSet002) if 'Current' DWORD value is 0x00000002

{{#fileanchor: _07b-AHCI-SATA-forPE.reg}}

REGEDIT4
;this is for Intel AHCI SATA controllers
;load into Regedit PE 0.9C from Hiren boot cd or equivalent
;controlset001 is what currentcontrolset is made from at boot unless its changed in [HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\Select\Current]
;"Windows Registry Editor Version 5.00 header", any REG_EXPAND_SZ and REG_MULTI_SZ data types are represented as Unicode, double-byte, characters. 
;"REGEDIT4" header, any REG_EXPAND_SZ and REG_MULTI_SZ data types are represented as single-byte characters. 
;This file can be regedit 4 or 5 as no longer bothering with REG_EXPAND_SZ and the ImagePath in hex(2), leaving it as StringValue instead which seems fine - in fact the path probably isnt needed anyway

;catchall to Intel AHCI devices if no others match
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&CC_0106]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;above Intel catchall above should capture everything iaStor so all cddb iaStor lines below here are not really needed
;Intel(R) ICH7R/DH SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_27C1]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH7M/MDH SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_27C5]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH8R/DH/DO SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_2821]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH8M-E/M SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_2829]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH9R/DO/DH SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_2922]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH9M-E/M SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_2929]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"


;Intel(R) ICH10D/DO SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_3A02]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH10R SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_3A22]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) 5 Series 4 Port SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_3B29]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) 5 Series 6 Port SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_3B2F]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) 5 Series/3400 Series SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_3B22]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_1C02]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

;Intel(R) Mobile Express Chipset SATA AHCI Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_1C03]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"


;Add driver for iaStor (requires iaStor.sys in \windows\system32\drivers\)
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\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"

[{{#filelink: _07b-AHCI-SATA-forPE.reg}} Download the entire .reg file HERE]

Getting RAID working in XP

As above...Intel RAID (aka 'fake RAID', outside of the Windows world) also has same issues with the same fix. It needs the same iaStor.sys copying too and the Service is the same. Note the only real difference is using a difference Class 4D36E97B-... instead of 4D36E96A-...

Registry File

Again, the same - this time use the below registry file and same iaStor.sys as above

{{#fileanchor: _07b-RAID-SATA-forPE.reg}}

REGEDIT4
;this is for Intel SATA RAID controllers
;load into Regedit PE 0.9C from Hiren boot cd or equivalent
;controlset001 is what currentcontrolset is made from at boot unless its changed in [HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\Select\Current]
;"Windows Registry Editor Version 5.00 header", any REG_EXPAND_SZ and REG_MULTI_SZ data types are represented as Unicode, double-byte, characters. 
;"REGEDIT4" header, any REG_EXPAND_SZ and REG_MULTI_SZ data types are represented as single-byte characters. 
;This file can be regedit 4 or 5 as no longer bothering with REG_EXPAND_SZ and the ImagePath in hex(2), leaving it as StringValue instead which seems fine - in fact the path probably isnt needed anyway

;catchall to Intel RAID devices if no others match
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&CC_0104]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"

;above Intel catchall above should capture everything iaStor so all cddb iaStor lines below here are not really needed
;Intel(R) ICH7R/DH SATA RAID Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_27C3]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"

;Intel(R) ICH7MDH SATA RAID Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_27C6]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"

;Intel(R) Desktop/Workstation/Server Express Chipset SATA RAID Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_2822]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"

;Intel(R) Mobile Express Chipset SATA RAID Controller
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#VEN_8086&DEV_282A]
"Service"="iaStor"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"


;Add driver for iaStor (requires iaStor.sys in \windows\system32\drivers\)
[HKEY_LOCAL_MACHINE\_REMOTE_SYSTEM\ControlSet001\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"

[{{#filelink: _07b-RAID-SATA-forPE.reg}} Download the entire .reg file HERE]