Is there any way to boot into Ghost recovery mode over the network via PXE, or is this only available to corporate versions of Ghost?
TTT. Sorry.
Well, figured it out for myself. I used my existing PXELINUX-based PXE boot environment. Beyond that, it turns out that I didn't really need anything more than the Ghost Recovery CD itself.
Apparently the brunt of the CD is in the "sources\boot.wim" file. I think that this is a Windows Vista/7 boot image of the same sort that is used for regular installations.
I copied the entire CD into a subdirectory on my PXE tftpd server. I suspect that I only needed a small portion of this. I then needed to extract the "PXEBOOT.N12" and "BOOTMGR.EXE" files from the boot.wim image. 7zip supports whatever archive format WIM is. I placed BOOTMGR.EXE in the root directory of the copied CD files. I placed PXEBOOT.N12 in the BOOT subdirectory, and renamed it "PXEBOOT.0" so that PXELINUX would be able to determine the type of executable it is.
I then configured my PXELINUX installation to use "PXEBOOT.0" as the "kernel". I have a number of different things all runnable from my PXE server, so I put it in as a separate "label":
label ghost
kernel ghost/BOOT/PXEBOOT.0 keeppxe
The "keeppxe" option is supposed to keep the PXE network driver loaded in memory on the client machine, but I'm not really 100% sure that that works. Ghost detected the real hardware in my clients, and I suspect that that argument might only apply to SYSLINUX programs, which PXEBOOT.0 is not. However, it didn't seem to cause any problems, and on the off chance that it does work on a machine that the Ghost CD doesn't have drivers for, it'll probably be nice to not have to rebuild the disk again with new drivers.
The only other things I had to do were setting my tftp server's rewriting rules to remap the Ghost clients' requests into the subdirectory I had put the CD's files in, and renaming files to match the capitalization that the Ghost clients were asking for. Actually, I think that one file, BCD, was being looked for in a directory other than where it was on the CD. I put in a remapping rule for that, but it's probably easier to simply move the file.
According to my log files, these are the only files that are requested from the TFTP server by the Ghost clients:
bootmgr.exe
\Boot\Fonts\wgl4_boot.ttf
\boot.ini
\Boot\BCD
\Boot\en-US\bootmgr.EXE.MUI
\hiberfil.sys
\sources\boot.wim
\boot\boot.sdi
Those are the capitalizations that are used. boot.ini and hiberfil.sys don't need to be there, but putting an empty file in their places seems to speed up the boot a little. This obviously doesn't include PXEBOOT.0; that's called from PXELINUX's configuration file, and can be placed wherever you want.
The tftp server I used is the fairly common tftp-hpa server. This is the mapping file I used:
re ^bootmgr\.exe ghost/bootmgr.exe
re ^\\boot\.ini ghost/empty
re ^\\hiberfil.sys ghost/empty
r ^\\Boot\\ ghost/Boot/
r ^\\boot\\ ghost/Boot/
r ^\\sources\\ ghost/sources/
r ^\\ ghost/
rg \\ /
"ghost", obviously, is the subdirectory I copied the CD files to.
I also just tested, and the only files needed are the ones that I listed above as being requested.
The upshot of all of this is that not only is it more convenient to boot off of the network, it's also way faster than booting off of the CD, even discounting the time it takes to deal with inserting the CD itself.
What you are doing is way over my head.
A wim file is a Windows Image File. You are correct that most of the work is done from this file when you boot into the Ghost SRD. Basically when you boot the SRD, boot.wim is expanded into RAM. These are the files that show up as drive X. Ghost 15 (I'm not sure about Ghost 14) is based on Windows Preinstall Environment (WinPE) ver. 2 (VIsta). The set up DVD for Windows 7 is based on WinPE ver. 3.If you are interested, the heart of the Ghost Recovery Environment is located in boot.wim\Windows\Shell.