Monday, June 29, 2009

Sysprep and AHCI drivers

I've managed to get the AHCI drivers working with sysprep for XP. Sysprep can still be run in ATA mode, but will integrate the drivers for AHCI with no problem

Wednesday, June 24, 2009

Injecting AHCI drivers into an existing ATA XP install

Grabbed this excerpt from :

http://social.technet.microsoft.com/Forums/en-US/configmgrosd/thread/4fafcf94-0411-4e93-b404-c8d3a2595dc2

It works suprisingly well on my Optiplex 960. It doesn't seem to work if IAACHI.INF is used. Even though the driver is located there.

First download the SATA drivers from Dell. Download
Copy the file onto the computer somewhere like c:\dell\drivers\?

So you turn ATA support on in the BIOS for the SATA controller.
Boot into Safe Mode.
Open Device Manager.
Find the Primary IDE Channel device (there may be 3 listed, I picked the top one)
Right click - Update driver
"No at this time" - Next
"Install from a list or specific location" - Next
"Don't search. I will choose the driver to install" - Next
Click - Have Disk
Browse to the iaStor.inf file - Click Ok
Choose the "Intel(R) ICH10D/D0 SATA AHCI Controller" - Next
Install it.
Reboot
Go into the BIOS and enable the AHCI support for the Sata.
Reboot

Make your image from this box.

Thursday, June 11, 2009

Vista can autodetect and install both SATA ATA and AHCI

I installed a copy of Vista Business 64 bit edition. It installed a generic SATA AHCI controller. I installed the correct drivers afterwards. When I flipped the BIOS setting back to ATA there was no problem loading Vista.

XP ends up with a STOP x7B error when the BIOS setting is flipped from ATA to AHCI.

Wednesday, June 10, 2009

BartPE is working with SATA AHCI

Well, its been a long and hard road. But I finally have BartPE reading a SATA drive in AHCI mode. We can debate the usefulness of this later.

It wasn't really straightforward, but with my Google-fu I eventually figured it out.

1) Download the latest version of the Intel Matrix Storage Manager drivers. See
http://support.intel.com/support/chipsets/imsm/

2) Extract the drivers. You should come up with similar to the following:
iaStor.inf
iaahci.inf
iaStor.cat
iaahci.cat
iaStor.sys
Txtsetup.oem


3) Comment out irrelevant drivers in txtsetup.oem.

4) Copy these to PEbuilder313\drivers\SCSIAdapter\IntelMatrixStorageManager.

5) Locate the WinXPSP2 source for BartPE. Edit WinXPSP2\I386\txtsetup.sif. In the[ SCSI.Load] section, add Iastor = iastor.sys,4

6) In the same file, find [HardwareIdsDatabase]. Add the following:

PCI\VEN_8086&DEV_2681&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_27C1&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_27C5&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_2821&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_2829&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_2922&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_2929&CC_0106 = "iaachi.inf"
PCI\VEN_8086&DEV_3A02&CC_0106 = "iaachi.inf" ; ICH10D/DO Family SATA Storage Controller - 3A02
PCI\VEN_8086&DEV_3A22&CC_0106 = "iaachi.inf" ; ICH10D/DO Family SATA Storage Controller - 3A22

7) Build BartPE. Check the PEBuilder.log for errors. You will probably find something similar to:

Processing (driver) INF file "C:\BartPE\PEBuilder\PEbuilder313\drivers\SCSIAdapter\IntelMatrixStorageManager\iaAHCI.inf", class "hdc", provider "Intel", ver "02/11/2009"
Unsupported class (hdc), skipping...

That's ok, as long as further down you can find:

Processing OEM file "C:\BartPE\PEBuilder\PEbuilder313\drivers\SCSIAdapter\IntelMatrixStorageManager\TXTSETUP.OEM"
SCSI hwID "iaAHCI_ESB2", component "Intel(R) ESB2 SATA AHCI Controller"
Adding file "\iaStor.sys"
SCSI hwID "iaAHCI_ICH7RDH", component "Intel(R) ICH7R/DH SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH7MMDH", component "Intel(R) ICH7M/MDH SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH8RDHDO", component "Intel(R) ICH8R/DH/DO SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH8MEM", component "Intel(R) ICH8M-E/M SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH9RDODH", component "Intel(R) ICH9R/DO/DH SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH9MEM", component "Intel(R) ICH9M-E/M SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH10DDO", component "Intel(R) ICH10D/DO SATA AHCI Controller"
SCSI hwID "iaAHCI_ICH10R", component "Intel(R) ICH10R SATA AHCI Controller"
SCSI hwID "iaStor_ESB2", component "Intel(R) ESB2 SATA RAID Controller"
SCSI hwID "iaStor_ICH7RDH", component "Intel(R) ICH7R/DH SATA RAID Controller"
SCSI hwID "iaStor_ICH7MDH", component "Intel(R) ICH7MDH SATA RAID Controller"
SCSI hwID "iaStor_ICH8RICH9RICH10RDO", component "Intel(R) ICH8R/ICH9R/ICH10R/DO SATA RAID Controller"
SCSI hwID "iaStor_ICH8MEICH9ME", component "Intel(R) ICH8M-E/ICH9M-E SATA RAID Controller"

That's it! I thank the following websites for giving me the inspiration:

Adding drivers in BartPE
http://www.nu2.nu/pebuilder/help/english/drivers.htm

This told me that the skipping hdc error really doesn't matter...
http://ubcd4win.com/forum/index.php?showtopic=2002&mode=threaded&pid=10547

Method 2 showed me the format and where to add the missing pieces...
http://www.deployvista.com/Blog/tabid/70/EntryID/18/Default.aspx

Both of the following gave me insight on which device IDs to use...
http://www.mail-archive.com/ntsysadmin@lyris.sunbelt-software.com/msg35534.html
http://www.altirigos.com/vbulletin/deployment-server/10483-sata-mode-hp-6730b-8530p.html

Some background on configuring BIOS for SATA operation
http://www.msfn.org/board/Integration-Intel-Sata-Raid-drivers-t107504.html&st=100&gopid=737636

Oh BTW don't forget to change the setting to AHCI in the BIOS. This will also cause the PC to be unable to read the current image. Haven't figured out how to inject the drivers into sysprep for XP yet.... coming soon.