Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Unattended install, SATA drivers, and NO Floppy

* * * * * 2 votes

  • Please log in to reply
179 replies to this topic

#1
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
I'm coming to you now from a fresh install of Windows XP on an Intel ICH5R controller. I installed Windows without having to use a floppy disk and I would like to explain how I did this. I have looked all over the internet for months - across many different forums to find a solution that works. Perhaps if this works for people it could be a sticky? I would also like to explain how to "slipstream" the Intel INF drivers as well for a total Intel 865 or 875 solution!

Now here we go.

I. Some information on my hardware setup:
I'm using an IC7-Max3 motherboard which contains 4 SATA ports controlled by a Silicon Image 3114 chip as well as 2 other SATA connections controlled by the ICH5R southbridge. I currently have two SATA hard drives in RAID0 on the Intel controller. Installing Windows to disks on either the Intel or SI controllers requires an "F6" driver before the disks are even visible to the OS. Just to cover all the bases, I added both the SI and Intel drivers to this CD.

II. Getting the files:
The first thing to do is obtain the driver files that we need. AFAIK Silicon Image doesn't provide generic drivers on their website; you have to go to the mfg of your particular board. I got mine from Abit here. There are a couple places to get the ICH5R drivers. You can get them out of the Intel Application Accel. package, the Intel "F6" diskette creation utility, or your OEM. Since we're trying to avoid using a floppy strike the diskette utility and let us use the IAA Package.

III. Extracting Drivers:
Now we need to get the necessary files out of the zip archives we just downloaded. The Silicon Image drivers DL'd from Abit are easy, just use Winzip or Winrar to extract the exe file to the directory of your choice. Let us say you extracted them to a directory called "SI". Go there and inside you'll see numerous files as well as a directory called "2kxp." Look inside and you should see 8 files totaling 355,730 bytes.
Instdll.dll
SI3114r.inf
Si3114r.sys
SIWinAcc.sys
readme.txt
Si3114r.mpd
SIISUPP.VXD
TxtSetup.oem
Note: You can safely delete readme.txt leaving only 7 files.

As for the Intel drivers we have to use a few command line switches. First extract the contents of iaar353_...exe using Winrar or Winzip to any location. Open the contents of the extracted archive and you'll see Data1.cab and Data2.cab, those files contain the drivers we need. To get the drivers OUT open a command prompt and navigate to the file "Setup.exe" (the one we just extracted).

At the command prompt type:
c:\setup.exe -a -p c:\<path>
Where "<path>" is a destination folder on your hard drive. For the remainer of this document I will assume you used a directory called "temp" on the "C:" drive.

Navigate to c:\temp and there should be a folder called "Driver" open it and there should be 4 files inside coming to 286,347 bytes.
iastor.sys
iaStor.cat
iastor.inf
txtsetup.oem

IV. Putting the puzzle together
Now that we have the essential drivers extracted we'll need to put them in their proper locations on the CD. I ended up putting a few copies in various locations and I am unsure if the redundency is actually needed, but I'm going to explain exactly what I did just to be safe.

The first place to add a copy is to the TXTMODE folder of your CD. That is: "c:\xpcd\$OEM$\TEXTMODE" Here you can dump the 7 Silicon Image files and 4 Intel files.
Location number two is the location specified (or will be specified) in Winnt.sif for OEMpnpDriversPath. On my CD this is:

$OEM$\$1\Drivers\01
$OEM$\$1\Drivers\02
.
.
.
$OEM$\$1\Drivers\nn

I have added the Intel drivers (all 4 files) to folder 01 and the SI drivers (7 files) to 02. Here you need to have your SATA drivers in the lowest numbered folders. That is, don't have your printer drivers in 01 and SATA in 02.

The third and final location is in the i386 directory which will be located at the root of your CD. This time we only need to be concerned with the *.sys files of each driver set. That would be iastor.sys and si3114r.sys; you do not need SIWinAcc.sys for this step. I chose to compress these files and I recommend you do the same. Use the MAKECAB utility to do so. You'll end up with "iastor.sy_" and "si3114r.sy_" Now simply copy both of these files to the i386 directory. Now we're done copying files.

