Jump to content

Forgotten Setup Secrets Revealed


Recommended Posts


ok man, thanx, i did try te program... i hate shareware!!!

but i did see your point, so tell me .

should i make it for .sif only? which will be easyer.

or a lot of files? like ini inf and stuff?

and, should i take the look of that program and go on from there or make one from scratch?

and some help would be great dude.

i never have wrestled with this stuff so...

damian666

Link to comment
Share on other sites

@damian666

Actually, .ini, .inf and .sif files present the same "basic" structure, i.e.:

[Section]
Item=value

with just a few minor changes, for example the linked to .ini viewer seems not to "like" items inside double quotes, but I guess that can be easily fixed, in other words, if it will work for .sif files then it will work also for .ini and .inf ones ;).

About helping you, I am afraid I am the latest person on this board with programming knowledge, exception made for a few small batches....

.... but I know AutoIt has a treeview feature, so it should be possible to write this thingie in AutoIt language.

jaclaz

Link to comment
Share on other sites

@all

It seems like the other day was "wish" day on boot-land and Nuno Brito :thumbup has started working on this app, there is already a fully working (but still missing some asked for features) release here, ninf 1.1, enjoy:

http://www.boot-land.net/forums/index.php?...ic=3960&hl=

@damian666

It seems like there is not anymore need for your work, but thank you very much for your offer to do it :), I am sure I can find some other interesting project for you :whistle: , should you still be willing to write something for the community ;), again, thanks for your kind offer.

jaclaz

Link to comment
Share on other sites

I'm trying to write a batch script which extracts all installation files (I will later change this to only the ones used during the whole installation process) and which changes my TXTSETUP.SIF. So far I've come up with the following, for use with HFSLIP.

HFSLIP_POST_SPEEDUP_ALPHA.CMD

@ECHO OFF

IF NOT DEFINED HFSVER (
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT EXIST HFTOOLS CD..
IF NOT EXIST HFTOOLS\HFSPEEDUP.INI (
ECHO.&ECHO Please make sure you are running this program
ECHO from the HFSLIP or the HFSLIP\HFTOOLS folder.
ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF
)
IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF (
ECHO.&ECHO Unable to find SOURCESS\I386\TXTSETUP.SIF.
ECHO Please make sure to run HFSLIP first.
ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF
)
IF NOT EXIST HFTOOLS\MUNGE.EXE (
ECHO.&ECHO Unable to find HFTOOLS\MUNGE.EXE.
ECHO Please verify that the file exists.
ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF
)
IF EXIST SOURCESS\I386\TXTSETUP.BAK (
DEL /F/Q SOURCESS\I386\TXTSETUP.BAK
)
)
IF NOT DEFINED HFSVER CLS
ECHO.&ECHO Expand compressed setup files to speed up boot process...
FOR /F %%I IN ('DIR SOURCESS\I386\*.*_') DO EXPAND -R SOURCESS\I386\%%I
FOR /F %%I IN ('DIR SOURCESS\I386\*.*_') DO DEL /F/Q SOURCESS\I386\%%I
ECHO.&ECHO Do not load unnessary setup files during boot process...
MUNGE HFTOOLS\HFSPEEDUP.INI -i -a SOURCESS\I386\TXTSETUP.SIF
GOTO :EOF
:EOF

HFSPEEDUP.INI

