Alternative to Vmkfstool
If using vmkfstool to convert your VMWare Server’s vmdk file to an ESX or ESXi file is not as convenient as it could be, you’ve got an alternative you can run inside of windows to do the same thing.
In VMWare Server 2.0 (RC or beta at this point), there’s a nice command line tool to be able to do this. AFAIK, while this utility is in 1.0, the ability to convert to ESX style disks is not.
C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager /?
VMware Virtual Disk Manager - build 101586.
Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
Operations, only one may be specified at a time:
-c : create disk. Additional creation options must
be specified. Only local virtual disks can be
created.
-d : defragment the specified virtual disk. Only
local virtual disks may be defragmented.
-k : shrink the specified virtual disk. Only local
virtual disks may be shrunk.
-n <source-disk> : rename the specified virtual disk; need to
specify destination disk-name. Only local virtual
disks may be renamed.
-p : prepare the mounted virtual disk specified by
the drive-letter for shrinking.
-r <source-disk> : convert the specified disk; need to specify
destination disk-type. For local destination disks
the disk type must be specified.
-x <new-capacity> : expand the disk to the specified capacity. Only
local virtual disks may be expanded.
-R : check a sparse virtual disk for consistency and attempt
to repair any errors.
Other Options:
-q : do not log messages
Additional options for create and convert:
-a <adapter> : (for use with -c only) adapter type
(ide, buslogic or lsilogic)
-s <size> : capacity of the virtual disk
-t <disk-type> : disk type id
Options for remote disks:
-h <hostname> : hostname of remote server
-u <username> : username for remote server
-f <filename> : file containing password
-P <port> : optional TCP port number (default: 902)
-S : specifies that the source disk is remote, by default
the remote options are assumed to refer to the
destination.
Disk types:
0 : single growable virtual disk
1 : growable virtual disk split in 2GB files
2 : preallocated virtual disk
3 : preallocated virtual disk split in 2GB files
4 : preallocated ESX-type virtual disk
5 : compressed disk optimized for streaming
The capacity can be specified in sectors, KB, MB or GB.
The acceptable ranges:
ide adapter : [1MB, 950.0GB]
scsi adapter: [1MB, 950.0GB]
ex 1: vmware-vdiskmanager.exe -c -s 850MB -a ide -t 0 myIdeDisk.vmdk
ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
ex 4: vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
ex 6: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 -h esx-name.mycompany.com \
-u username -f passwordfile “[storage1]/path/to/targetDisk.vmdk”
ex 7: vmware-vdiskmanager.exe -k myDisk.vmdk
ex 8: vmware-vdiskmanager.exe -p <mount-point>
(A virtual disk first needs to be mounted at <mount-point>)
Notice the “preallocated ESX-type virtual disk”? So, all you should have to do is run
vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 destinationDisk.vmdk
and it effectively does the same thing the vmkfstool does at the command line for ESXi. So, if you don’t want to have to use the unsupported command line of ESXi (even though I like having it available. This has been tested and absolutely works. If you don’t have enough double the necessary free space on you ESXi server for the server you are adding, this is certainly convenient.
Also, as a followup to the earlier post as others have pointed out, you really don’t “HAVE TO” open up ssh to run vmkfstool, you can just hit ALT-F1 and type in unsupported at the command prompt. Opening up ssh is purely optional, but definitely convenient.

October 30th, 2008 at 10:42 am
Thanks for the assistance on this, driving me crazy!
October 30th, 2008 at 8:54 pm
Glad to help!
June 28th, 2010 at 12:50 am
Thanks very much for sharing