V. Modifying installation files
The first file to be modified is TXTSETUP.SIF which is in the i386 directory. This file tells Windows what files to load during the text-only portion of setup. We are going to modify the file to make Windows think that Microsoft put these new driver files in i386 and load them accordingly. Open up TXTSETUP.SIF and do a search for [SourceDisksFiles]. In my file it was on line 181. Now add this text EXACTLY AS SHOWN (except what's in the brackets).
[SourceDisksFiles]
iaStor.sys = 100,,,,,,3_,4,1,,,1,4
si3114r.sys = 100,,,,,,3_,4,1,,,1,4
Each driver listing needs to be on its own line...you'll get the format once you look in TXTSETUP.SIF. You can put this anywhere within the [SourceDisksFiles] section. I'm aware that there are multiple instances of [SDF]...I added my drivers to the first instance.

For a detailed explanation of what all those numbers and commas mean go here.

Still within TXTSETUP.SIF look for [HardwareIdsDatabase] around line 18270. These entries associate drivers with PCI device Ids detected on the machine. Within this section add these lines:
[HardwareIdsDatabase]
PCI\VEN_8086&DEV_24DF&CC_0104 = "iaStor"
PCI\VEN_1095&DEV_3114&SUBSYS_61141095 = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_288510F1 = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_047AA0A0 =  "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_0478A0A0 = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_0479A0A0 = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_90181695 = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_F642270F = "Si3114r"
PCI\VEN_1095&DEV_3114&SUBSYS_100415BD = "Si3114r"

As you can see there is only one Id for Intel and multiples for SI which is OK. Now remember the file "txtsetup.oem" that we extracted from both driver sets? That's a text file which can be opened in Notepad and it contains the device Ids. If you're trying this out with other drivers and don't know the proper Id, look in txtsetup.oem or the INF file associated with that particular driver.

We now need to find [SCSI.load] in TXTSETUP.SIF. Look around line 18725. Add the lines below to this section.
[SCSI.load]
iaStor = iaStor.sys,4
si3114r = si3114r.sys,4
One more section to go...

Find [SCSI] - around line 21059. Add this:
[SCSI]
iaStor = "Intel(R) 82801ER SATA RAID Controller"
si3114r = "Silicon Image SiI 3114 SATARaid Controller"

Here you can replace the text in quotes with anything you want. So if you want iaStor to be "Super Pimped hizard dizisk controllaz" then go for it.

That's it for TXTSETUP.SIF. The next file we need to create or modify is WINNT.SIF. If you're frequenting the unattended forums then you probably already know how to create or modify it. If you don't, check
this out.
Here all we need to do is point OEMpnpDriversPath to the locations we set up. Remember $OEM$\$1\Drivers\01? If that is the location of the Intel or SI files then WINNT.SIF should read like this...
OemPnPDriversPath="Drivers\01;Drivers\02;Drivers\03;Drivers\04;Drivers\05;Drivers\06"
If you have multiple folders like I do make sure that its all contained on ONE line (the forum software might wrap it here).

VI. Blaze it
Now its time to burn the files to a CD or preferably, a CD-RW.

VII. Test it
Testing the functionality of our new drivers is impossible with VMware or Virtual PC because these raid/SATA controllers do not exist within the virtual machine, which is also why we burned an actual CD instead of creating an ISO image. Restart and boot from the CD. When it says "Press F6..." you can simply ignore it, or do like I did and give your monitor the finger. Now watch the bar at the bottom of the screen very closely as it lists drivers being loaded. I have a fairly fast machine and I was able to catch a glimpse of "IntelŽ 82801ER SATA RAID Controller" and "Silicon Image SiI 3114 SATARaid Controller" being loaded. It does go by very quickly though, so pay attention. Now I believe at this point your computer will reboot and you'll be taken to the disk formatting and partitioning screen (depending on what is in WINNT.SIF). If you see your hard drive listed then you have success!

So far I have only tested this on a RAID 0 setup using the Intel controller, but I assume that SI will work because the driver does load during text mode. Hopefully this method will work for all "F6" drivers, so lets see if we can give Nforce and PCI slot based controllers a hand too.

Good luck!

Edited by raskren, 09 February 2004 - 03:38 PM.



How to remove advertisement from MSFN

#2
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
Here's my TXTSETUP.SIF if anyone wants it. It has the Silicon Image and Intel drivers as I listed above.

Attached Files



#3
Pure Krome

Pure Krome

    Junior

  • Members
  • Pip
  • 73 posts
try installing these drivers WITHOUT having to hack the TXTSETUP.SIF file - that's a bigger challenge. The txtsetup.sif method has been known for ages.

for more info, search for other posts by me, re: SATA

#4
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
Why? Its only 10 or 12 lines that have to be added.

#5
Spheris

Spheris

    Member

  • Members
  • PipPip
  • 284 posts
Ignore Krome

You got it right the first time, the same as the OEM instruction we provide defining mass storage at boot time

Good work at taking the time and for providing the SIF for people it applies to. It should go a long way toward them filling in the gap with their own - promise.highpoint.etc

#6
Spheris

Spheris

    Member

  • Members
  • PipPip
  • 284 posts
But you do need to adjust your driver folder order.

as a chipset driver (and it is in the intel design)
it goes to driver folder 000

for third party controllers they go to the ias/nas folders later in the sequence

#7
cyberdiamond

cyberdiamond

    Member

  • Members
  • PipPip
  • 115 posts
Spheris: Could you provide 'correct' folder numbering for us.
Cheers,
Steve

#8
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
Yes, please elaborate.

The method I outlined above worked perfectly for my install, but it could always be better.

#9
czaja74

czaja74

    Member

  • Members
  • PipPip
  • 109 posts
I'm glad it worked out. Also great explanation. Now the problem is to do it with slipstreamed hotfixes and updates. I used THIS guide and it worked fine. I have tried for quite a bit Using GreenMachine XPCREATE (that's the easiest way I know to have all updates slipstreamed) without any luck for RAID. DId you try your method with all hotfixes slipstreamed and fully unattended setup?