"fat	  = fastfat.sys" "fat	  = fastfat.sys,,noload"
"mps_up = halapic.dll" "mps_up = halapic.dll,,noload"
"mps_mp = halapic.dll" "mps_mp = halapic.dll,,noload"
"syspro_mp = hal.dll" "syspro_mp = hal.dll,,noload"
"cpqarray = cpqarray.sys,4" "cpqarray = cpqarray.sys,4,noload"
"aha154x = aha154x.sys,4" "aha154x = aha154x.sys,4,noload"
"sparrow = sparrow.sys,4" "sparrow = sparrow.sys,4,noload"
"symc810 = symc810.sys,4" "symc810 = symc810.sys,4,noload"
"aic78xx = aic78xx.sys,4" "aic78xx = aic78xx.sys,4,noload"
"i2omp = i2omp.sys,4" "i2omp = i2omp.sys,4,noload"
"dac960nt = dac960nt.sys,4" "dac960nt = dac960nt.sys,4,noload"
"ql10wnt = ql10wnt.sys,4" "ql10wnt = ql10wnt.sys,4,noload"
"amsint = amsint.sys,4" "amsint = amsint.sys,4,noload"
"asc = asc.sys,4" "asc = asc.sys,4,noload"
"asc3550 = asc3550.sys,4" "asc3550 = asc3550.sys,4,noload"
"mraid35x = mraid35x.sys,4" "mraid35x = mraid35x.sys,4,noload"
"ini910u = ini910u.sys,4" "ini910u = ini910u.sys,4,noload"
"ql1240 = ql1240.sys,4" "ql1240 = ql1240.sys,4,noload"
"aic78u2 = aic78u2.sys,4" "aic78u2 = aic78u2.sys,4,noload"
"symc8xx = symc8xx.sys,4" "symc8xx = symc8xx.sys,4,noload"
"sym_hi = sym_hi.sys,4" "sym_hi = sym_hi.sys,4,noload"
"sym_u3 = sym_u3.sys,4" "sym_u3 = sym_u3.sys,4,noload"
"asc3350p = asc3350p.sys,4" "asc3350p = asc3350p.sys,4,noload"
"abp480n5 = abp480n5.sys,4" "abp480n5 = abp480n5.sys,4,noload"
"cd20xrnt = cd20xrnt.sys,4" "cd20xrnt = cd20xrnt.sys,4,noload"
"ultra = ultra.sys,4" "ultra = ultra.sys,4,noload"
"adpu160m = adpu160m.sys,4" "adpu160m = adpu160m.sys,4,noload"
"dpti2o = dpti2o.sys,4" "dpti2o = dpti2o.sys,4,noload"
"ql1080 = ql1080.sys,4" "ql1080 = ql1080.sys,4,noload"
"ql1280 = ql1280.sys,4" "ql1280 = ql1280.sys,4,noload"
"ql12160 = ql12160.sys,4" "ql12160 = ql12160.sys,4,noload"
"perc2 = perc2.sys,4" "perc2 = perc2.sys,4,noload"
"hpn = hpn.sys,4" "hpn = hpn.sys,4,noload"
"cbidf2k = cbidf2k.sys,4" "cbidf2k = cbidf2k.sys,4,noload"
"dac2w2k = dac2w2k.sys,4" "dac2w2k = dac2w2k.sys,4,noload"
"toside = toside.sys" "toside = toside.sys,,noload"
"lbrtfdc = lbrtfdc.sys" "lbrtfdc = lbrtfdc.sys,,noload"
"floppy = sfloppy.sys" "floppy = sfloppy.sys,,noload"

The problem is that the expand section in the batch script doesn't work. I'm doing something wrong, probably something stupid even, but I can't figure out what. The second problem is that the MUNGE command doesn't quite work; it stops half way through, so it doesn't change all my entries above and another thing is that it changes something like "floppy = sfloppy.sys,blah,blah" to "floppy = sfloppy.sys,,noload,blah,blah", whereas it should only change the exact sentence "floppy = sfloppy.sys" to "floppy = sfloppy.sys,,noload".

Stuck here, so I hope that someone can help me on my way again a bit.

Link to comment
Share on other sites

First of all I'd suggest you at least try using the /b switch with your dir command.

<Edit>

Also I hope you realise that if any file fails to correctly expand it would be deleted in the next step!

@ECHO OFF


