Tonight we decided we’d had enough of VMWare Server 2.0’s issues and shakiness. We started getting the following error, because as it turns out (we’re stupid for not thinking of this ahead of time – lesson learned) VMWare server beta’s have an expiry date, along with it’s bugs. Today we started getting this error:

“VCommand error: This product has expired.”

This box holds some Asterisk Development stuff and some other Dev systems that we couldn’t really have go down on us. So, we downgraded our VMWare 2.x Server to the latest 1.x branch of VMWare. Then on we went to importing Virtual Machines from Server 2.0 and Workstation 6. As soon as we started to power them on, the fun started. Of course! The VM’s weren’t compatible anymore and gave us a couple errors. Here’s how we fixed it.

The first error we received was:

“A General System Error Occurred: Unknown Error”

This happened as soon as we tried to power on the VM. This was easily fixed. We entered the Virtual Machine’s directory, and edited the .vmx file for the virtual machine, this is just plain text. Replacing the next few lines fixed it right up for us.

config.version = "8"  
virtualHW.version = "6"


config.version = "4"  
virtualHW.version = "4"

Now we could power them up. However, we now encountered another error that we couldn’t open the virtual disk we had created. The error was something about how the Virtual Disks were created in a later version of vmware, and couldn’t be mounted. We’d have to re-create them. Obviously this wasn’t an option.

In some of the Virtual Machine directories, we had a file to edit with a text editor, this was simple enough.

# nano virtualdiskname.vmxf

Then change this:

ddb.virtualHWVersion = "6"


ddb.virtualHWVersion = "4"

However, some of the other directories (mainly the ones created with VmWare Workstation 6) did not have a simple text file to edit, instead we had to edit the actual virtual disk using a hex editor. We chose the wonderful heme editor. Usage Instructions for Heme are here.

Basically put, do this:

# heme virtualdisk.vmdk

Now press “w” on your keyboard to search for “virtualHWVersion”. You will find it in the ascii column eventually. Hit “TAB” to enter Ascii mode, move your cursor with the arrow keys to where you need to replace the number. Replace the “8” or the “6” with a “4” and then press “s” to save the file. Answer yes to saving and then wait for it to save. Now exit the program by pressing “q”. You’ll notice it created a backup file with the “~” extension on it incase you messed up the hex editing. Leave this backup file here for now. Continue on, nothing to see here.

Now on the VMWare server, make sure that all the files in the virtual machine directory are chmodd’d properly.

# cd /virtual machine/directory/

# chown user:group *  
# chmod og=rwx ***

Now you should be able to start your vm without any issues.

If it all works, feel free to delete the backup .vmdk that heme created for you.

Good luck!


Comment by reinhard on 2008-09-24 04:07:40 -0500

thank you for sharing this information !

used to vmware’s excellent sw quality (up to now) I was tempted to install vmware server 2 too, and was not happy with it.

Following your instructions failed for me. The vmdk could be opened but a corruption was indicated. Automatic repair was offered automatically and finished without errors. The resulting disk was not bootable and stuck at “grub loading..”. Not really a problem, since I have a backup…


Comment by FT on 2008-10-01 14:32:21 -0500

VMware Converter 3.0.3 is your friend. One of the standalone (ie. non-ESX) VM conversion options is which version of product you will be outputting and it will let you downgrade appropriately. You can convert local to local and it will fly (most people only consider Converter for box-to-box translations but I’ve used Converter to clone live on ESX rather than power off to clone and used it over the network to do fantastic things at near wire-speed).

Also, since VMware Server 2.0 was released last week, I’d love to hear about your problems with the betas. I heard a rumor that performance is slightly worse and the USB 2.0 and other new features work pretty well but I’ve stuck with 1.0.x on all the low-end deployments and am considering changing…

Comment by Matt on 2008-10-02 02:01:12 -0500

Hi FT,

Thanks for the comments. I haven’t heard of VMWare Converter – I’ll have to check that out, nice find. I think I found this in my travels through their site but as you mention, thought it was only for server to server conversions not local conversions. Cool!

I also was not aware 2.0 went final last week – been too busy with work – We didn’t have many issues (the web interface is definitely better, but it’s not the prettiest thing). Our main issues were with the darn thing expiring, and it was also using lots of cpu/memory at times – however, debug was “hard-enabled” so we could not turn it off – which was probably the cause of many of the above mentioned issues.

Thanks for letting me know about the 2.0 final, I am migrating a server this weekend and will probably upgrade to it again now that it won’t expire.


Comment by wpeople on 2009-10-31 11:35:50 -0500

Thanks for the info.
I’ve upgrade to vmware server 2.0 but was very unhappy with it, so gone to downgrade. As i moved a physical machine to vmware2.0 i have to downgrade it (because 1.x cannot start it)

Fixing .vmx file was easy. As the image file was so bit, hexedit was a good idea. I’ve used hexeditor (named hexeditor) on my debian lenny.

Thanks again