#10
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
Yes, its SP1, Rollup, and all hotfixes to date. Most hotfixes install using svcpack. In the past I was not able to use RAID drivers AT ALL if oemPreInstall=1 in winnt.sif. That's why I'm so excited that this method worked!

#11
Pure Krome

Pure Krome

    Junior

  • Members
  • Pip
  • 73 posts
>>Why? Its only 10 or 12 lines that have to be added.

from what i understand with the Setup.sif file, there is a section called MassDrivers or something (it's been a few months since i last did any unattended stuff). MS added this section to make it QUICK and SIMPLE to add RAID/SATA drivers to an unattended install.

by QUICK and SIMPLE i mean :-
o) Dump the drivers in a Folder
o) Tell the installation (setup.sif) which driver to use.

there. done. simple.

no need to search for lines and copy and paste, etc. No need to double check that what u've typed is correct. No need to research what the hell that gobbedly-gook in txtsetup.sif really means. wtf does PCI\VEN_1095&DEV_3114&SUBSYS_61141095 = "Si3114r" really mean? what's dev_3114? subsys_61141095?

come on people!

don't just get a file and use it becuase people say 'this file makes your unattneded install work with a xxx SATA drive'. QUESTION EVERYTHING. I first found the above answer and had no idea what that ment. Yes, i could have look long and hard for what that ment, and repeat that process for any other SATA / RAID driver that poped into the office, so i looked for the generic solution and MS even provided one - albiet a bit buggy, but it seems to be the suggested way.

as always there are a million ways to do a single job. i personally find the above way a hack compared to other ways. Becuase it's a hack, doesn't mean don't use it, nor is it bad.

to use two more bad analogies -> it's all in the eye of the beholder, and whatever floats your boat.

just remember, please question everything suggested here so u understand what is going on, as opposed to just learning what files go where to fix a problem - that's not really learning persay.

anyways ...

#12
czaja74

czaja74

    Member

  • Members
  • PipPip
  • 109 posts
@raskren
Could you post your winnt.sif file and take a screenshot from windows explorer of your expanded CD directories. It will be helpful.

@Pure Krome
It will be good if you could share this method with examples. I would be interested in it too. If you have a time please post step by step with short explanation (where needed). I will be happy to give it a shot and test it.

#13
Spheris

Spheris

    Member

  • Members
  • PipPip
  • 284 posts
The OEM sort order for driver installation from .SIF

000=smbus/chipset
001=lan
002=usb/firewire/serial i-o
003=audio
004=video
005=nas
006=ias

*nas = network accessible storage
*ias = internal accessible storage/raid/fiber etc

considering the perpetual race to driver updates, it's probably time to create a set folder within the directory sort. out of order pnp sequence sorts are right now about 80% of either failed installs or underperforming and "troubled" installs reported from the OEMs in the last year and particularly post SP1 as the pnp system was revised and rolled to full acpi 2.0 specification to support HT and APIC support in the 865/875 systems


Reposted from the Discussion Thread for GreenMachine and I for collaboration on some of the clean up for xpcreate

#14
Spheris

Spheris

    Member

  • Members
  • PipPip
  • 284 posts
Krome

I'm going to revise my previous harshness a bit with this. Yes, there are multiple means to the end.

