>> I've taken a whole disk image with dd of a Windows server which uses SAS for its C: Boot drive.
Did you create that image with dd using a command like:
dd if=/dev/sda of=diskimage.dd bs=1M
?
If yes then you actually already have a valid flat.vmdk file without descriptor.
Rename it to diskimage-flat.vmdk
Get the values for the specified parameters and use this sample.
Troubleshooting:
if datastorebrowser displays 2 files - you have a syntax error
if not - all good
# esxi-descriptorfile
# replace XXX with size of flat.vmdk in bytes divided by 512
# replace YYY with XXX devided by 16065 rounded down
# replace ZZZ with path to flat.vmdk
# when done - cut here and save file
########################################
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=12345678
parentCID=12345678
createType="vmfs"
# Extent description
RW XXX VMFS "ZZZ"
# The Disk Data Base
#DDB
ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "YYY"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.virtualHWVersion = "8"
if your diskimages was created likedd if=/dev/sda1 of=diskimage.dd bs=1M
then you need one extra step.Create descriptor as before.Create a new vmdk at least 1MB larger than diskimage.
Use a dummy LinuxVM with two virtual disks
scsi.0.0-file = newly created.vmdk
and
scsi.0.1-fileName =diskimage.vmdk
First boot into Linux LiveCD.
Partition the disk as required then dump diskimage into appropriate partition
dd if=/dev/sdb if=/dev/sda1 bs=1M conv=notrunc
The whole procedure is quite easy - you only need to be sure that you have a dd-compatible image that uses no extra-headers or compression.
The GUI-approaches that exist - may be easier to use but the mentioned variant is the most reliable way to do this.
Ulli