Solved Configuring to Run Ghost 2003 from a RAM Drive

January 23, 2012 at 18:47:33
Specs: MS-DOS 7.1, Pentium 4 / 1GB
I recently created a custom Ghost 2003 boot floppy (2-floppy set) that has a CONFIG.SYS menu to choose among 16 possible ways to choose installed devices, etc. based on disks that can be created using the Norton Ghost Boot Wizard. This works fine in most situations and saves me having to keep a bunch of custom floppies for every possible computer and desired boot configuration. However, I am working on a batch program that would take several hours to run from the floppy drive because of all the constant reading and writing. My tests show that these same operations can be performed in a few seconds if run from a RAM drive.

The Windows 98se bootdisk at creates a RAM drive. So I took a hodgepoge of lines from my CONFIG.SYS & AUTOEXEC.BAT and did the same from the CONFIG.SYS & AUTOEXEC.BAT on the Windows 98se bootdisk to create a rough draft for the new files. Please excuse that these may have incompatible device and command combinations, and some comments and labels may seem to not have any purpose - it is a very rough draft.

What I need help on is to create a CONFIG.SYS & AUTOEXEC.BAT for a specific environment which includes all the drivers that might be used (making the 'assumption' that they are all compatible), and being careful not to take away memory and other resources that Ghost 2003 might need. I can then incorporate these modifications into the menus of the working CONFIG.SYS & AUTOEXEC.BAT files. I'll show the rough drafts and follow with some specific questions.

For reference, a typical CONFIG.SYS created by the Norton Ghost Boot Wizard might look like:

DEVICE = usb\aspiehci.sys /int /all
DEVICE = fwr\aspi1394.sys /int /all
DEVICE = cd\oakcdrom.sys /D:cd1
DEVICE = cd\btdosm.sys
DEVICE = cd\flashpt.sys
DEVICE = cd\btcdrom.sys /D:cd2
DEVICE = cd\aspi2dos.sys
DEVICE = cd\aspi8dos.sys
DEVICE = cd\aspi4dos.sys
DEVICE = cd\aspi8u2.sys
DEVICE = cd\aspicd.sys /D:cd3

and a typical AUTOEXEC.BAT created by the Norton Ghost Boot Wizard might look like:

@echo off
SET TZ=GHO+05:00
LH CD\MSCDEX.EXE /D:cd1 /D:cd2 /D:cd3

And now, here are the rough drafts:


;All CD/DVD(DOS), USB2.0(DOS), Firewire(DOS) ------- (special)

device=himem.sys /testmem:off

;FCBS=4 or ????????

DEVICE = usb\uhci.exe /int /all
DEVICE = usb\ohci.exe /int /all
DEVICE = usb\aspiohci.sys /int /all
DEVICE = usb\aspiuhci.sys /int /all
DEVICE = usb\aspiehci.sys /int /all
DEVICE = fwr\aspi1394.sys /int /all
DEVICE = cd\oakcdrom.sys /D:cd1
DEVICE = cd\btdosm.sys
DEVICE = cd\flashpt.sys
DEVICE = cd\btcdrom.sys /D:cd2
DEVICE = cd\aspi2dos.sys
DEVICE = cd\aspi8dos.sys
DEVICE = cd\aspi4dos.sys
DEVICE = cd\aspi8u2.sys
DEVICE = cd\aspicd.sys /D:cd3
DEVICE = net\protman.dos /I:\net
DEVICE = net\dis_pkt.dos
DEVICE = net\B44.dos

devicehigh=ramdrive.sys /E 4096 512 128

;SET run_guest=TRUE

:device=oakcdrom.sys /D:mscd001 
:device=btcdrom.sys /D:mscd001
:device=aspicd.sys /D:mscd001


@echo off

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
call setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
copy %RAMD%:\ > NUL
set comspec=%RAMD%:\
copy extract.exe %RAMD%:\ > NUL
copy readme.txt %RAMD%:\ > NUL

echo Please insert Windows 98 Startup Disk 2

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

SET TZ=GHO+05:00
prompt $p$g

