I am going to describe a quick way to convert Symantec’s Ghost GHO file to Microsoft Virtual Hard Drive VHD file. The process will not require a setup of a virtual machine. You’ll need:
- The VHDMount utility, which is distributed as a part of Microsoft Virtual Server but can be installed seperately.
- The GHOST32 utility, which is a part of Symantec Ghost installation.
Prepare an empty VHD file
Use Microsoft Virtual PC or Microsoft Virtual Server to create a new VHD file of desired size and form (fixed size or dynamically expanding). To get you started, I’ve prepared 130GB dynamically expanding new VHD file, you can download here.
I wrote another post about handling the VHD files, you can read here.
Install VHDMount utility
Download Microsoft Virtual Server 2005 R2 SP1 or newer and run the setup. You can select to install the VHDMount utility only. I suggest a restart after the install.
Mount empty VHD file as local drive
Using VHDMount utility you can mount VHD file as a local hard drive. Execute:
vhdmount /p /f image.vhd
You should receive a “The Virtual Hard Disk is successfully plugged in as a virtual disk device.” response, followed by a series of “New hardware found” messages.
Copy GHO to VHD file
Run GHOST32 utility, which can be found in the directory where you’ve installed Symantec Ghost. Using the GHOST32 utility, you can restore GHO image file to any of the local drives (Local › Disk › From Image). Make sure you choose the destination disk drive that represents the mounted VHD file, as you can easily overwrite any other local disk drive. Use GDISK32 utility to determine first which one is “MS Virtual Server” drive if uncertain.
Once transfer is complete you can safely choose not to restart the computer and just exit the GHOST32. Unmouting the VHD file is sufficient.
Unmount the VHD file
Use VHDMount utility once again to unmount the VHD file. Execute:
vhdmount /u image.vhd