To install XP on a SATA HDD using most common install CD's it's easiest to set a modern mainboard BIOS (or BIOS/UEFI) to be in IDE or Legacy mode beforehand instead of the default AHCI/SATA setting. This way the XP Setup will see the physical SATA HDD as if it was an older IDE type and have no problem copying files from XP install CD's which do not contain any SATA drivers.
If you do have the proper SATA hardware drivers needed for this type of XP install to be in SATA mode, you still would need an actual floppy to install them from during XP Setup the recommended way, which does work ideally if you've got it.
Without the NT floppy routine, using the vendor's Setup file, most of the time you can not install the SATA/AHCI drivers for XP after you have first installed XP in the default IDE/Legacy mode. The Device ID's are not the same in these two different modes.
There is a workaround, easier than it sounds.
You can manually add the SATA drivers in XP (after installing the OS wth the HDD in IDE/Legacy mode) easiest if you have a copy of the files that would be found on the hardware vendor's "F6 Setup Floppy" for that particular AHCI hardware.
These can often be found after unzipping the full XP drivers for that hardware. There will be a small folder (less than 1.44 mb) sometimes just labeled F6, it will contain the minimal SATA drivers needed on the floppy during the setup phase, and a TXTSETUP.OEM text file that would be used by the XP Setup routine if you actually had a floppy drive, USB or not. The XP Setup step where you have the chance to use an actual floppy to preinstall non-standard drivers for show-stopping devices was mainly intended for installations to SCSI drives originally.
Other times there may not be dedicated floppy provisions and you have to select the regular non-F6 SATA drivers for XP from where you have them unzipped to. They can also sometimes be considered RAID drivers even when you are not going to use RAID.
I copy these files to a new AHCIREG folder on the C: volume.
I copy my old instructions from how I did it last time using different hardware, this is an INSTRUCTIONS.TXT file which I add to the folder.
I copy the old AHCI.REG file that I used to modify the XP registry last time for different hardware, in the form of a text file, this adds AHCI.TXT to the folder.
I then modify these two text files to fit the current set of hardware.
INSTRUCTIONS.TXT is like a manual script, crafted from the previous one, using an open parenthesis on lines from earlier versions that are not executed in the current version. Basically documents which files to manually copy and install.
Here's one to add SiS drivers to a Dell, where my Instructions and REG file are derived from earlier Intel procedures:
Begin INSTRUCTIONS.TXT
add AHCI drivers in IDE mode then switch to sata mode
(this time ICH9 has already been installed in IDE mode
(this time there are no ICH9 drivers yet
(this time "7 Series/C216" chipset driver has already been installed in IDE mode
this time xp standard dual channel pci ide controller has already been installed in ATA mode
with xp successfully installed in IDE mode:
(try R173416.exe, for SATA on XP
(-this dell package fails, but before cancelling the install, it appears unzipped
(in c:\windows\temp\IIF
(-copy it and use it later
run SiS_SATA_A01_R198505.exe,
it unzips to the dell\drivers folder
copy SISAHCI & TXTSETUP.OEM from dell\drivers\R198505\FloppyImage\968\1184 to this "AHCIREG" folder
copy contents of dell\drivers\R198505\FloppyImage\968\1184\RAID\Winxp_2k to this "AHCIREG" folder
(copy contents of IIF\Winall\Driver\ to this "AHCIREG" folder
(-unzip the SATA drivers from ASUS
(copy contents of IRST_XP_VER11101006\Driver\Disk\32bit to this "AHCIREG" folder
(from the AHCI32_11_2_1006 folder:
(copy contents to this "AHCIREG" folder
(copy iaAHCI.inf & iaAHCI.cat, iastor.inf & iastor.cat to INF folder
(copy iastor.sys to c:\WINXP\SYSTEM32\drivers
copy sisraid4.inf & sysraid.cat to INF folder
copy sisraid4.sys to c:\WINXP\SYSTEM32\drivers
copy PROPERTY.dll to c:\WINXP\SYSTEM32
(in the INF folder, right click on iaAHCI.inf, hit INSTALL
(in the INF folder, right click on iastor.inf, hit INSTALL
in the AHCIREG folder, right click on sisraid4.inf, hit INSTALL
(copy iaAHCI.inf & iaAHCI.cat to INF folder
(copy ibexAHCI.inf & ibexAHCI.cat from c:\IPMx2\All\ to INF folder
(copy iaAHCI.inf & iaAHCI.cat FROM c:\WINDOWS\NLDRV\001\ to INF folder
(copy iastor.sys to c:\WINXP\SYSTEM32\drivers
(copy iastor.sys from c:\WINDOWS\NLDRV\001\ to c:\WINXP\SYSTEM32\drivers
(right click on iaAHCI.inf, hit INSTALL
(right click on ibexAHCI.inf, hit INSTALL
run this AHCI.REG
reboot and switch to SATA mode in bios,
then wizard will install the whole sata package in windows
End INSTRUCTIONS.TXT
Modify the Instructions to work with the current hardware then save it and follow it. You will basically be manually copying the drivers and any dependencies into the c:\windows\system32 folder & subfolders as needed for that hardware, copying the corresponding INF file(s) and associated CAT files to the regular INF folder, then manually installing the INF file from there.
Note that for this SiS AHCI chip there was a dependency on not only their .SYS driver to be in the regular drivers folder, but also the PROPERTIES.DLL to be in the regular folder with most DLLs. Dependencies like this will be seen in the text of the INF file, when there is a TXTSETUP.OEM file these dependencies will also be listed within, even though TXTSETUP.OEM is only for floppy usage.
Then there is my AHCI.TXT file which was modified to be completely specific for this Dell SIS AHCI hardware according to its Device ID(s), Service, .SYS driver, and DisplayName:
Begin AHCI.TXT
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\PCI#VEN_1039&DEV_1184]
"Service"="sisraid4"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\PCI#VEN_1039&DEV_1185]
"Service"="sisraid4"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\sisraid4]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\sisraid4.sys"
"tag"=dword:00000019
"DisplayName"="SiS 1185 AHCI Controller"
End AHCI.TXT
You customize the AHCI.TXT for your exact machine, save a copy, then save another copy renaming it as AHCI.REG.
The needed AHCI Device ID's are in the matching AHCI INF (which will be similar but not exactly the same as the IDE-mode Device ID when the same hardware is installed in IDE mode)
So overall after placing a correct INF file in the regular folder, with all its dependencies in their proper folders you run your custom AHCI.REG file and it adds that exact SATA hardware and driver to the Critical Device Database in the Registry so it will load earlier in the bootup routine not much differently than it would if you had used the floppy during Setup.
Then you reboot to the BIOS Setup and change from IDE-mode to SATA/AHCI and you will get to the desktop.
From that point you can then run the vendor's full XP SATA driver install or update routine and it can add more features than the floppy alone would have done, since the device ID's will then match.
If the previous/default IDE drivers have not been removed, the partition should boot with BIOS in either SATA or IDE mode afterward.