Jump to content


- - - - -

Windows 2000 unnatended with drivers on CD


  • Please log in to reply
84 replies to this topic

#21 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 23 December 2002 - 06:10 AM

In reply to:


BTW, did it worked on you doing a custom bootable distro-CD with $OEM$ on the root of the CD?
If you don't mind, can you post your sample WINNT.SIF, TXTSETUP.OEM files here?


I have not messed with the boot sector (win2k only CD). I am using the boot image ripped from my win2k sp1 oem cd. The $OEM$ folder is in the root. I think the OemFilesPath is relative to where the winnt.sif file resides, in other words, to the i386 folder.

The mass storage drivers were from the Intel Application Accelerator and the download came with a Txtsetup.oem file. You can get it from the intel site. Read the unattended installation section in the readme file. Follow the directions to extract the files only.

Here is a sample winnt.sif (with oem storage driver lines as prescribed in the readme file):


[Data]
AutoPartition="0"
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
UnattendMode=DefaultHide
OemPreinstall=Yes
OemFilesPath="..$OEM$"
OemPnPDriversPath="DriversMatrox;DriversIntelNIC;DriversHercules"
DriverSigningPolicy=Ignore
;;NonDriverSigningPolicy=Ignore
OemSkipEula=Yes
TargetPath="WIN2000"
Filesystem=LeaveAlone
OverwriteOemFilesOnUpgrade=No

[MassStorageDrivers]
"Adaptec AIC-7899 Ultra160/m PCI SCSI Card" = RETAIL
"Intel® 82801BA Ultra ATA Controller" = OEM
"Primary IDE Channel" = OEM
"Secondary IDE Channel" = OEM

[OEMBootFiles]
IdeBusDr.sys
IdeChnDr.sys
IdeChnDr.inf
IATA3000.CAT
TxtSetup.oem

[GuiUnattended]
AdminPassword=blah
AutoLogon=Yes
AutoLogonCount=2
OEMSkipRegional=1
TimeZone=4
OemSkipWelcome=1
ProfilesDir="%SystemDrive%Users"
;DetachedProgram="%SystemRoot%regedit.exe"
;Arguments="/s E:ATApass2.reg"
;DetachedProgram="%SystemDrive%$WIN_NT$.~LSI386svcpackdxsetup.exe"
;Arguments="/windowsupdate /silent /packageinstall"

;;[IncludeCatalog] EulaCopmlete get params from setuplog.txt
[SetupParams]
UserExecute="%SystemDrive%$WIN_NT$.~LS$OEM$ProfilesRemove.bat"

[UserData]
; FullName=*
FullName="User"
OrgName=""
ComputerName=BLAH


;;[SystemFileProtection]
;;SFCQuota=0

[GuiRunOnce]
Command0="regedit.exe /s Customadmin.reg"
Command1="regedit.exe /s CustomURunOnce.reg"
Command2="CMD /Q /C CustomRunCmds.bat"
Command3="CMD /Q /C CustomAppsSetup.bat"
Command4="DriversASPIaspiinst.exe SILENT"

[Components]
accessopt = off
;paint = off
cdplayer = off
charmap=off
cluster = off
freecell = off
fp_extensions = off
indexsrv_system = off
minesweeper = off
;media_clips = off
;media_utopia = off
pinball = off
solitaire = off
chat = off
dialer = off
rec = off


[RegionalSettings]
;;;;LanguageGroup=13,4,12,7,8,1
LanguageGroup=1
Language=00000409


;[Branding]
; BrandIEUsingUnattended=Yes
;; IEBrandingFile=INSTALL.INS

;[Proxy]
; Proxy_Enable=0
; Use_Same_Proxy=1

;[URL]
; Home_Page=http://www.microsoft.com/windows
; Search_Page=http://www.yahoo.com
; Quick_Link_1_Name="Customize Links.url"
; Quick_Link_1="http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=CLinks"
; Quick_Link_2_Name="Email Removed.url"
; Quick_Link_2="http://www.microsoft.com/isapi/redir.dll?prd=ie&ar=Email Removed"
; Quick_Link_3_Name="Windows.url"
; Quick_Link_3="http://www.microsoft.com/isapi/redir.dll?prd=ie&ar=windows"
; NoWelcome=1

