Yet another Ghost Network Boot CD instruction guide

This guide is created specifically for Symantec Ghost 8.0 (and probably higher) which uses two floppy disks instead of just one like the previous versions. I have seen a couple of other guides for making Ghost Bootable CD-ROMs, but I couldn't get them to work with Ghost 8.0, so I went my own route on this one.

I will guide you through my whole thought process rather than just give the parameters necessary so you can better understand how to adapt this guide to suit your needs.

My goal was to create a bootable CD to be used in our older computers with bad floppy drives.

We needed this because we ran into issues with the new Ghost client conflicting with older versions, a mix of virtual and standard Ghost Boot partitions causing problems imaging, etc. etc. Also, the imaging process (in this case) would be carried out by people who have never really even used Ghost before, so I wanted to automate as much of the work as possible.

To start, I made 2 ghost boot disks. One network bootable disk (for 3Com 90x), and one CD/DVD Startup Disk. I had to use MS-DOS instead of PC-DOS. PC-DOS does not work properly in my environment, and from what I have read, it will not work properly in most computing environments when booting from a CD.

My next step was to make sure I loaded all of the necessary drivers for both the CD ROM Drive and the network card. I know the drivers are loaded in the config.sys file so that's where i started.

The contents of my Network boot config.sys:

*************************************************

[menu]

menuitem=FROMFLPY, This computer was started from a Ghost boot disk

menuitem=FROMCD, This computer was started from a Ghost bootable CD

[FROMFLPY]

[FROMCD]

[COMMON]

DEVICE=\net\protman.dos /I:\net

DEVICE=\net\dis_pkt.dos

DEVICE=\net\EL90X.DOS

LASTDRIVE = Z

*************************************************

And here are the contents of my CD Boot config.sys:

*************************************************

[menu]

menuitem=FROMFLPY, This computer was started from a Ghost boot disk

menuitem=FROMCD, This computer was started from a Ghost bootable CD

[FROMFLPY]

[FROMCD]

[COMMON]

DEVICE = oakcdrom.sys /D:cd1

DEVICE = btdosm.sys

DEVICE = flashpt.sys

DEVICE = btcdrom.sys /D:cd2

DEVICE = aspi2dos.sys

DEVICE = aspi8dos.sys

DEVICE = aspi4dos.sys

DEVICE = aspi8u2.sys

DEVICE = inicd.sys /D:cd3

LASTDRIVE = Z

*************************************************

So easy enough, I just combined the [COMMON] section from both files - a simple copy and paste. In testing, I found that it would hit an error when loading the third CD device so I just eliminated that line.

Test again, and that works like a charm.

My next goal was to automate the process. I'm no expert on this but it seems to me that getting rid of the [menu] section would be a good first step. Then my powers of deduction told me that the empty [FROMFLPY] and [FROMCD] sections would also be unnecessary.

My final config.sys:

*************************************************

[COMMON]

DEVICE=\net\protman.dos /I:\net

DEVICE=\net\dis_pkt.dos

DEVICE=\net\EL90X.DOS

DEVICE = oakcdrom.sys /D:cd1

DEVICE = btdosm.sys

DEVICE = flashpt.sys

DEVICE = btcdrom.sys /D:cd2

DEVICE = aspi2dos.sys

DEVICE = aspi8dos.sys

DEVICE = aspi4dos.sys

DEVICE = aspi8u2.sys

LASTDRIVE = Z

*************************************************

I don't know if the following lines are even necessary anymore

*************************************************

[COMMON]

DEVICE = aspi2dos.sys

DEVICE = aspi8dos.sys

DEVICE = aspi4dos.sys

DEVICE = aspi8u2.sys

*************************************************

But they don't seem to cause any problems, so they are staying for now.

Testing again and I get errors about an invalid boot menu selection. I rushed it, and didn't even think about the menu items in Config.sys being reflected in autoexec.bat. But I knew I had to do substantial work on that file anyway.

The Autoexec.bat files are pretty much identical except for the first couple of lines.

I combined the first couple of lines and got rid of the references to %config% (the results of the boot menu selection)

Here is where I started with the network boot autoexec.bat:

*************************************************

@echo off

SET TZ=GHO+05:00

prompt $p$g

\net\netbind.com

echo Loading...

