Jump to content

DOS/NetBEUI boot disk for network install


Recommended Posts

I'm putting this here in the hope it will help someone, somewhere, someday save some time.

It is partially in answer to a query from someone (=Djé), but really wasn't relevant to the overall thread discussion at the time.

Just in case it helps anyone else out, I'll list here my autoexec.bat file which I use to connect to my "server" which is running XP Pro, and which has NetBEUI installed.

It is based on the MS standard WinME boot disk:


@ECHO OFF
path=c:\windows;c:\windows\command
\hibinv.exe
call \checksr.bat
IF "%config%"=="QUICK" GOTO QUICK
set EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
call setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
path=%RAMD%:\;a:\;a:\net\;%path%;%CDROM%:\
copy command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
copy extract.exe %RAMD%:\ > NUL
copy readme.txt %RAMD%:\ > NUL

:ERROR
IF EXIST ebd.cab GOTO EXT
echo Please insert Windows Millennium Edition Startup Disk 2
echo.
pause
GOTO ERROR

:EXT
%RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL
echo The diagnostic tools were successfully loaded to drive %RAMD%.
echo.

IF "%config%"=="NOCD" GOTO QUIT
IF "%config%"=="HELP" GOTO HELP
LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%
::If MSCDEX doesn't find a drive...
IF ERRORLEVEL 1 SET CDPROB=1
::
GOTO QUIT

:HELP
LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%
::If MSCDEX doesn't find a drive...
IF ERRORLEVEL 1 SET CDPROB=1
cls
call help.bat
::
GOTO QUIT

:QUIT
call fixit.bat
rem clean up environment variables
set CDPROB=
set CDROM=
set LglDrv=
GOTO QUICK

:QUICK

echo.
choice /C:yn "Would you like to load Smartdrive "
if errorlevel=2 goto END
if errorlevel=1 goto LOAD

:LOAD
smartdrv
echo Smartdrive has been loaded
GOTO NET

:END
cls
echo Smartdrive has NOT been loaded.
echo If you would like to load it, type "smartdrv"
echo.

:NET
net init
netbind
net start /verbose /yes
@echo on

echo.
call mapme010
echo.
call redir

The only real changes I've made there are to include the "a:\net" to the path statement which contains the contents of an ancient (NT4) MS client boot floppy.

I've also used the "choice.com" so the end user can decide whether or not to load smartdrv, but this step is largely a waste of time :) (as you always should if doing an unattended install).

The "mapme010.bat" file looks like:


[menu]
menuitem=HELP, Help
menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menuitem=QUICK, Minimal Boot
menudefault=HELP,30
menucolor=7,0

[HELP]
device=oakcdrom.sys /D:mscd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:mscd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:mscd001
devicehigh=ramdrive.sys /E 2048
device=a:\net\ifshlp.sys

[CD]
device=oakcdrom.sys /D:mscd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:mscd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:mscd001
devicehigh=ramdrive.sys /E 2048
device=a:\net\ifshlp.sys

[NOCD]
devicehigh=ramdrive.sys /E 2048
device=a:\net\ifshlp.sys

[QUICK]

[COMMON]
NumLock=On
files=50
buffers=10
dos=high,umb
stacks=9,256
lastdrive=z
device=display.sys con=(ega,,1)
country=044,850,country.sys
install=mode.com con cp prepare=((850) ega.cpi)
install=mode.com con cp select=850

The only changes there are adding the "device=a:\net\ifshlp.sys" entries so that the net bind type steps work.

Also, I have set the default boot menu entry to "HELP", so that if after kicking off an unattended install i get distracted and forget to remove my boot cd, it won't get stuck in an endless loop of doing the TEXTMODE portion of setup. Instead, it will get stuck in the WinME Help screen. So I can just remove my boot cd, reboot and let my unattended win setup continue.

:puke: That's not unattended! I hear you say. True, but i'm new to this, so it's a first step. I'd love to find a way of getting the "press any key to boot off the CD..." message on my boot disk (like a real Win CD, or BartPE) so if anyone has ideas I'm listening.

Next one is the "system.ini"


[network]
filesharing=no
printsharing=no
autologon=yes
computername=Lane1
lanroot=A:\NET
username=user
workgroup=WORKGROUP
reconnect=no
dospophotkey=N
lmlogon=0
preferredredir=full
autostart=full
maxconnections=8

[network drivers]
;netcard=elnk3.dos
;netcard=pcntnd.dos
netcard=b57.dos
transport=ndishlp.sys,*netbeui
devdir=A:\NET
LoadRMDrivers=yes

[Password Lists]
*Shares=A:\NET\Shares.PWL

Note that this example is specific to the Broadcom NetXtreme Gigabit Ethernet driver "b57.dos", so replace with whatever DOS/NDIS driver your network card requires.

Make sure to put whatever default username you are going to connect with in here.

The last file (really) is the "protocol.ini":


[network.setup]
version=0x3110
netcard=ms$b57,1,MS$B57,3
transport=ms$ndishlp,MS$NDISHLP
;transport=tcpip-32l,MSTCP32
;transport=tcpip,TCPIP
;lana0=ms$pcntn3,1,tcpip-32l
;lana0=ms$b57,1,tcpip
lana1=ms$b57,1,ms$ndishlp

[protman]
DriverName=PROTMAN$
PRIORITY=MS$NDISHLP

[MS$NDISHLP]
DriverName=ndishlp$
BINDINGS=MS$B57

;[MSTCP32]
;BINDINGS=MS$B57
;LANABASE=0

