Ancient VMDK descriptor and partition issues

VM image converter (VMDK, VHD, VHDX, IMG, RAW, QCOW and QCOW2), P2V migrator

Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)

Post Reply
sharza
Posts: 2
Joined: Tue Mar 29, 2022 7:37 am

Tue Mar 29, 2022 10:12 am

Hi

So given the withdrawal of Vmware Converter, and the first P2V in 5 years, I thought I'd give Starwind V2V converter a try. The experience was mixed, and I'd throw some feedback this way to maybe assist others, or, potentially, highlight my own lack of technical acumen :-)

I did 2 conversions, one went pear shaped, and one went ok, with a fair bit of massage.

The scenario was a P2V of a physical server, running Windows Server 2008 R2. Storage was a single physical drive, MBR partition style, with 2 primary partitions. Simple enough I'd think.

The server was located more or less on the other side of the globe, the connection not ligthning fast, and no direct connection to vCenter or ESX possible, so the selected method was to simply convert the disk and add it to a new VM once the VMDK's was transfered to a datastore.

First Attempt (failed):
  • Converted logical volumes, one by one, to separate volumes into separate harddisks. Figured the easiest way was to do it a migration time.
  • The converted harddisks suffered from partition table issues.
    • They could be read from a booted WIndows Install image.
    • No partition was set to Active
    • They could not be changed using DiskPart, so it wasn't possible to set a partition active.
    • Attempting fix with bootrec /FixMbr smashed the partition table up for good.
Second Attempt (succeeded):
  • Converted entire harddrive.
Now - converting a local volume/disk to VMDK for ESX format, without access to an ESX server, only provides the option to convert to a thick VMDK file. So far so good.

However the resulting VMDK descriptor files had some flaws in that regard:
  • Configured as thin provisioned, even though the disk was obviously thick
  • VMFS extent had an offset configured (this is an incorrect configuration, VMFS extents do not use offsets)
  • Configured for IDE controller, including IDE geometry (not exactly an error - but ... well...) *
* I wasn't provided any option to select target controller type during the conversion.

Now I wouldn't call it an error producing disks with a target controller type of "IDE", but this isn't really what we wan't for any modern Windows OS.

Luckily I hadn't forgot how to hand edit VMDK descriptors, so I'd convert it to "lsilogic", adjust the geometry accordingly, remove the thinprovisioned setting and the VMFS extent offset... after that it booted like a charm.

So I don't really need support, I am however curious as to why the target controller type defaults to IDE, anno 2022.

Below you can find the original VMDK descriptor, and the edited one.

Cheers.

Original Disk Descriptor:
# Disk DescriptorFile
version=1
encoding="windows-1252"
CID=2f8ab2e2
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 286677120 VMFS "ConvertedDisk-flat.vmdk" 0

# The Disk Data Base
#DDB

ddb.adapterType = "ide"
ddb.geometry.cylinders = "16383"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.longContentID = "742816e9287602798b86c80e2f8ab2e2"
ddb.thinProvisioned = "1"
ddb.uuid = "60 00 C2 98 93 3b 59 d9-94 e9 69 b4 0f 60 73 84"
ddb.virtualHWVersion = "4"


Corrected Disk Descriptor:
# Disk DescriptorFile
version=1
encoding="windows-1252"
CID=2f8ab2e2
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 286677120 VMFS "ConvertedDisk-flat.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "17844"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "742816e9287602798b86c80e2f8ab2e2"
ddb.uuid = "60 00 C2 98 93 3b 59 d9-94 e9 69 b4 0f 60 73 84"
ddb.virtualHWVersion = "4"
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Tue Mar 29, 2022 1:36 pm

Welcome to StarWind Forum and thanks for your detailed feedback.
It is not possible to select the controller while converting to a VM. This feature is TBA in builds to come. Stay tuned!
sharza
Posts: 2
Joined: Tue Mar 29, 2022 7:37 am

Wed Mar 30, 2022 10:19 am

It is not possible to select the controller while converting to a VM.
I realised that :-)

I will recommend that for Windows VMs SCSI controller geometry is selected per default, as almost none (if any at all) will ever use IDE.

It will also be beneficial to fix the following issues:
  • Thinprovisioned parameter added and set to "1" even though the disk is thick.
  • VMFS extents do not support offset - don't add offset to the VMDK descriptor for VMFS extents (not even a 0)
    • It does not result in errors or issues at the moment, however it may at some point in time.
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Wed Mar 30, 2022 11:54 am

I will recommend that for Windows VMs SCSI controller geometry is selected per default, as almost none (if any at all) will ever use IDE.
That's a good point. Thank you.
It will also be beneficial to fix the following issues:
This is already on the to-do list. Thank you.
Post Reply