VMWare GuestOS id list

Today, I needed to come up with a definitive list of all VMWare GuestOS id’s for some software that will generate configuration files for various versions of VMWare ESX.

I haven’t seen these listed in detail anywhere before. Google is silent, as is the VMWare site. Sure, you can get the list of supported operating systems from VMWare’s official documentation, but not the actual list of guestOS = strings to use.

So here they are, hopefully this will be of use to someone else.

First, the lists, then how I divined them.

VMWare ESX 2.5
MS-DOS (strings found nearby suggest it is unsupported)
win31
win95
win98
winMe
winNT
win2000Pro
win2000Serv
win2000AdvServ
winXPHome
winXPPro
winNetWeb (ie: Windows .NET Server 2003, Web Edition)
winNetStandard
winNetEnterprise
linux
freebsd
netware4
netware5
netware6
OS/2 (probably unsupported)
solaris (probably unsupported)
other

VMWare ESX 3
win31
win95
win98
winMe
winNT
win2000Pro
win2000
win2000Serv
win2000AdvServ
winXPHome
whistler
winXPPro
winXPPro-64
winNetWeb
winNetStandard
winNetEnterprise
winNetBusiness
winNetStandard-64
winNetEnterprise-64
longhorn
longhorn-64
winVista
winVista-64
freebsd
freebsd-64
redhat
rhel2
rhel3
rhel3-64
rhel4
rhel4-64
rhel5
rhel5-64
suse
suse-64
sles
sles-64
nld9
sjds
mandrake
mandrake-64
turbolinux
ubuntu
ubuntu-64
other24xlinux
other26xlinux
otherlinux
other24xlinux-64
other26xlinux-64
otherlinux-64
solaris6
solaris7
solaris8
solaris9
solaris10
solaris10-64
netware4
netware5
netware6
darwin
other-64

VMWare ESX 3.5
win31
win95
win98
winMe
winNT
win2000Pro
win2000
win2000Serv
win2000AdvServ
winXPHome
whistler
winXPPro
winXPPro-64
winNetWeb
winNetStandard
winNetEnterprise
winNetDatacenter
winNetBusiness
winNetStandard-64
winNetEnterprise-64
winNetDatacenter-64
longhorn
longhorn-64
winVista
winVista-64
freebsd
freebsd-64
redhat
rhel2
rhel3
rhel3-64
rhel4
rhel4-64
rhel5
rhel5-64
suse
suse-64
sles
sles-64
sles10
sles10-64
nld9
sjds
mandrake
mandrake-64
mandriva
mandriva-64
turbolinux
ubuntu
ubuntu-64
other24xlinux
other26xlinux
otherlinux
other24xlinux-64
other26xlinux-64
otherlinux-64
solaris6
solaris7
solaris8
solaris9
solaris10
solaris10-64
netware4
netware5
netware6
darwin
other-64
vmkernel
openserver5
openserver6
unixware7

VMWare Fusion 1.1.2
win31
win95
win98
winMe
winNT
win2000Pro
win2000Serv
win2000AdvServ
winXPHome
winXPPro
winXPPro-64
winNetWeb
winNetStandard
winNetEnterprise
winNetBusiness
winNetStandard-64
winNetEnterprise-64
longhorn
longhorn-64
winvista
winvista-64
freebsd
freebsd-64
redhat
rhel2
rhel3
rhel3-64
rhel4
rhel4-64
rhel5
rhel5-64
suse
suse-64
sles
sles-64
nld9
sjds
mandrake
mandrake-64
mandriva
mandriva-64
turbolinux
ubuntu
ubuntu-64
other24xlinux
other26xlinux
otherlinux
other24xlinux-64
other26xlinux-64
otherlinux-64
solaris6
solaris7
solaris8
solaris9
solaris10
solaris10-64
netware4
netware5
netware6
darwin
other-64

The Process

Something has to read the .cfg or .vmx configuration files. An examination of “ps aux” was in order.

[root@pod42 root]# ps auxwwww | grep vmx | head -1
root      3117  0.0  0.0  1748  148 ?        S< 2007   5:36 /usr/lib/vmware/bin/vmkload_app
/usr/lib/vmware/bin/vmware-vmx -ssched.group=host/user -@ pipe=/tmp/vmhsdaemon-
0/vmx8eee7804afcedec4;vm=8eee7804afcedec4 /vmfs/volumes/46ae1d59-f8a70ce6-b9f9-
001b78b81088/firewallvm/firewall.cfg

Likely suspect is vmware-vmx

[root@pod42 root]# strings /usr/lib/vmware/bin/vmware-vmx | grep -ni solaris10
10281:solaris10
10282:solaris10-64

yep!

Let’s pull all the strings out and jump to line 10281 and see what we find :

[root@pod42 root]#  strings /usr/lib/vmware/bin/vmware-vmx >/tmp/tt ; vi +10281 /tmp/tt

We’re in the middle of the list of guest os’s, no doubt here. Copy/Paste then remove the /tmp/tt scratch file.

Repeat for other flavours of VmWare.

In the case of Fusion (on OS X), the executable to run strings against is found way down in

/Library/Application Support/VMware Fusion/vmx/Contents/MacOS/vmware-vmx

So simple and yet nobody, that I can find easily anyways, has posted these lists before. Hope it helps ya!

This entry was posted in General, System Administration, Work. Bookmark the permalink.

4 Responses to VMWare GuestOS id list

  1. Trever says:

    This seems to be one of the most popular articles on my blog. It’s on the first page of google results when searching for vmware guestOS

  2. Ip pbx says:

    Thanks for the list of all VMWare GuestOS id’s for some software that will generate configuration files for various versions of VMWare ESX.

  3. Ben G. says:

    I was looking for guestIDs as well (for vCenter 4.0 specifically, but using the vSphere API) and came by here. I found my list within VMWare’s Reference Guide.

    For vSphere’s API, the guide is here (http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/index.html). Once in the guide, look in Enumerated Types and scroll down to/search for “VirtualMachineGuestOsIdentifier”. You’ll come up with something like this: http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html

    Hope that helps future visitors!

  4. Trever says:

    Thanks, that is useful indeed.

    That will only get you the official supported guests though, and for this particular product only. I’ll stand by my out-of-band approach of digging through the binaries for what is available, whether it is a current product or not, officially supported or beta/hidden support, etc.

Leave a Reply