Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

WinPE 3.0+ on GSS 2.5.1

Created: 07 Nov 2013 • Updated: 10 Jan 2014 | 21 comments
This issue has been solved. See solution.

Hello - I am in the process of trying to image a new set of hardware, for which there are no Vista (WinPE 2.0) drivers. I cannot make the new hardware connect to the GSS server at boot, to poll for an image. Is there a way to upgrade the version of WinPE that ghost uses? I have seen and tried the article on Symantec Connect about using a custom WinPE 3.1 image with GSS 2.5.1 and it just didn't work. Ghost boots and once that custom WinPE is loaded, or attempts to load, Ghost crashes as if it did not understand what the PE image was. I am sure I am not the only one here in this situation.

Thanks

Operating Systems:

Comments 21 CommentsJump to latest comment

Dpak D's picture

Hi Jason,

Please try the article mentioned below,which is pretty much straight forward.

How to build a customized WinPE 3.0 boot image that contains Ghost32.exe and Network Interface Card (NIC) drivers
http://www.symantec.com/docs/TECH194877

 

EdT's picture

These two articles by Terry Bu may also be helpful:

https://www-secure.symantec.com/connect/articles/creating-and-using-winpe31-image-gss-251

https://www-secure.symantec.com/connect/articles/faking-drivers-gss-251-winpe-31

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

JasonRW's picture

Hello,

Thanks for the solutions, but neither of them worked. I cannot get WinPE to load from a CD/USB key on any computers. The process errors out around a driver iaStor.sys and will not proceed further from there.

I've only added drivers for the one model of computer I am using to test.

EdT's picture

Having not encountered any issues with building bootable media of any kind with both WinPE2 and WinPE3, I am at a loss as to what you might be doing wrong.  My article on building a WinPE 3.1 boot environment (which does not involve any Ghost components) can be found here: https://www-secure.symantec.com/connect/articles/adventures-winpe-31?om_ext_cid=biz_con_cmgr_cp_20120221_pm

If you can get this working on your hardware, you can then test candidate drivers using DRVLOAD from the WinPE command line as described here: https://www-secure.symantec.com/connect/articles/do-i-have-correct-driver-winpe

If your machines' bioses have the option to set the hard disk to "compatibility mode" then try that also. This option allows SATA hard disks to emulate the older PATA technology which all versions of windows support natively. If this action allows boot, then the issue is with the SATA drivers you are adding to WinPE.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

JasonRW's picture

EdT - Thanks for your feedback. I'll give those suggestions a try and follow-up.

BHays's picture

This is what I came up with for Ghost Console. I've been using this with Windows 8 clients successfully for several weeks.

This is written for WinPE 5.0 (Windows 8.1). It can be used as a outline for 3.0-4.0 but some of the steps will be a little different.

Prerequisites

  1. A technician computer running Windows 8.1 or Windows Server 2012 R2
  2. Download and install Windows ADK for Windows 8.1
  3. Find the boot.wim for winpe-512 in C:\ProgramData\Symantec\Ghost\Template\common\winpe-512\sources.
  4. Extract the contents of boot.wim using a utility like 7zip.
  5. From the 2 directory of the extracted boot.wim, find the ghost folder and startnet.cmd from the Windows/System32 folder. Save these for use in the next section.

Build PE

  1. On your technician computer, click Start, and type deployment. Right-click Deployment and Imaging Tools Environment and then select Run as administrator.
  2. At the command prompt run the following commands to copy WinPE (x86, not amd64) and mount the boot image.
    • copype x86 C:\WinPE_x86
    • Dism /Mount-Image /ImageFile:"C:\WinPE_x86\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_x86\mount"
  3. Using the files saved in Prereqs step 5 above, copy the following files and folders:
    1. Copy the ghost folder to C:\WinPE_x86\mount
    2. Copy startnet.cmd to C:\WinPE_x86\mount\Windows\System32, overwriting the previous file
  4. From C:\ProgramData\Symantec\Ghost\Template\common\winpe-512 on your GSS Server, copy the ghost and pxe folders to C:\WinPE_x86\media
  5. Add drivers if needed (not likely if using Windows 8.1)
    • Single Driver (recommended)
    • Dism /Add-Driver /Image:"C:\WinPE_x86\mount" /Driver:"C:\GhostDrivers\driver.inf"
    • Multiple Drivers
    • Dism /Add-Driver /Image:"C:\WinPE_x86\mount" /Driver:"C:\GhostDrivers" /Recurse
  6. Save and unmount the PE boot image
    • Dism /Unmount-Image /MountDir:"C:\WinPE_x86\mount" /commit

Copy to GSS

  1. On your GSS server, open Symantec Ghost Boot Wizard
  2. Make a copy of WinPE-512 and name it WinPEv50
  3. Select OK until WinPE is copied and then Cancel out of the Wizard.
  4. Find the folder for WinPEv50. On Vista and Server 2008 or later it will be located in C:\ProgramData\Symantec\Ghost\Template\common
  5. Delete everyhing in C:\ProgramData\Symantec\Ghost\Template\common\WinPEv50 except drivers.manifest.txtmanifest.txt, and pci.manifest.txt
  6. Copy everything from C:\WinPE_x86\media on your technician computer to C:\ProgramData\Symantec\Ghost\Template\common\WinPEv50 on your GSS server
  7. Open mainfest.txt and delete the unattend and checkDrivers steps and save (you have have to copy the file to your desktop, edit, save, then copy back to the WinPEv50 folder). The unattend step is the one that fails on Windows 8 clients and shouldn't be needed if your network is DHCP. GSS can't check the drivers in the PE we are creating so we also need to remove this step or tasks will fail.
  8. Select WinPEv50 as the PreOS on a test machine and test.