[MS$B57]
DriverName=B57$
LED1=0x0

[B57]
Adapters=MS$B57

;[tcpip]
;NBSessions=6
;DefaultGateway0=
;SubNetMask0=
;IPAddress0=
;DisableDHCP=0
;DriverName=TCPIP$
;BINDINGS=MS$B57
;LANABASE=0

[NETBEUI]
DriverName=Netbeui$
SESSIONS=10
ncbs=12
BINDINGS=B57$
LANABASE=0

Notice I have commented out the sections to do with TCP/IP, since I'm using NetBEUI.

Again this example is for the Broadcom driver B57.dos

Note that in some places, it is lowercase and others uppercase.

I'm not sure how critical this is, but I think that at least some lines matter.

What i do if I'm changing this file to use a different driver, is use wordpad to do a "Find/Replace all" and make it CASE SENSITIVE, so I replace twice, once for lower case and once for upper case.

I hope that helps somebody out there and hasn't sent too many ppl off to sleep.

I suspect I could tidyup my batch files a bit and reduce the number of refs to A:\, since I do get a couple of errors saying things like

"error writing to drive a:

Abort, Retry, Ignore?"

If anyone can tell me the likely lines causing that I'd be grateful.

It seems to pop up just after accepting my password and saying "the command completed successfully".

Sorry for such a long post.

tU

Link to comment
Share on other sites


@theUtmost: Thank you very much. This is an impressive tutorial. :thumbup

So far I just skimed through it because of no time to work on my boot disk, but I will soon give it a deeper insight. And report any comment/question.

I will also try to make an addition to it: internationalisation for use with different code pages and keyboards.

Link to comment
Share on other sites

theUtmost,

This looks like nice work. To get the "press a key to boot from cd" thing working gohere and grab jo.sys and put it on your floppy disk. You can even change the default timeout value.

There are some other goodies on that website too.

Hope that helps you out. It's been working for me for about 3 + years on our DOS bootdisk at work.

Link to comment
Share on other sites

@ theUtmost and the rest,

Which is actually best NetBui or TCP/IP?? I am REALLY new to this scripting to the server and would like to know the HARD FACTS.

Currently I have just put together a TCP/IP using the boot disk from http://www.netbootdisk.com/index.htm. My login batch file is 4 lines from the floppy.

net use z: \\file-server\OS
z:
cd\prep
gdisk.bat

The batch file from the server is here.

gdisk 1 /batch:param1.gg
lh smartdrv.exe
cd\htpc\i386
WINNT.EXE /u:UNATTEND.txt /s:z:\HTPC\i386

This will automatically start the install process using winnt.exe. My understanding is that NetBui is slower than TCP/IP and that is why I have never tried it. So if there is something I am missing please let me know. I have tried this method so far with 3 Desktops with no problems with OS install. I do have a problem installing the driver packs though, they all install except the audio drivers. And then then as I log in, a message box comes up with "cmd.exe There is no disk in the drive". This I'm sure is just a drive letter that needs to be changed as the OS loads up fine.

Thanks

JD

Link to comment
Share on other sites

@Rahbas

Excellent, thanks heaps for that I will give it a go!

@03GrandAmGT

The HARD FACTS as you put them depend a lot on your network environment.

I've posted here simply "what I use".

If TCP/IP is working for you then stick with it and ignore anything I've said :P

I don't have any definitive timings to compare between NetBEUI vs TCP/IP, since I have not had much luck with DOS-TCP/IP boot disks in my particular network environment.

If anyone else has the time, the tools and the inclination, I too would be interested in knowing the relative speeds of file transfer between:

  1. Dos client with TCP/IP <-> Win32 server with TCP/IP
  2. Win32 (BartPE or WinPE) client with TCP/IP <-> Win32 server with TCP/IP
  3. Dos client with NetBEUI <-> Win32 server with NetBEUI
  4. Win32 (BartPE or WinPE) client with NetBEUI <-> Win32 server with NetBEUI

Personal anecdotal evidence suggests that my DOS NetBEUI boot disk goes from power on to "file copy phase complete" quicker than my DiegoStarted BartPE disk running TCP/IP, but I have not actually timed either.

Further, I should point out that this may simply be a result of the BartPE environment taking a lot longer to boot, then load network drivers etc. It may be that once the BartPE Win32 environment is fully loaded, that the ACTUAL file copying phase is quicker than my DOS NetBEUI boot disk, even if my DOS NetBEUI boot disk starts copying files sooner.

However, that's not really the comparison you've asked about, since I can only really compare #2 above with #3, which is a bit like comparing apples and oranges. Really we need to compare #1 with #3 and #2 with #4.

My gut feeling is that under a full end-to-end Win32 environment, NetBEUI will be slower than TCP/IP, assuming there are no Name resolution issues etc.

When you throw DOS into the mix though, who knows?

I think any difference is likely to be minor though, and we might end up quibbling over very small percentages in terms of the total time of the unattended build.

Bottom line: use what works for you.

Link to comment
Share on other sites

theUtmost,

Yeah who knows what works at the fastest speed. I do know when I tried WinPE and Sysprep that it really seemed ALOT slower transferring over the network. In DOS mode using TCP/IP you can barely see the names of the files (10/100 network). The actual process time when the files have been copied over and install actually takes place, is BLAZINGLY fast. :thumbup:thumbup So this is still one of those things that what works great for one doesn't always mean the same for another. If I get a chance I will do up a NetBUI disk and check it with a Stopwatch. :P:P:P

jd

Link to comment
Share on other sites

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...