VMware Windows guests tips



Some of the usual things I do when setting up a Windows guest in VMware;

-if RAM size on the host isn't a constraint, reduce the pagefile to a minimum or eliminate it altogether and disable memory page trimming in the VMware settings,
 add sched.mem.pshare = "FALSE" to the .vmx file
-if RAM has to be used more conservative, set the minimum and maximum of the pagefile to the same size
-if disk space is no constraint, create preallocated disks,
-if there's no need for snapshots, set the disks to independent persistent under the advanced options
-disable unneeded services
-open gpedit.msc (or use a group policy in Active Directory) and set up all options which will reduce CPU processing and I/O
-set desktop colour depth to 16 bit, turn off all effects
-under the advanced computer properties, turn off all visual effects
-use the classic start menu and desktop theme
-turn on DEP only for essential programs and services
-turn off error reporting and automatic updates
-enable remote desktop as this works much faster than using the VMware console
-reduce the Internet Explorer cache to 8MB (also possible to set it for each new login by changing the default user registry)
-in the VMware settings, remove floppy drive, audio card, disable connection of cdrom at power on
-disable the Windows time service and let VMware handle time synchronisation (except for cluster nodes as the cluster service depends on this)
-set the network cards to a fixed speed instead of automatic or hardware detected
-in a command prompt, typ fsutil behavior set disablelastaccess 1 to turn off the last access time updates on files


Of course this can all be done in one guest, then remove any fixed ip addressing, run sysprep -clean and you've got yourself a template.
note: During setup of a complete domain I came across SID errors, checking it with the template I found out that sysprep -clean did not remove the SID or all instances of it in the sytem.
Instead I extracted sysprep.exe, setupcl.exe and factory.exe from the deploy.cab archive, then ran sysprep -factory -noreboot, and opened regedit.
In HKLM\System\setup I delete the data from the cmdline value and change AuditInProgress and FactoryPreInstallInProgress to 0.

For easier identification of the guest, change the name of the computer icon as described here.

vmdk tool

When faced with a corrupt or empty vmdk descriptor file it's possible to try to recreate one by creating a disk with the same specs.
When this fails and VMware's own diskmount utility doesn't mount the disk, try the virtual disk driver tool. With this I was able to mount a vmdk with the raw data and copy it to a new vmdk on the virtual guest.