Even our own approved one has its flaws in that end users have to be careful with doing it and be precise. But it does work in all cases where it is correct and support will respond to it if you have to contact them about it. Is it a hack

good question. Isn't nearly everything being done here that alters the original disc structure a hack?
Its all relative, but don't s*** on someone because they made some headway with doing it, right way or wrong way as long as they got somewhere with it. Otherwise I'd just be everywhere in here all day long smacking people for the most rediculous things.

#15
GreenMachine

GreenMachine

    ineXPlicable

  • Developers
  • 3,062 posts

... just remember, please question everything suggested here so u understand what is going on, as opposed to just learning what files go where to fix a problem - that's not really learning persay. ...

Amen!

But sometimes, a hack is the only way, like UXTHEME. And considering all the hair-pulling over these drivers, and working solution is worth learning from. I read, with interest, lots of hacks all over this forum, even though I still feel quilty just replacing an empty SVCPACK.INF with my own. It all adds insight needed to find out what floats my boat.

Anyways, raskren has made more progress than me right now, on this, so thanks for posting your findings.

One question about testing these CDs: How are these CDs supposed to behave in VPC, or a NON-SATA/RAID system? I ask because of the need to add a PCI IDE Controller mentioned in THIS article implied (to me ...) sounded like it would not work without an implicit IDE driver.

... I got most of the loose ends tied in XPCREATE (for the moment), so it looks like this is my current quest ...

#16
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
Yeah Chrome...already tried that. I have done extensive reading of MS KB articles for months now. When I use mass storage line in winnt.sif it: refuses to copy the necessary files over, causes a bsod, or iastor.sys generates a cryptic error message.

This is the only method that has EVER worked for me.

Why don't YOU do a search at www.microsoft.com for txtsetup.sif. Microsoft gives you instructions on how to modify this file.

I spent weeks researching, burning cds, and testing and now I want to share an easy method that WORKS for me. Just look at the number of F6 installs that don't work for people on this board. I don't understand why you must criticize when I'm providing free help for a widespread problem!

#17
llrda

llrda
  • Members
  • 2 posts
PLZ Pure Krome: Can you share the method you used for easily adding a RAID/SATA-Driver? I never tried it the hacked way because I didn't understand it and it seemed very specific for one device. Unfortunately I failed doing it the other way. I've been trying it for almost 2 weeks in a row and couldn't get it to work. Everywhere you get different instructions where to put you drivers and what files to modify.

So if you really got the second method to work I can hardly wait to give it a shot! :)

#18
czaja74

czaja74

    Member

  • Members
  • PipPip
  • 109 posts
@raskren
I'm about to try your method. However I'm in doubt about 1 thing. If I set up oemPreinstall to NO will it install all the drivers? I have strong feeling that I'm missing something. I modified txtsetup.sif and set paths to the drivers but with OemPreinstall set to NO will it work. Here what I have
[Unattended]
    UnattendMode=FullUnattended   
    OemSkipEula=Yes
    OemPreinstall=No
    TargetPath=\WINDOWS
    Repartition=No
    UnattendSwitch="yes"
    WaitForReboot="No"    
    OemPnPDriversPath="Drivers\001_GART;
    Drivers\002_MemCtl;Drivers\003_SMBus;Drivers\004_Lan;Drivers;
    Drivers\005_SATA;\006_Scanner;Drivers\007_Printer"
    DriverSigningPolicy=Ignore
    


#19
raskren

raskren

    I ♥ Longhorn

  • Members
  • PipPipPip
  • 383 posts
I had OEMPreInstall=Yes and it installed all of my drivers which were sata, chipset, audigy2, printer, and lan.

Spheris,

I was under the impression that MSFN suggested using a numbering system so drivers install in the proper order and lower folders are installed first. Since we're installing an operating system one would think that the most critical drivers would be the ATA/SATA set because of how picky Windows seems to be about the whole unattended/raid situation. I'm also curious as to where you found this information. In all of my studies I have not come across anything (by MS) like this. In fact, This article, KB314479 doesn't mention any particular method for folder naming. Just names like "lan", "video", etc.

Just out of curiosity, does anyone have a computer from a tier 1 or 2 OEM (one that has the capacity to press their own cds) that contains any sort of raid setup or pci controller card installed? It would be interesting to see how Dell, Gateway, MSI, Gigabyte, would do this...that is...as long as they don't force the user to use a **** floppy.

#20
Spheris

Spheris

    Member

  • Members
  • PipPip
  • 284 posts
rasken

the 000 structure is what is used in house for HQL and engineering testing and recommended to OEM vendors as a failsafe.