;[FavoritesEx]

[Identification]
JoinWorkgroup=NONE

[Networking]
InstallDefaultComponents=No

[NetAdapters]
Adapter1=params.Adapter1

[params.Adapter1]
INFID=*

[NetClients]
MS_MSClient=params.MS_MSClient

[NetServices]
MS_SERVER=params.MS_SERVER

[NetProtocols]
MS_TCPIP=params.MS_TCPIP

[params.MS_TCPIP]
UseDomainNameDevolution=No
EnableLMHosts=Yes
AdapterSections=params.MS_TCPIP.Adapter1

[params.MS_TCPIP.Adapter1]
SpecificTo=Adapter1
DHCP=Yes
WINS=No
NetBIOSOptions=0


#22 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 23 December 2002 - 05:49 PM

In reply to:


I was wondering, why did you REM'ed ";" out the whole[OEMBootFiles] & [MassStorageDrivers] sections?


I REM'ed them because I no longer use the [OEMBootFiles] & [MassStorageDrivers] sections to preinstall the drivers.
I integrated them into the i386 distribution so Windows will select them based on the hardware id, as it does when it installs without any oem drivers.

When you include the [MassStorageDrivers] section, Windows bypasses its normal driver detection routine, and simply loads the drivers you specify, and in the order you specify. I find this results in a different driver load order which is persistent. On my machine it results in event log errors, saying something about my scsi cdrom but it works fine. I think it is due to the different order in which the boot drivers are loaded; one of them is probably not accessible when it should be.

The [OEMBootFiles] facility copies the files into an "OemDir" folder (for caching?), and also it creates an oem0.inf rather than using the original name, and I hate that stuff. So I wanted to make the drivers install just like the Windows drivers they replace.

Knowing that IdeBusDr.sys replaces intelide.sys (a bus extender) and that IdeChnDr.sys replaces atapi.sys (a SCSI miniport), I just went into DOSNET.INF and TXTSETUP.SIF and added the appropriates lines, using what was already there for atapi.sys and intelide.sys as a guide. I used the Txtsetup.oem as a reference as it contains the hardware Ids for the actual device, and they need to be added to the [HardwareIdsDatabase] section in TXTSETUP.SIF. This is where setup looks for drivers to load when it first starts. It selects drivers based on a matching scheme to find most compatible driver, which is basically the one that has an Id in the database that most closely matches the Id returned when the device is enumerated. Since the Ids supplied by the Intel Txtsetup.oem are the exact Ids, windows will pick them over its own drivers, and they will by installed just like the windows drivers are, without any footprint (and without the oem0.inf).

Actually, the main reason for this is that the CD can still be used on any machine. This is because windows will use the selection routine to determine what to load. If you use the [MassStorageDrivers] section and try to install (from the cd) onto a computer that does not have a device that is listed in the section, it will BSOD with an INNACCESSIBLE_BOOT_DEVICE message.

#23 Guest_Anonymous_*

Guest_Anonymous_*
  • Guests

Posted 29 December 2002 - 05:18 PM

Does this KB Article help...I'm looking as well for an F6 solution, with a Bootable CD install.

http://support.micro...;EN-US;q288344

#24 Guest_edmon_cu_*

Guest_edmon_cu_*
  • Guests

Posted 31 December 2002 - 08:58 PM

Yep. Me too. I heard, its not possible to do a bootable CD install with mass storage drivers.