REM Support for all CD/DVD(DOS), P2P(LPT), USB2.0(DOS), Firewire(DOS) -- (special)
ECHO NOTE: The USB 2.0 driver used on this floppy does not recognize flash drives.
REM LH CD\MSCDEX.EXE /D:cd1 /D:cd2 /D:cd3
LH %ramd%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%

REM echo Loading...
REM cls
echo Insert Ghost boot disk 2 (containing Ghost.exe)
if exist a:\ghost\ghost.exe goto GHOSTFND

cd \work
REM echo Loading...


rem SMARTDRV.EXE /C /F /V 4096 /E:8192 /B:8192

rem clean up environment variables
set CDROM=
set LglDrv=


C1> Could someone explain where the DOS memory areas are, and how the terms (expanded memory ?= EMS, extended memory ?= XMS, HMA, UMB's) apply to them. I thought there was just Conventional, Expanded and Extended memory. Do some of these terms overlap different memory areas? I keep running into conflicting information about what should go where and how.

C2> Is HIMEM.SYS essential to load DOS into the HMA? Do I understand correctly that without it there is only Conventional memory? And this just creates Extended Memory? In the line "device=himem.sys /testmem:off" how much do I gain by having the "/testmem:off" switch?

C3> Would I ever not want the line "DOS=HIGH,UMB"? Does this put DOS into Extended or Expanded memory?

C4> In the line "DEVICE=EMM386.EXE NOEMS VERBOSE", does using the "NOEMS" parameter mean there would be no Expanded memory? When EMM386.EXE uses extended memory to simulate expanded memory, can this create a problem with too little extended memory? Some websites say this device is necessary to load devices into UMB's, but I see lots of examples that use "DEVICEHIGH" without it and sometimes even without "HIMEM.SYS".

C5> Is there ever a reason I would not want to (or can't) load everything high?

C6> Should I specify "FILES", "STACKS", "BUFFERS" or "FCBS"? I want to optimize this for Ghost 2003.

C7> On three of the CD drivers the switches "/D:cd1", "/D:cd2" and "/D:cd3" or "/D:mscd001" for all three are used by different programmers. I see the connection to AUTOEXEC.BAT, but is the first method better if I would have more than one CD drive?

C8> Is there any particular order that the COINFIG.SYS commands have to or should be in?

C9> Does it matter which order the device drivers are loaded?

A1> The lines "set temp=c:\" and "set tmp=c:\" came from the Windows 98 boot disk. Are these needed here?

A2> Can you explain what "SET TZ=GHO+05:00" does?

A3> Is the line "GUEST.EXE" equivalent to "LOAD GUEST.EXE"? Same for MOUSE.COM, PARALINK.COM, etc.? Is there any reason not to load all of these high?

A4> I was reading up about SMARTDRV.EXE and thought the command "SMARTDRV.EXE /C /F /V 4096 /E:8192 /B:8192" might speed up image file creation. Is there any reason I would not want to use this? Do you agree with the switches I chose? Can this be loaded high? With the "/C" switch here, do I still have to flush the buffers before hitting the power button?

Any help with this would be greatly appreciated as all the conflicting information on the web about how DOS uses memory has gotten me very confused how to proceed. If Microsoft still provides technical support for DOS, a link would really help, though I did just recently find a glaringly obvious error on one of their web pages.

See More: Configuring to Run Ghost 2003 from a RAM Drive

Report •

January 25, 2012 at 19:32:37
✔ Best Answer
I'm terrible at all that memory stuff :/.

The only advice I can give is that you can edit that disk for space and add to the archive that is extracted.

If you just get an image(just an image not a self extractor) from here and use this tool in windows(I'm assuming that you are using windows to create the disk). It can be a lot easier to generate your disk without editing a physical floppy. Once finished use another tool to write the(saved) image to a disk, I was always used diskwriter. Failing that there are many other tools for this floating around the net.

You can gain a lot of space by deleting unnecessary files from the win98 disk, recreating the cab file with your own utilities is a good way to go. There are probably a lot of tools that can do it but I used TugZip. I selected MSZip in the options and the archive worked fine with "extract".

With the space saved and the compression on your utilities you might be able to make that a one disk set, but maybe not....

Report •
Related Solutions

Ask Question