Inside VMX Files

VMware Workstation 3.x and GSX 2.x both use VMX files for storing VM configuration information.  You can do quite a bit with the files, including keeping multiple instant-on configurations of systems for easy use.

About VMX File Parameters

Finding Usable Parameters

There are all sorts of configuration parameters used in the VMX files.  You can find them throughout the VMware Workstation  and GSX server manuals, and you can find a few which are not explicitly mentioned by examining the contents of VMX files in a text editor.

A few more parameters may be found occasionally in VMware newgroup postings or mentioned on VMware "fan" sites.  Be careful with the latter, as well with undocumented parameters pulled from VMX files; they are not necessarily part of the permanent VMware feature set and may have unpredictable results if used.

Parameter Formats

Parameters are usually set in the form

parametername = parametervalue

in the VMX files.  The values are almost always embedded within quotes, even Boolean and integer values.

The parameter names have a few  details about them worth noticing. 

Parameter names appear to be based on an internal object model.  For example, you can find the following lines referring to a floppy drive in various VMX files:

floppy0.fileType = "file"
floppy0.fileName = "Dos622.IMA"
floppy0.startConnected = "True"

Stretching a point, I am going to refer to the portion left of the "." separator as a "class", and the right-hand side as a "property" of the class.  There are a few non-dotted form properties found in the files, and they all appear to be properties which could only apply logically to an entire VM - these I am calling "global properties".

OK, now that we have a rough (and doubtless incorrect) nomenclature, Let's take a look at some other general points we can find out just by looking.

First, there are several "similar" classes, and we can even infer a few which may or may not work.  We have floppy0, ide0:0, and ide0:1 for example.  This suggest that it may be possible to start a VM which has had a floppy1 added to it.  As a matter of fact, we can do exactly that.

Second, the classes appear to have analogous properties.

VMX File Parameter Listing

As indicated above, a listing.  This is in transition, starting with a raw dump of what parameters I can find; the ultimate goal is usage examples and descriptions.

Global Properties

apmSuspend
debug
displayName
draw
guestOS
memsize

"Classes" and Their Properties

Following is a listing of what I've found so far

cdrom.minvirtualtime
config.version
disk.locking
ethernet0.address
ethernet0.connectionType
ethernet0.present
ethernet0.vnet
floppy0.fileName
floppy0.fileType
floppy0.startConnected
gui.exitAtPowerOff
gui.powerOnAtStartup
gui.restricted
ide0:0.fileName
ide0:0.mode
ide0:0.present
ide1:0.deviceType
ide1:0.fileName
ide1:0.present
ide1:0.startConnected
priority.grabbed
priority.ungrabbed
RemoteDisplay.bpp
RemoteDisplay.depth
scsi0.present
scsi0:0.fileName
scsi0:0.mode
scsi0:0.present
scsi1.present
scsi1:0.deviceType
scsi1:0.fileName
scsi1:0.present
sound.maxLength
sound.smallBlockSize
tools.remindInstall
tools.syncTime
usb.generic.autoconnect
usb.present
uuid.bios
uuid.location
virtualHW.version