Issues

Any changes have to be done manually. They cannot be made using the Ghost Boot Wizard.

Bonus Extra

You can use the boot.wim from C:\WinPE_x86\media\sources to create a boot image in WDS.

EdT's picture

@BHays - I noticed that your posting was marked "unpublished" so I have released it for general viewing.

Thank you for your contribution.

EdT

 

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

SOLUTION
BHays's picture

Thanks EdT. Long time reader, first time publisher!

ohzone - CherylPeterson's picture

Yes, Thanks EdT - and thanks BHays for your contribution!

Cheryl

Endpoint Management,
Endpoint Virtualization
Managing Mobility
Community Manager
www.twitter.com/EMnV_symc
Need Altiris help? IRC chat #Altiris

JasonRW's picture

Thanks for publishing the question to the larger community. I'll give this excellent procedure a try as soon as I can get a copy of Windows 8.1.

Thanks again!

BHays's picture

I believe the procedure should the same for Windows 8 if you want to give that a try. I use this PE with my Win7 clients now too since it already has all the drivers I need. The only issue I've had was my machines weren't being added to the domain after cloning so I had to do an additional configuration task. If I remember corrrectly, that only happened when I was using WinPE 3.0 (Win 7) and hasn't been an issue since going to WinPE 5.0 (Win 8.1).

Also, simply removing the unattend step...

{
        what = unattend,
        path = "{manifest}\\ghost\\unattend.xml"
    }

from manifest.txt in the GSS WinPE 2.0 PreOS's you are using for Windows 7 should allow them to work on Windows 8 clients.

JasonRW's picture

I was able to get through the procedure without any incident, but am unable to pull an image from my test machine. When copying to virtual partition, it says the volume is full then the task fails. I am trying to pull a Windows 8.1 image from my test machine, a Dell Optiplex 980. "Hot imaging" works, but not the traditional reboot and image. Speeds are also dismal at 27MB.

Thanks again to everyone for their help!

 

BHays's picture

I think this usually happens when the size of the PE PreOS is larger than specifed in your manifest. Look at the manifest.txt file in the PE you are using and compare it to the size of the folder it's in. My PE folder is 176 MB and my manifest size is set at 200.

{
    name = "WinPEv50",
    type = PEx86,
    size = 200,
    ram = 440,
    bootonce = 1,
Also, if there are extra language folders in your PE you can delete those.
 
Brian
JasonRW's picture

Awesome That tip worked! Thanks! I can boot a mchine into WinPE, but it just sits there at the wpeutil prompt. Ghost does not start.

BHays's picture

Make sure you did Build PE step 3 correctly, startnet.cmd extracted from boot.wim should look like this:

echo off
if exist c:\ghost\unattend.xml (
   wpeinit /unattend=c:\ghost\unattend.xml
) else if exist x:\ghost\unattend.xml (
   wpeinit /unattend=x:\ghost\unattend.xml
) else (
   wpeinit
 
   set path=%path%;x:\ghost
   x:
   cd \ghost
   ghost32.exe /setosdrives /blind >> x:\ghost\startlog.txt
   start ghost32.exe
)
 
You can check by mounting again (Build PE step 2.2) and looking in C:\WinPE_x86\mount\Windows\System32
JasonRW's picture

Sorry. I am a bit confused. Is there a way to just edit the start.cmd file without having to go through the whole tutorial again? If I cope a new PE, it will create a new file, no?

JasonRW's picture

I cannot seem to edit the existing file. The "copype x86 C:\WinPE_x86" command will not run. Says "Destination directory exists".

 

BHays's picture

If you didn't delete C:\WinPE_x86 after doing the tutorial the first time then you don't need to recreate it by doing copype again. Just do the second step to mount. If you keep your C:\WinPE_x86 directory you shouldn't have to do the entire tutorial over agian. When you are finished, just find the new boot.wim file in C:\WinPE_x86\media\sources and put it in C:\ProgramData\Symantec\Ghost\Template\common\WinPEv50\sources on your GSS server.

BHays's picture

Notes:

This is really all we are adding to C:\WinPE_x86

C:\WinPE_x86\media

  • ghost folder containing copy.bat, ghreboot.bat, ghvp.bat, start.bat, & unattend.xml

C:\WinPE_x86\mount

  • ghost folder containing Ghost32.exe and other executables

C:\WinPE_x86\mount\Windows\System32

  • startnet.cmd (copy or edit)

 

JasonRW's picture

That step worked just fine. The machine is imaging, albeit slowly, but it is imaging. I suspect the slowness comes from my test server being a four year-old Dell Optiplex 760 :)

BHays's picture

Awesome! Good to know it worked for someone else. I get much better speeds and rarely drop a client compared to using the DOS PreOS.

You could try updating the driver in PE although I'm not sure if it would help. However, I do recall updating the driver on my "server" (even worse, an Optiplex 755) and getting much better speeds.