Video Screencast Help
Symantec Appoints Michael A. Brown CEO. Learn more.

Ghost64.exe is not compatible

Created: 15 Feb 2011 • Updated: 18 Feb 2011 | 7 comments
This issue has been solved. See solution.

I am currently creating the images for my company on new hardware. We have some machines that will be x64 bit. So I have my machine set up and I ran through the sysprep and when I boot to my USB WinPE and map to the drive that I want to save the images to, I try to run Ghost64.exe and recieve the following error:


This version of I:\Ghost64.exe is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 <32-bit> or x64 <64-bit> version of the program, and then contact software publisher.


So I have a few questions:


1. Why would Ghost64.exe be included if it would not be compatible?

2. Could the version of sysprep that I used affect this? (I doubt this)

3. Is there and actual patch or do I need to get a x64 version of the program in order to use the the correct version of the ghostXX.exe?

Comments 7 CommentsJump to latest comment

Thomas K's picture

This is the wrong forum for Ghost issues, I will move this to the Ghost Solution forum for you

Nigel Bree's picture

The different builds of Ghost are for the different platforms used to perform the image operation, not the type of image to deploy. When Ghost deploys a system, it doesn't care at all what the content of the image is, you just need the right version for the OS you're running as a boot environment to do the deploy operation.

So, for instance, the Linux version of Ghost is for running in a Linux boot environment, but it can deploy Windows (either 64-bit or 32-bit) just fine, because Ghost's job is laying down the image content and it doesn't care what the image content is. Similarly, you can deploy a 64-bit OS from a 32-bit Windows PE just fine by running the 32-bit version of Ghost (or the deployed OS can be a version of .Linux).

So, the reason for the failure is that OS you booted to do the deployment is 32-bit Windows PE, not 64-bit Windows PE. If you boot a 32-bit version of Windows, you should run the 32-bit version of Ghost on it.

The reason for including a 64-bit version of Ghost is for running inside 64-bit Windows, which matters in a couple of specific scenarios; the most important of these is that there is hardware using a special boot system called EFI, and on at least some of these machines it's necessary to use 64-bit Windows PE instead of 32-bit Windows PE. The 64-bit version of Windows PE, unlike regular 64-bit Windows, does not include the WOW64 system which lets you run 32-bit executables, on 64-bit Windows PE a native 64-bit build of Ghost is required.

For most users who aren't using this specialized EFI hardware, 32-bit Windows PE runs just fine on 64-bit processors and on that you use the 32-bit build of Ghost to deploy whatever needs deploying. 


The second scenario for Ghost64 is for 64-bit Windows Vista, when capturing an image while it's running using Volume Snaphot - the Volume Snapshot APIs are not callable from 32-bit applications on Windows Vista, so you again have to use the native 64-bit binary in this particular special case. However, that's only for capturing the image: once it's captured, an image is an image is an image and you can deploy it with any of the different Ghost builds matches your boot environment.

bgutier's picture

Thanks for the explanation. It is better than what I have found and I have found quite a bit and have started to peice it together. The whole thing hit me like abrick when I realized that I am using x86 (32bit) WinPE. So I am going to create a bootable x64 WinPE USB. If anyone has done this before feel free to give me any suggestions.

EdT's picture

My article at: Adventures with WinPE Symantec Connect 

covers the creation of both 32 bit and 64 bit versions of bootable WinPE based on the same version of WinPE (V2) that is used by Ghost. Solutions for CD or DVD boot, USB hard disk and USB flash drive are provided.

Still not sure why you want to go this route. Once you have an image on a system that you either wish to record, or to restore, it really does not matter whether you use Ghost32 or Ghost64 to do it. Once you have booted to WinPE, the hard disk in question is just a collection of sectors that need to be recorded or restored. As Nigel explained, the boot system you use to do this is immaterial as long as it can read and write those sectors.

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

bgutier's picture

Okay I understand that the image being loaded to the machine, it does not matter if I use ghost32 or ghost 64. The way I see it to actually tak the image of a x64 Windows 7 then I need to run a x64 version of Windows PE to take the image and upload that to my server. At least that is how I understood this from Nigel, am I missing a step here?


I am not trying to deploy the image, I am trying to take the image that I have created from the base image of Windows x64. So when I boot to the current version of my WindowsPE it tells me that it is uncompatible. I think it tells me this because I am trying to take an image of a x64 Windows 7 with Ghost64.exe in a x32 WndowsPE so there for I need a x64 Windows PE.

It makes sense to me. Is there something that I am missing here? I don't think that I am missing a step but if you think that I am then let me know.

Thanks EdT I will look over your documentation in the morning.

EdT's picture

I think you have misunderstood what Nigel was trying to convey.  Ghost64.exe is only used when HOT imaging Vista64 - this means that the image is actually created while the 64 bit Vista operating system is running. You are not trying to do this. 

You are booting a 32 bit version of WinPE in order to create an image of a partition on a hard disk. Regardless of whether the partition you are trying to image contains a 32 bit or a 64 bit operating system, as far as Ghost is concerned, the partition is nothing more than a collection of sectors containing data. Therefore, having booted 32 bit WinPE, you need to run a version of Ghost that is compatible with 32 bit WinPE, and that is Ghost32.exe.  This will create an image of the sectors in your target partition, which you can later restore to another hard disk using 32 bit WinPE and 32 bit Ghost.

If you go through the process of creating a 64 bit version of WinPE so that you can run Ghost64.exe, you really change nothing, as this combination will just create an essentially identical ghost image containing the sectors in your target partition.

In the same way, if you create a DOCX file using a version of MSOffice 2010 running on a 32 bit operating system, you can still read it with a 64 bit version of MSOffice 2010 running on a 64 bit operating system. Regardless of the mechanism of creation, the content of the DOCX file is the same, and this is pretty much the case with the GHO image.

Hope this clarifies.

By the way, in case you are now wondering why there is a 64 bit version of WinPE, the purpose of WinPE is to provide a windows pre-installation environment for installing Microsoft operating systems. The 64 bit version of WinPE is provided for the installation of 64 bit operating systems, as the install process cannot be run from a 32 bit version of WinPE. However, once the installation is complete, IMAGING can take place from ANY operating system that can access the hard disk and read and write sectors.

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

bgutier's picture

Yes!!!! That clarifies things! I was thinking about what we all have been discussing and I started to question my line of thought as well. I started to come to the conclusion that you have confirmed to me. I am just trying to get the project that I was given finished and then I will have more time to explore more of the Symantec Ghost suite.


Thanks for all the guidance