IF NOT DEFINED HFSVER (

IF NOT EXIST HFTOOLS CD..

IF NOT EXIST HFTOOLS\HFSPEEDUP.INI (

ECHO.&ECHO Please make sure you are running this program

ECHO from the HFSLIP or the HFSLIP\HFTOOLS folder.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF (

ECHO.&ECHO Unable to find SOURCESS\I386\TXTSETUP.SIF.

ECHO Please make sure to run HFSLIP first.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF NOT EXIST HFTOOLS\MUNGE.EXE (

ECHO.&ECHO Unable to find HFTOOLS\MUNGE.EXE.

ECHO Please verify that the file exists.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF EXIST SOURCESS\I386\TXTSETUP.BAK (

DEL/F SOURCESS\I386\TXTSETUP.BAK)

CLS)


ECHO.&ECHO Expand compressed setup files to speed up boot process...

PUSHD SOURCESS\I386

FOR /F %%I IN ('DIR/B/A-D *_') DO (

EXPAND -R %%I>NUL 2>&1&&DEL/F %%I)

POPD

<snip>

</Edit>

Link to comment
Share on other sites

First of all I'd suggest you at least try using the /b switch with your dir command.

Thank you, forgot all about that :blushing:

<Edit>

Also I hope you realise that if any file fails to correctly expand it would be deleted in the next step!

@ECHO OFF


IF NOT DEFINED HFSVER (

IF NOT EXIST HFTOOLS CD..

IF NOT EXIST HFTOOLS\HFSPEEDUP.INI (

ECHO.&ECHO Please make sure you are running this program

ECHO from the HFSLIP or the HFSLIP\HFTOOLS folder.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF (

ECHO.&ECHO Unable to find SOURCESS\I386\TXTSETUP.SIF.

ECHO Please make sure to run HFSLIP first.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF NOT EXIST HFTOOLS\MUNGE.EXE (

ECHO.&ECHO Unable to find HFTOOLS\MUNGE.EXE.

ECHO Please verify that the file exists.

ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF)

IF EXIST SOURCESS\I386\TXTSETUP.BAK (

DEL/F SOURCESS\I386\TXTSETUP.BAK)

CLS)


ECHO.&ECHO Expand compressed setup files to speed up boot process...

PUSHD SOURCESS\I386

FOR /F %%I IN ('DIR/B/A-D *_') DO (

EXPAND -R %%I>NUL 2>&1&&DEL/F %%I)

POPD

<snip>

</Edit>

I thought about it, yes, but didn't know how to solve it. Thank you for pointing it out and for posting a solution :)

My current code is as follows, but it now lacks the part which is supposed to change the TXTSETUP.SIF file. I don't know how to change certain strings in that file automatically. Do you have any idea how I can do this? MUNGE.EXE doesn't seem to be a good solution unfortunately.

@ECHO OFF
IF NOT DEFINED HFSVER (
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT EXIST HFTOOLS CD..
IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF (
ECHO.&ECHO Unable to find SOURCESS\I386\TXTSETUP.SIF.
ECHO Please make sure to run HFSLIP first.
ECHO Press any key to quit.&PAUSE >NUL&GOTO :EOF
)
)
IF NOT DEFINED HFSVER CLS
ECHO.&ECHO Expanding compressed setup files to speed up boot process...
PUSHD SOURCESS\I386
FOR /F %%I IN ('DIR/B/A-D *_') DO (
EXPAND -R %%I>NUL 2>&1&&DEL /F/Q %%I)
POPD
GOTO :EOF
:EOF

Link to comment
Share on other sites

Changed some things again...

@ECHO OFF

IF NOT DEFINED HFSVER (
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT EXIST HFTOOLS CD..
IF NOT EXIST HFTOOLS\HFSPEEDUP.INI GOTO :EOF
IF NOT EXIST HFTOOLS\MUNGE.EXE GOTO :EOF
IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF GOTO :EOF
IF EXIST SOURCESS\I386\TXTSETUP.BAK (
DEL /F/Q SOURCESS\I386\TXTSETUP.BAK
)
)
IF NOT DEFINED HFSVER CLS

ECHO.&ECHO Expanding compressed setup files to speed up boot process...
PUSHD SOURCESS\I386
FOR /F %%I IN ('DIR/B/A-D *_') DO (
EXPAND -R %%I>NUL 2>&1&&DEL /F/Q %%I)
POPD

ECHO.&ECHO Do not load unnessary setup files during boot process...
MUNGE HFTOOLS\HFSPEEDUP.INI -i -a SOURCESS\I386\TXTSETUP.SIF
GOTO :EOF
:EOF

And the input file for the MUNGE command...

"cpqarray = cpqarray.sys,4" "cpqarray = cpqarray.sys,4,noload"
"aha154x = aha154x.sys,4" "aha154x = aha154x.sys,4,noload"
"sparrow = sparrow.sys,4" "sparrow = sparrow.sys,4,noload"
"symc810 = symc810.sys,4" "symc810 = symc810.sys,4,noload"
"aic78xx = aic78xx.sys,4" "aic78xx = aic78xx.sys,4,noload"
"i2omp = i2omp.sys,4" "i2omp = i2omp.sys,4,noload"
"dac960nt = dac960nt.sys,4" "dac960nt = dac960nt.sys,4,noload"
"ql10wnt = ql10wnt.sys,4" "ql10wnt = ql10wnt.sys,4,noload"
"amsint = amsint.sys,4" "amsint = amsint.sys,4,noload"
"asc = asc.sys,4" "asc = asc.sys,4,noload"
"asc3550 = asc3550.sys,4" "asc3550 = asc3550.sys,4,noload"
"mraid35x = mraid35x.sys,4" "mraid35x = mraid35x.sys,4,noload"
"ini910u = ini910u.sys,4" "ini910u = ini910u.sys,4,noload"
"ql1240 = ql1240.sys,4" "ql1240 = ql1240.sys,4,noload"
"aic78u2 = aic78u2.sys,4" "aic78u2 = aic78u2.sys,4,noload"
"symc8xx = symc8xx.sys,4" "symc8xx = symc8xx.sys,4,noload"
"sym_hi = sym_hi.sys,4" "sym_hi = sym_hi.sys,4,noload"
"sym_u3 = sym_u3.sys,4" "sym_u3 = sym_u3.sys,4,noload"
"asc3350p = asc3350p.sys,4" "asc3350p = asc3350p.sys,4,noload"
"abp480n5 = abp480n5.sys,4" "abp480n5 = abp480n5.sys,4,noload"
"cd20xrnt = cd20xrnt.sys,4" "cd20xrnt = cd20xrnt.sys,4,noload"
"ultra = ultra.sys,4" "ultra = ultra.sys,4,noload"
"adpu160m = adpu160m.sys,4" "adpu160m = adpu160m.sys,4,noload"
"dpti2o = dpti2o.sys,4" "dpti2o = dpti2o.sys,4,noload"
"ql1080 = ql1080.sys,4" "ql1080 = ql1080.sys,4,noload"
"ql1280 = ql1280.sys,4" "ql1280 = ql1280.sys,4,noload"
"ql12160 = ql12160.sys,4" "ql12160 = ql12160.sys,4,noload"
"perc2 = perc2.sys,4" "perc2 = perc2.sys,4,noload"
"hpn = hpn.sys,4" "hpn = hpn.sys,4,noload"
"cbidf2k = cbidf2k.sys,4" "cbidf2k = cbidf2k.sys,4,noload"
"dac2w2k = dac2w2k.sys,4" "dac2w2k = dac2w2k.sys,4,noload"
"4,noload,noload" "4,noload"
"toside = toside.sys" "toside = toside.sys,,noload"
"lbrtfdc = lbrtfdc.sys" "lbrtfdc = lbrtfdc.sys,,noload"
"floppy = sfloppy.sys" "floppy = sfloppy.sys,,noload"
",,noload,,noload" ",,noload"

Haven't tested the above yet. Need to get some sleep now, so will give it a try tomorrow. Hope it'll work, but I still need to add the following to the above script somehow...

"fat	  = fastfat.sys" "fat	  = fastfat.sys,,noload"
"mps_up = halapic.dll" "mps_up = halapic.dll,,noload"
"mps_mp = halapic.dll" "mps_mp = halapic.dll,,noload"
"syspro_mp = hal.dll" "syspro_mp = hal.dll,,noload"

Link to comment
Share on other sites

Just a quick rant, because it's one of those things which really does get me riled.

I gave the correct switches for the DEL command in my example! There is no /Q switch needed or required in any case throughout your script.

As for the munge stuff, I really don't know anything about this tool . If all you wanted was a method of replacing lines in a file there are many tools available to do this which look better than the one you chose.

Link to comment
Share on other sites

As for the munge stuff, I really don't know anything about this tool . If all you wanted was a method of replacing lines in a file there are many tools available to do this which look better than the one you chose.

I'm looking for a simple, free of charge command line tool which can do this for me. Munge belongs to the Windows NT 4.0 Resource Kit and does exactly this... but as I've found out now it can't handle files as large as TXTSETUP.SIF, so I need to look for a different tool. If you know of any command line tool which could do this, please let me know.

Link to comment
Share on other sites

Seems like I've got it all working now :w00t:

@ECHO OFF

IF NOT DEFINED HFSVER (
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT EXIST HFTOOLS CD..
IF NOT EXIST HFTOOLS\SED.EXE GOTO :EXPAND
IF NOT EXIST HFTOOLS\HFSPEEDUP.SED GOTO :EXPAND
IF NOT EXIST SOURCESS\I386\TXTSETUP.SIF GOTO :EXPAND
)
IF NOT DEFINED HFSVER CLS

:NOLOAD
ECHO.&ECHO Do not load unnessary setup files during boot process...
PUSHD SOURCESS\I386
IF EXIST TXTSETUP.BAK DEL /F TXTSETUP.BAK
COPY /Y TXTSETUP.SIF TXTSETUP.BAK
POPD
PUSHD HFTOOLS
SED -f HFSPEEDUP.SED ..\SOURCESS\I386\TXTSETUP.BAK > ..\SOURCESS\I386\TXTSETUP.SIF
POPD
GOTO :EXPAND

:EXPAND
ECHO.&ECHO Expanding compressed setup files to speed up boot process...
PUSHD SOURCESS\I386
FOR /F %%I IN ('DIR/B/A-D *_') DO (
EXPAND -R %%I>NUL 2>&1&&DEL /F %%I)
POPD
GOTO :EOF

:EOF

I'm using SED now for replacing the lines I would like to have changed. The following is my input file.

# [FileSystems.Load]
s/fat = fastfat.sys/fat = fastfat.sys,,noload/g

# [Hal.Load]
/,2,hal.dll/!s/mps_up = halapic.dll/mps_up = halapic.dll,,noload/g
s/mps_mp = halapic.dll/mps_mp = halapic.dll,,noload/g
s/syspro_mp = hal.dll/syspro_mp = hal.dll,,noload/g

# [SCSI.Load]
s/cpqarray = cpqarray.sys,4/cpqarray = cpqarray.sys,4,noload/g
s/aha154x = aha154x.sys,4/aha154x = aha154x.sys,4,noload/g
s/sparrow = sparrow.sys,4/sparrow = sparrow.sys,4,noload/g
s/symc810 = symc810.sys,4/symc810 = symc810.sys,4,noload/g
s/aic78xx = aic78xx.sys,4/aic78xx = aic78xx.sys,4,noload/g
s/i2omp = i2omp.sys,4/i2omp = i2omp.sys,4,noload/g
s/dac960nt = dac960nt.sys,4/dac960nt = dac960nt.sys,4,noload/g
s/ql10wnt = ql10wnt.sys,4/ql10wnt = ql10wnt.sys,4,noload/g
s/amsint = amsint.sys,4/amsint = amsint.sys,4,noload/g
s/asc = asc.sys,4/asc = asc.sys,4,noload/g
s/asc3550 = asc3550.sys,4/asc3550 = asc3550.sys,4,noload/g
s/mraid35x = mraid35x.sys,4/mraid35x = mraid35x.sys,4,noload/g
s/ini910u = ini910u.sys,4/ini910u = ini910u.sys,4,noload/g
s/ql1240 = ql1240.sys,4/ql1240 = ql1240.sys,4,noload/g
s/aic78u2 = aic78u2.sys,4/aic78u2 = aic78u2.sys,4,noload/g
s/symc8xx = symc8xx.sys,4/symc8xx = symc8xx.sys,4,noload/g
s/sym_hi = sym_hi.sys,4/sym_hi = sym_hi.sys,4,noload/g
s/sym_u3 = sym_u3.sys,4/sym_u3 = sym_u3.sys,4,noload/g
s/asc3350p = asc3350p.sys,4/asc3350p = asc3350p.sys,4,noload/g
s/abp480n5 = abp480n5.sys,4/abp480n5 = abp480n5.sys,4,noload/g
s/cd20xrnt = cd20xrnt.sys,4/cd20xrnt = cd20xrnt.sys,4,noload/g
s/ultra = ultra.sys,4/ultra = ultra.sys,4,noload/g
s/adpu160m = adpu160m.sys,4/adpu160m = adpu160m.sys,4,noload/g
s/dpti2o = dpti2o.sys,4/dpti2o = dpti2o.sys,4,noload/g
s/ql1080 = ql1080.sys,4/ql1080 = ql1080.sys,4,noload/g
s/ql1280 = ql1280.sys,4/ql1280 = ql1280.sys,4,noload/g
s/ql12160 = ql12160.sys,4/ql12160 = ql12160.sys,4,noload/g
s/perc2 = perc2.sys,4/perc2 = perc2.sys,4,noload/g
s/hpn = hpn.sys,4/hpn = hpn.sys,4,noload/g
s/cbidf2k = cbidf2k.sys,4/cbidf2k = cbidf2k.sys,4,noload/g
s/dac2w2k = dac2w2k.sys,4/dac2w2k = dac2w2k.sys,4,noload/g

# [BusExtenders.Load]
s/toside = toside.sys/toside = toside.sys,,noload/g
s/lbrtfdc = lbrtfdc.sys/lbrtfdc = lbrtfdc.sys,,noload/g

# [ScsiClass.Load]
s/floppy = sfloppy.sys/floppy = sfloppy.sys,,noload/g

# FIX ANY ERRORS WHICH MAY OCCUR
s/4,noload,noload/4,noload/g
s/,,noload,,noload/,,noload/g

I doubt that I need the "fix" entries above, but this was a problem which could occur when using MUNGE.EXE. I need to test all this somewhat further, see if I can clean up my code some more, et cetera. Any input is welcome! And Yzöwl, thank you for your advice! :)

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...