AHCI driver with Windows XP Embedded


  • Hi Guys,

    today i wanted to create an windows XP Embedded on an new hardware device.

    The hardwaredevice has the nvidia mcp7a-ion chipset on the mainboard.
    But there is no possiblity in the BIOS to set the SATA-Ports to an IDE compatible mode.
    There is only the SATA/RAID/AHCI mode available.

    I have tried to insert the SATA-Driver in the Target designer by imorting the SATA-inf-file in the component desinger.
    The Installation works fine with an normal windows PE and then i write the MBR with the mbrfix tool.
    After the restart, the pc boots again and again and he wont boot from the HDD.

    Has anyone of you integrated an SATA driver or an AHCI driver in an Windows XP Embedded, if yes what must i do to get an running system.
    Maybe some informations can help me to solve this problem.

    Thanks for your help

    Tuesday, March 19, 2013 5:52 PM

All replies

  • Ok so you imported the INF file for the ACHI driver:

    1. Did you include the driver as a file resource in the component and setup the rest of the necessary links for import into the database?

    2. Were you able to run TAP.EXE from WinPE to get a PMQ file? If so did you, import the PMQ file and did the import pull in the custom ACHI driver component? Just want to make sure the right driver / PnP is correct.

    -Sean / / Book Author - Pro Guide to WES 7, XP Embedded Advanced, Pro Guide to POS for .NET

    Tuesday, March 19, 2013 10:01 PM
  • Do you want to upgrade the driver on an existing target machine?


    Thursday, March 28, 2013 2:19 PM
  • Having the same issue here with new component. In a previous board (DH61DL), everything worked as expected, just imported the INF files from Inltel SATA/AHCI/RAID drivers (PCI VEN=8086. DEV=1C02, "Intel(R) Desktop/Workstation/Server Express Chipset SATA AHCI Controller"), setup file resources, repository, package, etc. and everything was smooth.

    Now a new motherboard (GigaByte GA-C847N), but same Intel driver, although different component (DEV=1E02 and 1E03, "Intel(R) 7 Series/C216 Chipset Family SATA AHCI Controller" and "Intel(R) 7 Series Chipset Family SATA AHCI Controller"), same procedure, but no boot at all, always BSOD showing characteristic STOP error pointing to iaStor.sys.

    Looking around, I've found references to a registry ("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci") but none of my systems have this entry. In a former version of the same driver, there is a "include" in the iaAHCI.inf file referring to a "msAHCI.inf" and "msAHCI.sys", and no matter I have done, I could not find those.

    I had never find great utility on "tap.exe", maybe I don't know how to use it properly. Also, if the XP Pro install CD does not have appropriate drivers for AHCI, how would I install it on the target?

    Thanks in advance


    Tuesday, April 23, 2013 8:32 PM
  • Did you create a new component for the new device driver version that includes the new PnPIDs? If the PnPIDs don't line up the driver will not load. TAP.EXE can be used to help double check the component is correct. If you do an import of the PMQ file with the new driver component in the database, the import process should pick up the component. If it doesn't then there is something wrong. / / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    Wednesday, April 24, 2013 12:33 AM
  • Hi, Sean, thanks for your repply.

    Yes, PnPIDs are set up. Using the final image in a flash DOM, but in IDE mode, I have found that the DEV1E02 is assigned to "Standard Dual Channel PCI IDE Controller" instead of the new component, which I think is OK, as the board was started in IDE mode instead of AHCI.

    The strange part is that, when I try the install booting the board as AHCI, the BSOD points to iaStor.sys. Is it possible this file is the real problem? Or is this behaviour common when the component is not correctly configured?

    Intel drivers are (normally) quite easy to import, as the INF file imports all group membership, needed files, registry entries and resources (including the device PnP and service data information), including PnPIDs. All I have to do is to assemble all needed files in a folder, assign this folder to a new repository, assign this repository to all new imported components, and basically that's it. I use to have a general purpose XPe in a bootable USB flash drive to check the "unknown devices" PCI VEN and DEV numbers, to use this information to find the correct INF file to import to create new components.  It has been quite straightforward (for more difficult components, when the installer is an EXE file, I use that general purpose XPe image, which is EWF protected, to install the driver, monitoring directory tree and registry changes with some auxiliary programs, and this is OK, too).

    Thanks again


    Wednesday, April 24, 2013 1:53 PM
  • Are you sure you componentized the correct driver? Can you install Windows XP Pro on the system with the BIOS set to AHCI and then run TAP? / / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    Wednesday, April 24, 2013 9:44 PM
  • I will try that.  Meanwhile I tried to use this driver on a virtual machine using VirtualBox, and iaStor.sys also crashes during the install process... Even the driver recommended by this documentation page (note #22), which is a few versions older, still doesn't work

    Thanks again

    Thursday, April 25, 2013 1:45 PM
  • VirtualBox is not going to work. The installation must be done on real hardware.
    At this point, I would have to see what is going on. / / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    Thursday, April 25, 2013 4:25 PM
  • I'm running into a similar issue where I'm attempting to ultimately run WES 2009 on a machine (Intel QM57 chipset) where the SATA mode in the BIOS is set to AHCI.  I've tried installing Windows XP onto the machine while it was set to use AHCI, and I get the BSOD after the message "Setup is starting Windows".

    I'm able to start up a Windows Preinstall Environment on this machine with AHCI enabled, and run tap.exe.  The results, however, were unusual.  When tap.exe printed the devices that it discovered, it listed the SATA devices under an IDE section; I expected these to fall under AHCI.  The FBA image that was ultimately produced by performing the tap operation was unable to start on the machine with AHCI enabled (The Windows logo would appear, followed by a BSOD).

    I'll try installing Windows XP again, and provide AHCI drivers (if any are available) via the F6 option during startup.

    Tuesday, May 14, 2013 4:22 PM
  • Hi,

    any news in this case? did it get solved?


    John B.

    Monday, November 11, 2013 12:03 PM
  • I downloaded the following AHCI driver, and used, iaAHCI.inf, and iaStor.sys to create a component within Component Designer, which I then added to the Windows image via Target Designer:

    That solved the AHCI issue.

    - Jason

    • Proposed as answer by Rakshaka Monday, November 11, 2013 3:01 PM
    Monday, November 11, 2013 3:01 PM