How do I inject mass storage drivers in XP SP3 deployment in MDT2010?

By jbbarnett19 ·
I have an issue with deploying Windows XP SP3 to a Panasonic CF-30 Toughbook.

The Toughbook requires an additional storage driver for the SATA hard drive. The controller is the "Intel(R) ICH9M-E/M SATA AHCI Controller", for which I have obtained the latest driver from Intel's website. I can confirm that this is the correct driver because it successfully loads XP when booted from a VL XP SP2 disc and a floppy disc using the "F6" injection.

So I know I have the right driver. I just have to get it inject properly during the deployment from MDT 2010. According to the documentation, all I should have to do is import the driver, update my deployment share (updating the boot images), and MDT will take care of "updating" the necessary files (unattend.txt, etc.) with the proper modifications to inject the drivers. This didn't work.

The next step was to configure them manually. So here are the modifications that I have made:

1. The driver was imported into MDT as part of the first attempt.

2. I have added an \$OEM$ folder to the \i386 folder of the XP installation files within the Deployment Share, and a \TEXTMODE folder within that \$OEM$ folder. Within this \TEXTMODE folder, I have placed all of the SATA driver files.

3. I have altered the TXTSETUP.OEM file included with the driver files, only to change the default to be the controller I need. (I commented out the existing)

scsi = iaAHCI_ICH9MEM
;scsi = iaStor_ICH8MEICH9ME

4. I altered the Unattend.txt file to set the "OemPreInstall = Yes" setting in the [Unattended] section and to add in the [MassStorageDrivers] and [OEMBootFiles] sections. These sections are below:

; Used when custom disk drivers must be specified
; Enter the description name =Retail or OEM
"Intel(R) ICH9M-E/M SATA AHCI Controller" = "OEM"
"Standard Dual Channel PCI IDE Controller" = "RETAIL"

; This section is used to specify custom HALs, and also maps to the Mass Storage Device section

With these modifications, the deployment almost works. I boot to the Win PE, launch the Task Sequence, and deployment begins. The driver is injected to some degree, because the textmode portion of the install works fine, and doesn't complain about not being able to find a hard drive. The textmode completes, and the guimode starts. The GUI mode gets to the portion where it is "Copying Files". This part finishes, the GUI disappears, and the LTI goes through the Post-Install phase, the starts to reboot....

Then I get a BSOD STOP screen. The BSOD doesn't give me any file names but displays the error code:
0x0000007E (0XC0000005, 0X00000000, 0X8B7ABC08, 0X8B7AB7E0)
I then have to manually turn off the machine by holding the power button.

Upon powering on the machine, if I let it boot to the hard drive, Windows Setup resumes (no LTI, just standard windows install). The Setup goes through the TextMode, then the GUImode SUCCESSFULLY, completely unattended. When the computer boots into Windows for the first time, per the instruction in the Unattend.txt in the [GUIRunOnce} section, the LiteTouch.wsf script is launched, and the rest of the Task Sequence (starting with the State Restore Phase) completes without issue, and the summary states that the Deployment has completed successfully, with no errors or warnings.

I'm sure that the SATA driver is getting from the Deployment Share to the Target machine, or else the OS would never install. I just can't seem to get the machine from BSODing in the middle requiring user interaction to restart the computer manually. Any help is very much appreciated, and I thank you in advance.

~ Jay

This conversation is currently closed to new comments.

6 total posts (Page 1 of 1)  
| Thread display: Collapse - | Expand +

All Answers

Collapse -

I believe it's the $ that's the problem

by robo_dev In reply to How do I inject mass stor ...

If you were using a CD, the filesystem used to burn the CD may convert the $$ to underscores, and therefore the install routine goes to a place that does not exist. (e.g. _OEM_) . Make sure that situation is not happening on your share somehow.

Also, I'm not sure that it matters, but some systems are case sensitive, so your entries should be:

Collapse -

Driver Problem

by OriginalM In reply to How do I inject mass stor ...

As far as I know it depends on the driver and its configuration.
Have a look at

Maybe you have to add the following line to your winnt.sif
<code>DriverSigningPolicy=Ignore</code> to be able to use unsigned drivers.

Collapse -

You probably wouldn't care to try the other method.

by seanferd In reply to How do I inject mass stor ...

Which involves setting the BIOS to AHCI compatability mode (or whatever it is called on those machines). Install the drive after Windows is installed, then reset AHCI back to normal SATA.

See the MS results in particular.

Collapse -

Reponse To Answer

by jbbarnett19 In reply to You probably wouldn't car ...

This particular BIOS doesn't allow you to switch the SATA operation mode, unfortunately.

Collapse -

Unattended installation...

by OriginalM In reply to How do I inject mass stor ... only by using the DriverSigningPolicy Switch.
For more information have a look at the help file (deploy.chm) of the OEM Preinstallation Kit.
<strong>Where to find it on XP CD ?</strong>
Search for the in the supporttools folders. Extract deploy.chm and run it.
Check the Reference -> Unattend.txt. Underneath are all sections and possible entries listed.

Helpful Links:

Back to Hardware Forum
6 total posts (Page 1 of 1)  

Hardware Forums