if %config% == FROMFLPY goto FLPYBOOT

if %config% == FROMCD goto CDBOOT

goto FAILED

:FLPYBOOT

*************************************************

...and my CD Rom boot:

*************************************************

@echo off

SET TZ=GHO+05:00

CLS

LH \MSCDEX.EXE /D:cd1 /D:cd2 /D:cd3

echo Loading...

if %config% == FROMFLPY goto FLPYBOOT

if %config% == FROMCD goto CDBOOT

goto FAILED

:FLPYBOOT

*************************************************

The first few lines of my autoexec.bat now look like:

*************************************************

@echo off

SET TZ=GHO+05:00

\net\netbind.com

LH \MSCDEX.EXE /D:cd1 /D:cd2 /L:E

:CDBOOT

*************************************************

Notice that I eliminated the "prompt", "CLS", and "echo Loading..." lines as they are unnecessary. I got rid of the "if" statements since they referred to the boot menu which I deleted in the config.sys. I deleted the "goto FAILED" since that worked with the "if" statements above and would have caused a failed operation every time if left in. I also deleted the entire ":FLPYBOOT" section since I wouldn't be using it.

It is important to note that my "LH \MSCDEX.EXE /D:cd1 /D:cd2 /L:E" is different from the original.

I dropped the "/D:cd3" because i dropped it in my config.sys (because of the error) and I added the "/L:E" to make the start drive letter for CD devices "E:\" This makes things easier for my next step.

Some of my computers have multiple CD ROM drives. I learned from past projects that I would have to make the program search both drives just in case the CD is put in the slave drive rather than the master.

Here is what I started with:

*************************************************

:CDBOOT

echo Insert Ghost boot disk 2 (containing Ghost.exe)

echo To run Ghost.exe from a hard disk or CD, press Ctrl-C at the following prompt

echo then change to the appropriate drive letter and type 'Ghost'

pause

if not exist b:\ghost\ghost.exe goto CDBOOT

b:

goto GHOSTFND

:GHOSTFND

cd \ghost

echo Loading...

GHOST.EXE

goto END

:FAILED

echo Unknown boot menu selection

goto END

:END

*************************************************

and my endpoint:

*************************************************

:CDBOOT

if not exist E:\ghost.exe goto DRIVEF

E:\Ghost.exe -ja=a -batch

if error level 0 goto END

E:\Ghost.exe -ja=b -batch

if error level 0 goto END

E:\Ghost.exe -ja=c -batch

goto END

:DRIVEF

F:\Ghost.exe -ja=a -batch

if error level 0 goto END

F:\Ghost.exe -ja=b -batch

if error level 0 goto END

F:\Ghost.exe -ja=c -batch

:END

*************************************************

This scenario was set up for a very specific set of circumstances with ghostcast sessions running staggered and starting once specified prerequisites were met.

To simplify, the full final autoexec.bat could have looked like this:

*************************************************

@echo off

SET TZ=GHO+05:00

\net\netbind.com

LH \MSCDEX.EXE /D:cd1 /D:cd2 /L:E

:CDBOOT

if not exist E:\ghost.exe goto DRIVEF

E:\Ghost.exe

goto END

:DRIVEF

F:\Ghost.exe

:END

*************************************************

I combined the CDBOOT and GHOSTFND sections since I couldn't see a point in keeping them separate now (the CDBOOT header isn't even necessary, but it's there anyway). I also had to update the path that was checked and where ghost.exe was called. I eliminated the FAILED section because that worked with the boot menu and wouldn't be used anymore.

That was the hard part.

Now all we have to do is copy the "Net" folder, our modified "autoexec.bat" and the modified "config.sys" on to the "CD Boot" floppy disk, and do one final test before burning it to a CD.

I used Nero to burn my CD. I selected to make a new compilation and chose "CD-ROM (boot)." On the "Boot" tab I chose to use the floppy disk that I just made as the boot image source. I didn't mess around with any of the other settings. I added the file "ghost.exe" to the root of my CD drive, and burned it. Other guides discuss the parameters for burning the CD in more detail so check them out if the default options don't work for you.

As an example of where we can go with this, my next project is to use what I learned with this task to create a bootable CD that will allow me to choose which of my three computer types I am imaging, to load the appropriate drivers and connect to the appropriate GhostCast session based on my choice.