What's new

Slipstreaming Storage Drivers in Windows XP

HADES

Vanguard
Staff member
DG | Developer
DG | Staff
DG | Admin
DG | Veteran
DG | Member
Introduction

I had to fix a friend's Compaq Mini netbook. Windows XP got damaged during an update. The manufactures recovery partition was also damaged. The only option was to install Windows XP from scratch.

Compaq Mini Details

Compaq Mini Model: 110c-1100ca
Compaq Mini SATA Controller
  • After some research I found the reference for the type of controller this particular Compaq Mini comes with. In case the original reference I found goes missing, this is a copy of that reference:
Consumer netbooks
  • HP Mini 700: Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 1000: Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 311: HP Mini 311-1000 , HP Mini 311-1100 series models - Nvidia MCP79 (Nvidia ION)
  • Compaq Mini 311c: Compaq Mini 311c-1000 , Compaq Mini 311c-1100 series models - Nvidia MCP79 (Nvidia ION)
  • Compaq Mini 110c: Compaq Mini 110c-1000 , Compaq Mini 110c-1100 series models - Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 110: HP Mini 110-1000, HP Mini 110-1100 series models - Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 110-3000, HP Mini 110-3100, HP Mini 110-3500, HP Mini 110-3600 series models - Intel NM10 (NM10 Express Chipset)
  • HP Mini 210:HP Mini 210-1000, HP Mini 210-1100, HP Mini 210-2000, HP Mini 210-2100 series models - Intel NM10 (NM10 Express Chipset)
  • Compaq CQ10:Compaq CQ10-100 series models - Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • Compaq CQ10-400, Compaq CQ10-500, Compaq CQ10-600 series models - Intel NM10 (NM10 Express Chipset)
Business netbooks
  • HP Mini 5101:Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 5102, 5103:Intel NM10 (NM10 Express Chipset)
  • HP Mini 2102: Intel NM10 (NM10 Express Chipset)
  • HP Mini 2140:Intel 945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 1101:945GSE (ICH7M/MDH SATA AHCI Controller)
  • HP Mini 1103:Intel NM10 (NM10 Express Chipset)
  • HP Mini 1104:Intel NM10 (NM10 Express Chipset)
  • Compaq Mini 102:Intel 945GSE (ICH7M/MDH SATA AHCI Controller)

The Problem

This particular Compaq Mini has an Intel ICH7M/MDH SATA AHCI Controller. The drivers for this controller are not on the Windows XP CD. The Windows XP installation does not see the Mini's hard drive. Without the Intel driver Windows XP simply cannot be installed.

Secondary problem

The Mini has no CD-ROM and no Floppy drive. The traditional way of installing Windows XP from a CD-ROM was not possible. This fix had to be cheap. The purchase of a USB CD-ROM was not an option.

Solution to secondary problem

Meet Rufus. Rufus is a free program that allows for the creation of a bootable USB drive from an ISO image. Basically Rufus can make a bootable Windows XP USB drive if you have an ISO image of your Windows XP CD.

Lukily my friend bought a Windows XP CD with his laptop. Using WinISO Maker I was able to make an ISO image of the CD.

Side note: If you are going to use WinISO Maker you will need to buy the Standard version. The free version only allows you to work with ISO files less than 500MB.

Solution to the main problem

After quite a bit of research, I came across this link. Basically the solution is to add the driver to the Windows XP CD. This turned out to be harder than I taught. Even armed with the instructions I found, I run into issues. For one, the instructions had errors and few things were left out.

Copy of the original instructions/solution:

In case the original solution thread I found goes missing, this is a copy of that thread:

I was hoping someone on this board Could help me with slipstreaming Intel's latest Matrix Storage driver into an unattended XP install CD. I am looking to slipstream the files as TEXT MODE drivers, shouldering-which make the task easier. Unfortunately, all efforts to do this so far have resulted in failure.
First, before I tried anything, I slipstreamed SP3 into XP, copied my WINNT.SIF file to the I386 directory of the CD, and created a bootable XP unattended install disc that works like a charm. So I know the basic disk works.


Second, I modified this base XP install CD Such as:

-At The root of the CD I created a directory called $ OEM $ and then created a folder called Within That TEXT MODE. Inside this $ OEM $ \ TEXT MODE directory I copied the files from Intel's latest Matrix Storage F6 floppy driver (f6flpy3286.zip):
http://downloadcenter.intel.com/Detail_Desc.aspx?strState=LIVE&ProductID=2842&DwnldID=17061&agr=Y&lang=eng&PrdMap=2842

TXTSETUP.OEM
iaahci.cat
iaAHCI.inf
iastor.cat
iaStor.inf
Iastor.sys


-In The I386 directory of the CD, I created a folder called $ OEM $ and once again, copied the contents of Intel's latest F6 floppy (f6flpy3286.zip).

Note: So now I have two directories That hold the contents of Intel's latest F6 floppy: $ OEM $ \ TEXT MODE and I386 \ $ OEM $


-Then I modified the WINNT.SIF by changing the line OemPreinstall = NO to OemPreinstall = YES


-Finally, I added the [Mass Storage Drivers] * and [OEMBootFiles] sections to the WINNT.SIF as below:

