VMware vCenter Converter to upload the new VM into ESX (e.g. have .vmx & .vmdk locally)
Destination is the ESX serveer Options! Data -> Edit -> Data copy type = Select volumes to copy -> Advanced
Destination Layout = Capacity dropdown (type in 20GB) Type can be thin or flat (thick)
Do it at this step (instead of later) to avoid needless MS re-activation
Expand the size of a disk to 20 Gigabytes (using /usr/sbin/vmkfstools )
vmkfstools -X 20g /vmfs/volumes/datastore1/VMNAME/VMNAME.vmdk
Next, download the systemrescuecd.iso (which has GParted)
VSphere Client -> right click on Datastore -> Browse Datastore -> Upload the .iso
Right click on the VM and Edit the Settings...
Modify the VM to have CD/DVD drive use the datastore1 -> systemrescuecd.iso
Options tab for the VM to modify Boot Options -> Delay to 5000ms (5 seconds)
Righth click on the VM (in the left navigation area) and choose Open Console
Start the VM and you will have 5 seconds to press the ESC (escape) key for boot menu
VMWARE PLAYER you can modify the Hard Disk -> Utilities -> Expand
When you boot the vm, click in the console quickly and press the ESC key for boot menu (this can be difficult)
For easier access to the BIOS setup/boot screen, edit the VM's config (.vmx ) and add
bios.forceSetupOnce = "TRUE" bios.bootDelay = "xxxx"
Choose to boot from CD-Rom drive
After you boot systemrescuecd (default or docache are my preferred)
Use "wizard" to start the GUI version, at the bottom there's GParted
Right click on the existing partition (now followed by an extra 12GB)
Resize/Move -> drag drop or fill in the number to fill up the whole drive (you may need to use your arrow keys or alt + e combinations if the mouse goes crazy)
Finally use the Green Check mark (Edit -> Apply all operations)
Turn off / exit / logout / halt systemrescuecd
Modify your VM -> Edit settings to stop using the .iso and remove the boot delay.
Boot your VM (e.g. winxp) and if necessary allow the OS to hard disk checking.