:(

I have tried it and I still got errors with TXTSETUP.OEM during the loading of the drivers at the initial part of the installation.

#25 Guest_Ed Ziots_*

Guest_Ed Ziots_*
  • Guests

Posted 02 January 2003 - 10:56 PM

I have successfully created a Win2k Server CD with SP2 integrated, and tried it at home on my PC, works a charm. What I cannot get to work is all the hotfixes I want to install also.

Lets say I have 10 hotfixes to installed.

Q1.exe
through Q10.exe

Do I create a $OEM$ folder off the root of my bootable CD and put a cmdlines.txt file in this folder, with the following statements?

.Q1.exe -q -z -m
.Q2.exe -q -z -m
..
..
.
.
.
..
.qchain.exe

Or do I need the . or what?

I tried putting a svcpack folder under the I386 folder, and then deleting svcpack._IN file like the Service pack deploy document called for, I created a new svcpack.inf file and put it in the svcpack folder. The dosnet.inf file was updated with a svcpack section.

How do you add all the hotfixes you want to run from the Bootable CD- and install correctly, and run qchain.exe afterwards, then reboot. I am trying to get my setup clean, so I can roll out additional Compaq Servers via Smart Start SSD CD in future.

Please reply to [email protected]

Thanks,
Ed

#26 Guest_Anonymous_*

Guest_Anonymous_*
  • Guests

Posted 13 March 2003 - 08:21 PM

How did you modify the
TXTSETUP.SIF and DOSNET.INF?
I have wanted to include drivers in the install so windows will detect them itself. I have been successful with IBM ServeRAID 4Lx but failed with 2 nic's, audio and usb.

#27 Guest_Anonymous_*

Guest_Anonymous_*
  • Guests

Posted 13 March 2003 - 09:05 PM

Check this out...
http://www-1.ibm.com...=psg1MIGR-39827

#28 Guest_Anonymous_*

Guest_Anonymous_*
  • Guests

Posted 14 March 2003 - 01:36 AM

I managed to modify the txtsetup.sif, dosnet.inf & layout.inf so that my Promise RAID drivers are detected at CD boot time. I can now partition my HDD from the Win2000 boot CD.

But I get a '800b0003' fatal error message regarding the product catalogs (*.CAT files?) in GUI boot mode, just after the "Win2000 built on NT" splash screen.

What modifications would I need make to avoid this annoyance?

Any help appreciated.

#29 Guest_DeeJay_*

Guest_DeeJay_*
  • Guests

Posted 17 March 2003 - 04:30 PM

Did you put the "driversmatrox; driversHercules" directories in $OEM$$1 or in the $OEM$ directory?

#30 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 23 March 2003 - 11:05 PM

in Reply to:


But I get a '800b0003' fatal error message regarding the product catalogs (*.CAT files?) in GUI boot mode, just after the "Win2000 built on NT" splash screen.

What modifications would I need make to avoid this annoyance?

You need to preinstall the .cat files. Use the same procedure that is used for installing the .cat files for slipstreamed hotfixes.

[*] Copy the .cat files into the I386svcpack directory.
[*] Add each filename to the [ProductCatalogsToInstall] section in svcpack.inf.

This will install the catalog into your %SystemRoot%system32CatRoot folder with all the other catalogs. One thing to note is that if your infs are renamed to oem#.inf when installed, then the catalogs are installed with a capital .CAT extension. I have posted about his before. I cant recall if its required to make it work.

For example, my svcpack.inf looks like:

[Version]
Signature="$Windows NT$"
BuildNumber=2195
MajorVersion=5
MinorVersion=0

[SetupData]
CatalogSubDir="i386svcpack"

[ProductCatalogsToInstall]
dxnt.CAT
dxbda.CAT
Q322842.cat
q323172.cat
Q326830.cat
Q326886.cat
ich2br.CAT
ich2core.CAT
ich2smb.CAT
ich2usb.CAT
IATA3000.CAT
ISD.CAT
oeexcep.CAT
ieexcep.CAT
scripten.CAT

[SetupHotfixesToRun]
Q322842.exe -u -n -z -q
Q323172.exe -u -n -z -q
Q326830.exe -u -n -z -q
Q326886.exe -u -n -z -q
RegDlls.bat

and RegDlls.bat (also in I386svcpack) looks like:

@ECHO OFF
TITLE Dll Registration
ECHO.Registering Dlls . . .
%SystemRoot%System32regsvr32.exe /s msvbvm60.dll
REM %SystemRoot%System32dxdllreg.exe
ECHO.Done.


#31 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 23 March 2003 - 11:20 PM

If you want to use the OEMPreinstall facility then the drivers have to be copied to the hard drive during setup because %systemroot% is prepended to each of the paths in OEMPnPDriversPath (This of course just adds these to the Source registry key). So they are in $OEM$$1. $1 is copied to your C: drive or whatever.

D:spCD>dir /B /S /A:D $OEM$$1Drivers
D:spCD$OEM$$1DriversASPI
D:spCD$OEM$$1DriversHercules
D:spCD$OEM$$1DriversIntelATA
D:spCD$OEM$$1DriversIntelNIC
D:spCD$OEM$$1DriversIntelSEC
D:spCD$OEM$$1DriversMatrox
D:spCD$OEM$$1DriversASPIDocs
D:spCD$OEM$$1DriversASPIinclude
D:spCD$OEM$$1DriversIntelATAbak
D:spCD$OEM$$1DriversIntelNICWindows
D:spCD$OEM$$1DriversIntelNICWindowsDrivers
D:spCD$OEM$$1DriversIntelNICWindowsDriversIA32
D:spCD$OEM$$1DriversIntelSECWin2000
D:spCD$OEM$$1DriversIntelSECWin98
D:spCD$OEM$$1DriversIntelSECWinMe


With the winnt.sif entries like:

OemPreinstall=Yes
OemFilesPath="..$OEM$"
OemPnPDriversPath="DriversMatrox;DriversIntelNIC;DriversHercules"
DriverSigningPolicy=Ignore
;;NonDriverSigningPolicy=Ignore


#32 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 24 March 2003 - 12:41 AM

In reply to:

How did you modify the
TXTSETUP.SIF and DOSNET.INF?
I have wanted to include drivers in the install so windows will detect them itself. I have been successful with IBM ServeRAID 4Lx but failed with 2 nic's, audio and usb.

Use OemPnpDriversPath for the audio, nics and usb. For the raid, well here is what I did for the intel drivers. Read the posts above about the txtsetup.oem file which contains all this info in a different form.

DOSNET.INF, added these lines at the end of the sections:

[FloppyFiles.3]

d1,IdeBusDr.sys
d1,IdeChnDr.sys

[Files]

d1,IdeBusDr.sys
d1,IdeChnDr.sys
d1,IPrtCnst.dll
d1,IdeChnDr.inf
d1,diactfrm.inf
d1,dmusic.inf
d1,dplay.inf
d1,dsound.inf
d1,dxnt.inf
d1,dxbda.inf
d1,dxdllreg.inf
d1,dxntunp.inf
d1,dxver.inf
d1,ksreg.inf



TXTSETUP.SIF, these sections have the following lines, I did not add all these lines. I give them only to show the order:


[SourceDisksNames.x86]
1 = %wkscd%,cdrom_ip.5,,i386
2 = %spcd%,cdromsp3.tst,,i386,1
3 = "Intel Application Accelerator Driver",idebusdr.sys,,i386,1
_1 = %wks1%,disk101,,""
_2 = %wks2%,disk102,,""
_3 = %wks3%,disk103,,""
_4 = %wks4%,disk104,,""
1_ = %wks1%,disk101,,""
2_ = %wks2%,disk102,,""
3_ = %wks3%,disk103,,""
4_ = %wks4%,disk104,,""

[SourceDisksFiles]

yahoo.bmp = 1,,,,,,,,3,3
zapotec.bmp = 1,,,,,,,1,3,3
complus.flg = 1,,,,,,,2,0,0,~clbcatq.dll
IdeBusDr.sys = 3,,,,,,4_,4,1
IdeChnDr.sys = 3,,,,,,4_,4,0,0
IPrtCnst.dll = 3,,,,,,,2,0,0
IdeChnDr.inf = 3,,,,,,,20,0,0
dxnt.inf = 2,,,,,,,20,0,0
dxbda.inf = 2,,,,,,,20,0,0
dxdllreg.inf = 2,,,,,,,20,0,0
diactfrm.inf = 2,,,,,,,,3,3
dmusic.inf = 2,,,,,,,,3,3
dplay.inf = 2,,,,,,,,3,3
dsound.inf = 2,,,,,,,,3,3
dxntunp.inf = 2,,,,,,,,3,3
dxver.inf = 2,,,,,,,,3,3
ksreg.inf = 2,,,,,,,,3,3

[HardwareIdsDatabase]
1394609E&10483 = "sbp2port"
GenDisk = "Disk",{4D36E967-E325-11CE-BFC1-08002BE10318}
GenOptical = "Disk"
GenCdRom = "CdRom"
SCSIWormSONY____CD-R___CDU920S__ = "CdRom"
GenFloppyDisk = "flpydisk"
PCIVEN_8086&DEV_244B&CC_0101 = "IdeBusDr"
PCIVEN_8086&DEV_1230 = "intelide"
PCIVEN_8086&DEV_7010 = "intelide"
PCIVEN_8086&DEV_7111 = "intelide"
PCIVEN_8086&DEV_2411 = "intelide"
PCIVEN_8086&DEV_2421 = "intelide"
PCIVEN_8086&DEV_7199 = "intelide"
PCIVEN_105A&DEV_4D33 = "pciide"
PCICC_0101 = "pciide"
I_Primary_IDE_Channel = "IdeChnDr"
I_Secondary_IDE_Channel = "IdeChnDr"
*PNP0600 = "atapi"

[SCSI.Load]
cpqarray = cpqarray.sys,4
IdeChnDr = IdeChnDr.sys,4
atapi = atapi.sys,4
ncrc710 = ncrc710.sys,4

[BusExtenders.Load]
pcmcia = pcmcia.sys
IdeBusDr = IdeBusDr.sys
pciide = pciide.sys

[files.pci]
pci.sys,4

[files.IdeBusDr]
IdeBusDr.sys,4

[files.pciide]
pciide.sys,4
pciidex.sys,4

[BusExtenders]
pcmcia = "PCMCIA Support",files.pcmcia,pcmcia
IdeBusDr = "Intel® 82801BA Ultra ATA Controller",files.IdeBusDr,IdeBusDr
pciide = "PCI IDE Bus Driver",files.pciide,pciide

[SCSI]

ipsraidn = "IBM ServeRAID Adapter"
IdeChnDr = "Intel® Ultra ATA Controller"
atapi = "IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller"
ini910u = "Initio Ultra SCSI Host Adapter"



For reference, IdeBusDr.sys is a BootBusExtender and IdeChnDr.sys is a SCSI Miniport driver.

#33 Guest_DeadHamster_*

Guest_DeadHamster_*
  • Guests

Posted 24 March 2003 - 07:22 AM

jimmy, I noticed you integrated some drivers into the boot cd to skip the F6 screen without having to use MassStorageDrivers or OEMBootFiles. I am also trying to do this, but having a bit of trouble. I tried to integrate some recent adaptec drivers for various scsi cards by modifying where appropriate in [SourceDiskFiles], [scsi.load] and [scsi]. This worked fine in getting me past the text mode portion of the install, but when windows reboots and shows the splash screen, it BSOD's and gives me innaccesible boot device. Any idea if I missed something? I know I did not include the [HardwareIdsDatabase] portion because the adaptec txtsetup.oem did not have the entries. Though I would have expected that to be a problem during text mode setup if it were going to be a problem at all.

#34 Guest_DeeJay_*

Guest_DeeJay_*
  • Guests

Posted 24 March 2003 - 03:08 PM

Where does the svcpack.inf file go? In the i386 or in the svcpack directory? Does it work the same way for windows XP? I can't find the svcpack directory on my windows XP cd.

#35 jiimmy

jiimmy

    stranger

  • Members
  • Pip
  • 24 posts

Posted 24 March 2003 - 11:36 PM

DeadHampster,

First are you sure its using your drivers to acces the drives during TextMode... On mine it says during boot, "loading multi(0)disk(0)rdisk(0)partition(1) on IdeChnDr 0..." or something like that right before it searches the drives. Without the HardwareId, I dont see how it could select them. But it might just load everything in the list. Anyway you should definately include the hardwareID.

For GUI mode, Are your .sys files copied to system32Drivers? Check your drive to see if they are there. Check the SYSTEMServices key for your drivers to see if they look as they should. The key is setup up by windows from your entries in [SCSI] and [SCSI.load] at the very end of textmode when it says 'saving current configuration'. It is used to boot from during guimode. Just a note, during CD-ROM boot, windows uses the SYSTEMServices key in SETUPREG.HIV in the I386 folder. It loads all the drivers including ones specified in TXTSETUP.INF. At the end of T-mode, the registry is then saved to the system32config folder as well as backups saved with the '.sav' extensions. so you can always see what happened at the end of T-mode by loading these hives.

If any of the driver filenames are the same as any windows drivers then you are out of luck (unless you can rename the files?). This is because it will check them against the windows catalog signature file (sp3.cat) for the windows driver with the same name and it will fail and the file will be replaced by sfc.exe if it even boots which it may not and might be your BSOD. One example is adpu160m.sys. It cant even be used in [MassStorageDrivers].

There are other possible reasons but these come foremost to my mind right now.

#36 Guest_DeadHamster_*

Guest_DeadHamster_*
  • Guests

Posted 25 March 2003 - 07:23 AM

Actually, I did get it working. It will work through text mode even without the hardwareID's, but it dies when it gets to gui mode. But, I forget to look in the .inf instead of the txtsetup.oem for the ID's, so I found them when I went in there for something else. I got my adaptec 19160 integrated with no trouble, so now I will tackle updating the windows drivers to the latest version. Thanks for the info though.

-DH

#37 Guest_Jazkal_*

Guest_Jazkal_*
  • Guests

Posted 04 April 2003 - 08:41 PM

jiimmy,

Do you have any links that discuss integrating Mass Storage Device drivers into the Win2k source files? I am wanting to find more reading on the topic.

And I think you mentioned but didn't discuss (unless I missed it) integrating hotfix updates directly into the source files?

Thanks for the great info.

- Jazkal

#38 Guest_Jazkal_*

Guest_Jazkal_*
  • Guests

Posted 07 April 2003 - 04:22 PM

I found info on the slipstreaming of hotfixes here:
http://www.bink.nu/bootcd/sliphf.htm

I did have one question. After I edit the DOSNET.INF and TXTSETUP.SIF files to include my SCSI RAID card. Where do I put the actual files? in the root of i386? I did that, and during text mode setup, it says it can't find the SYS file for the SCSI.

Thanks,
- Jazkal

#39 Guest_Jazkal_*

Guest_Jazkal_*
  • Guests

Posted 09 April 2003 - 09:59 AM

QUOTE:
"If any of the driver filenames are the same as any windows drivers then you are out of luck (unless you can rename the files?). This is because it will check them against the windows catalog signature file (sp3.cat) for the windows driver with the same name and it will fail and the file will be replaced by sfc.exe if it even boots which it may not and might be your BSOD. One example is adpu160m.sys. It cant even be used in [MassStorageDrivers]. "

You might want to look at this page. It discusses how to force the file to be copied and used. That way you can use the new updated file.

http://www.jsifaq.co...6400/rh6483.htm

- Jazkal

#40 Jazkal2

Jazkal2

    Member

  • Members
  • PipPipPip
  • 58 posts

Posted 12 April 2003 - 08:55 AM

Does anyone know of any websites that discuss this or have additional information on how to integrate Mass Storage Devices into the Windows source files?

- Jazkal