[Mass Storage Drivers]
"Intel (R) SATA AHCI Controller ESB2" = OEM
"Intel (R) ICH7R / DH SATA AHCI Controller" = OEM
"Intel (R) ICH7M / MDH SATA AHCI Controller" = OEM
"Intel (R) ICH8R / DH / DO SATA AHCI Controller" = OEM
"Intel (R) ICH8M-E / M SATA AHCI Controller" = OEM
"Intel (R) ICH9R / DO / DH SATA AHCI Controller" = OEM
"Intel (R) ICH9M-E / M SATA AHCI Controller" = OEM
"Intel (R) ICH10D / DO SATA AHCI Controller" = OEM
"Intel (R) ICH10R SATA AHCI Controller" = OEM
"Intel (R) SATA RAID Controller ESB2" = OEM
"Intel (R) ICH7R / DH SATA RAID Controller" = OEM
"Intel (R) SATA RAID Controller ICH7MDH" = OEM
"Intel (R) ICH8R / ICH9R / ICH10R / DO SATA RAID Controller" = OEM
"Intel (R) ICH8M-E / ICH9M-E SATA RAID Controller" = OEM
"IDE CD-ROM (ATAPI 1.2) / PCI IDE Controller" = "RETAIL"

[OEMBootFiles]
TXTSETUP.OEM
iaahci.cat
iaAHCI.inf
iastor.cat
iaStor.inf
Iastor.sys

* The OEM entries under [Mass Storage Drivers] came from the [SCSI] section of the file TXTSETUP.OEM.


-After All this, I make a bootable CD like before and test it.


Now, Technically, this shouldering work. But each time I've tried it, I get the Following error consistently XP's TEXT MODE setup period:

File TXTSETUP.OEM Caused an unexpected error (18) at line 1747 in d: \ xpsp \ base \ boot \ setup \ oemdisk.c.

Does anyone know what needs to be modified to get this to work? I'd rather not use a program like nLite since it makes changes I'm not aware of and I would like to keep this as simple and straightforward as possible.

Solution to the unexpected error problem:

Booya! Nailed it. My settings in Windows were correct, but my settings in Nero Burning ROM were off. After a tip-off from a user in the MSFN forums and a little experimentation, I figured out that i had to set Nero to burn in the ISO 9660 + Joliet "File System" and the ASCII "Character set (ISO)" on Nero's "ISO" tab. Otherwise, Either the dollar signs in the $ OEM $ directory name were changed to underscores, the spaces in file / directory names were changed to underscores, or the Joliet filesystem was omitted completely. It works now and works well. And it was not Microsoft's fault ... imaginethatdesign.

Solution to the main problem - Part 2 - Downloading the Controller Driver

The link to the Intel drivers in the original solution is dead. Instead I found and used these Intel drivers: 8him03ww

Download the driver and install it on another computer. Once installed go to C:\DRIVERS\WIN\IRST
You will see the following files:

F6Readme.txt
iaAHCI.cat
iaAHCI.inf
iaStor.cat
iaStor.inf
iaStor.sys
TXTSETUP.OEM
license.txt

You don't need license.txt or F6Readme.txt. You can delete those two files.

Solution to the main problem - Part 3 - Slipstreaming

This is the more difficult part. A mistake here will cause errors during the Windows XP install. Moving on...

I assume you have the ISO image of your Windows XP CD. If you do, then
  • Open the ISO image with WinISO Maker
  • In the root of the ISO image create a folder called $OEM$ (no spaces)
  • In the $OEM$ folder create a sub-folder called TEXTMODE (one word, no spaces)
  • Copy the Intel driver files from Part 2 to the TEXTMODE folder
  • Go in the i386 folder and create another folder called $OEM$ (no spaces)
  • Copy the Intel driver files from Part 2 to this second $OEM$ folder
At this point you should have a folder structure that looks like this:
oem.png

It's important you do all the above steps while in WinISO Maker. Do not extract the ISO image. Doing so will likely mess up some files and result in strange errors during Windows install.

Solution to the main problem - Part 3 - Slipstreaming Continued - WINNT.SIF

To complete the slipstreaming you need to copy the WINNT.SIF file to the i386 folder. After consulting this reference and a lot of trial and error, I managed to put together a working WINNT.SIF file which you can simply download and copy to your i386 folder.

Download WINNT.SIF (right click and Save As)

OR

Copy it's content and make your own WINNT.SIF file:
[Data]
AutoPartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
OemPreinstall = "Yes"
ConfirmHardware="Yes"
OemFilesPath="$OEM$"
NtUpgrade="Manual"
TargetPath=\WINDOWS

[MassStorageDrivers]
"Intel(R) ICH7M/MDH SATA AHCI Controller" = "OEM"

[OEMBootFiles]
TXTSETUP.OEM
iaAHCI.cat
iaAHCI.inf
iaStor.cat
iaStor.inf
iaStor.sys
At this point save the ISO file. Then open Rufus and create a bootable USB drive/stick from the ISO. Then insert the USB drive into the netbook, boot the netbook, hit F9, and choose to boot from the USB drive/stick. From here on, business is as usual. Windows XP should pickup the Intel controller, detect the hard drive and you should be able to install Windows XP.
 
Top