The KB article is accurate to an extent, but we've found in house that for non ISO disc structures, the numeric sort seems to get around some of the unicode and other alphanumeric problems that crop up in testing.

you have the list as defined by the KB

or use the other, either will work in standardised scenarios. the other has proven more robust in non standard scenarios such as udf format discs and ISO level 3 etc.

There are no plans to update the KB article as the restructuring of the disc structure to non standardised formats isa violation of the eula and not recommended to end user practices.

#21
Pure Krome

Pure Krome

    Junior

  • Members
  • Pip
  • 73 posts
Hi Folks...

i didn't get any emails about replies, so i forgot to check this thread *blush*

ok.. some info about what i did? sure.

(appologies for offsite link)

the my solution is this => http://forum.abit-us...&threadid=29161

and for a detailed run down of the research ( a very mind-numbing read) ...

http://forum.abit-us...&threadid=14297

so in the end, i _did_ get the OS to auto-copy the driver files over to the correct places by using the [MassStorageDrivers] line.

like i said - it's been a few months (october?) since i last mucked around with this ... but i've been trying for a year.



>>Why don't YOU do a search at www.microsoft.com for txtsetup.sif
heh :) keep your cool, buddy. did that a long time ago. anyways, i really don't want this to turn into a flame/troll topic. I was only trying to suggest other ways to solve the same problem - other ways which i believe are more stylish and less of a hack. Yes - we have to hack certain things to get our results (eg. the UXTHEME example above). I'm just hoping people continue to try and find more elegant and less troublesome ways to get the same solution - that is what this website is all about.

Please, have a read about what i posted up, and i hope u have some luck - please post any comments.

#22
drscouse

drscouse

    Member

  • Members
  • PipPip
  • 237 posts
I followed this guide... I only had to add about four lines of test, and all is working fine.

http://www.nforcersh...der=asc&start=0

13) add the following line under [SourceDisksFiles]si3112r.sys = 1,,,,,,_x,4,1

14) add the following line under [HardwareIdsDatabase]
PCI\VEN_1095&DEV_3112&SUBSYS_61121095 = "Si3112r"

15) add the following line under [SCSI.Load]
si3112r = si3112r.sys,4

16) add the following line under [SCSI]
si3112r = "Silicon Image SiI 3112 SATARaid Controller"


Oh and of course, pointed the oem...path in winnt.sif to the $OEM$ folder...

Works fine for me :)

#23
Ghent

Ghent

    Junior

  • Members
  • Pip
  • 50 posts
Hi all,

New to this forum.

I got a question for you guys, How in the world do you get the info for the fills you need to add to your files for the SATA installion.

This is from first post.

". Modifying installation files
The first file to be modified is TXTSETUP.SIF which is in the i386 directory. This file tells Windows what files to load during the text-only portion of setup. We are going to modify the file to make Windows think that Microsoft put these new driver files in i386 and load them accordingly. Open up TXTSETUP.SIF and do a search for [SourceDisksFiles]. In my file it was on line 181. Now add this text EXACTLY AS SHOWN.

CODE

iaStor.sys = 100,,,,,,3_,4,1,,,1,4
si3114r.sys = 100,,,,,,3_,4,1,,,1,4 "

What I want to know is how to find this information.

iaStor.sys = 100,,,,,,3_,4,1,,,1,4
si3114r.sys = 100,,,,,,3_,4,1,,,1,4

The numbers at the end. The rest of the information I'm able to find within my setup files for my SATA controller which is the Promsie 367. Build in for the P4PE MB from Asus. Smillar your guys, but my controller is differnet and doesn't use the two newer chips from Intel.

thanks for any info.

#24
Pure Krome

Pure Krome

    Junior

  • Members
  • Pip
  • 73 posts
/me listens intently for an answer to Ghents question .... :)

#25
Ghent

Ghent

    Junior

  • Members
  • Pip
  • 50 posts
Found something that you guys haven't listed about the Unattended Installation of windows. If you guys did I just missed it that's all.

Go to your deploy.cab on your Windows Xp Cd (SUPPORT\TOOLS) and extract the file to whereevery you want to. Look for the file called ref.chm and open it.

Yes it's a help file, but this file explains in detail everything you can do to winnt.sif.

Great little pieces of info like how to make sure MSN 4.6 and Explorer 7 aren't installed and so on.

Give it a look. There is a lot that you can make changes to the installation of windows and how it work without having to make reg files to be loaded durning installation.

Hope it helps out,




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users



How to remove advertisement from MSFN