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