VMWare to Hyper-V Conversion failing

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

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

bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Thu Jan 18, 2024 5:28 pm

When we try to convert a VMWare VM to Hyper-V, we seemed to running into issue with the disk is coming through as corrupt/Unreadable.

In VMWare it is a Thick provisioned disk on a SCSI controller and is trying to convert to a Gen 1 VM.

Once the conversion completes no errors show in the log file, everything looks to be okay but when you inspect the disk in Hyper-V it throws the error in the below image
Hyper-V Error
Hyper-V Error
Hyper-V Error.JPG (36.46 KiB) Viewed 1817 times
See detail from log file below to show there is no errors:

=========================================================================================================================================
1/18 15:27:49.507 35a4 Facility ???INFO: CV2V_ConverterApp::InitInstance: SetDllDirectory: C:\Program Files\StarWind Software\StarWind V2V Converter\lib
1/18 15:27:49.507 35a4 Facility ???INFO: CV2V_ConverterApp::InitInstance: File Version: 9.0.1.369
1/18 15:27:49.511 35a4 Facility ???INFO: CV2V_ConverterApp::InitInstance: Load language IDR_XML_ENGLISH
1/18 15:27:49.513 35a4 Facility ???INFO: CV2V_ConverterApp::InitInstance: Set current language English
1/18 15:27:49.518 35a4 Facility ???INFO: CPS_V2V_Converter::CPS_V2V_Converter: Version MajorVersion 10, MinorVersion 0, BuildNumber 19045
1/18 15:27:49.522 35a4 Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/18 15:27:49.523 35a4 Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/18 15:27:53.655 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eESXConnection
1/18 15:28:10.715 35a4 Facility ???INFO: WrapperESXI::connect: m_url - https://172.16.3.100/sdk
1/18 15:28:10.753 35a4 Facility ???INFO: WrapperESXI::connect: fullName - root , key - 52710a46-12cd-78b4-ca99-80f4a7c9adb3
1/18 15:28:10.754 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eInputVM
1/18 15:28:11.119 35a4 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/18 15:28:11.119 35a4 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/18 15:28:11.119 35a4 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/18 15:28:21.180 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eLocationTo
1/18 15:28:35.479 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVMSettingsAWS
1/18 15:28:39.049 35a4 Facility ???INFO: ICPPage::OnWizardBack: SetActivePage - eLocationTo
1/18 15:28:41.494 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVMSettingsAzure
1/18 15:29:09.509 35a4 Facility ???INFO: WrapperHyperV::connect: Host - \\hv03.hosting.streets-heaver.com\root\virtualization\v2
1/18 15:29:09.741 35a4 Facility ???INFO: WrapperHyperV::connect: user: hosting\administrator
1/18 15:29:09.787 35a4 Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/18 15:29:09.825 35a4 Facility ???INFO: WrapperHyperV::init_version: HyperV version: 10.0.17763
1/18 15:29:09.826 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eHDDSelect
1/18 15:29:12.149 35a4 Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/18 15:29:20.050 35a4 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eHYPERVConnectionTo
1/18 15:29:20.070 6260 Facility ???INFO: CPPConverting::Convert: InConvertType: 6, OutConvertType: 8
1/18 15:29:20.098 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 0
1/18 15:29:23.712 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 100
1/18 15:29:27.347 6260 Facility ???INFO: CPPConverting::ConvertDisks: pathInput: [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk, pathOutput: C:\ClusterStorage\Datacentre Management Servers PS\CB-Workstation1\Virtual Hard Disks\CB-Workstation.vhdx
1/18 15:29:27.445 6260 Facility ???INFO: ESXVmdk::ParseFile: sFilename - [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk
1/18 15:29:27.445 6260 Facility ???INFO: ESXVmdk::ParseFile: m_cvmxSpec - moref=vm-141026
1/18 15:29:27.453 6260 Facility ???INFO: ESXVmdk::ParseFile: sslThumbprint - 81:14:A9:9F:8D:A3:62:BA:15:79:91:9F:4A:FF:D2:7E:84:62:F7:13
1/18 15:29:28.957 6260 Facility ???INFO: CPPConverting::ConvertDisks: CreateInputImage: 0
1/18 15:29:30.331 6260 Facility ???INFO: CPPConverting::ConvertDisks: CreateOutputImage: 0
1/18 15:33:10.761 5d64 Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/18 15:53:10.770 5d64 Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/18 16:09:34.364 6260 Facility ???INFO: CPPConverting::ConvertImage: Success
1/18 16:09:35.094 6260 Facility ???INFO: WrapperHyperV::modify_cpu_and_memory: MaxCPU - 32
1/18 16:09:35.252 6260 Facility ???INFO: WrapperHyperV::getMaxMemory: MaxRAM - 1025934
1/18 16:09:36.030 6260 Facility ???INFO: VMConverter::HyperVConverter::CreateVM: add_disk_synthetic 1
1/18 16:09:36.395 6260 Facility ???INFO: VMConverter::HyperVConverter::CreateVM: add_ethernet_connection is 1
1/18 16:09:36.395 6260 Facility ???INFO: CPPConverting::ConverterVMtoVM: Create VM CE715600-6630-4C9E-88D3-96B708A46946
1/18 16:09:36.424 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 0
1/18 16:09:37.132 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 1
1/18 16:09:37.340 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 16
1/18 16:09:37.744 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 17
1/18 16:09:38.046 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 18
1/18 16:09:38.348 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 20
1/18 16:09:38.553 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 21
1/18 16:09:38.856 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 23
1/18 16:09:39.261 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 26
1/18 16:09:39.465 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 28
1/18 16:09:39.767 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 31
1/18 16:09:39.969 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 35
1/18 16:09:40.273 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 55
1/18 16:09:40.677 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 82
1/18 16:09:40.880 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 97
1/18 16:09:41.399 6260 Facility ???INFO: WrapperESXI::Wait: Progress - 100
1/18 16:09:41.430 6260 Facility ???INFO: CPPConverting::Convert: SUCCESSFULLY
1/18 16:13:10.777 5d64 Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/18 16:28:10.780 5d64 Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): No_timeout ESX connection
========================================================================================================================================================

The disk goes onto IDE Controller in Hyper-V because it is Gen 1 VM.

However when we convert a VM in VMWare with a Thin provisioned disk on a SCSI controller and is trying to convert to a Gen 1 VM, it converts with no issues at all and can boot it.

This also disk goes onto IDE Controller in Hyper-V because it is Gen 1 VM.

Has anyone come this issue before? If so do you know what the workaround or fix to this issue is?
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Thu Jan 18, 2024 7:14 pm

Thank you for your request.
Does converting a disk alone and inspecting it throw any issues?
bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Mon Jan 22, 2024 3:16 pm

Hi Yaroslav,

Apologies for the delay in reply.

Starwind V2V converter does not seem to give me the option to convert the disk standalone. It needs to be attached to a VM. I am running version 9.0.1.369.

When I try to attach it to another VM it still errors:
V2V Error
V2V Error
V2V Error.JPG (37.1 KiB) Viewed 1704 times
The VM in VMWare ESXi is still switched on.

In the log file it is still saying the disk is unreadable:

=================================================

1/22 15:02:06.218 4dfc Facility ???INFO: CV2V_ConverterApp::InitInstance: SetDllDirectory: C:\Program Files\StarWind Software\StarWind V2V Converter\lib
1/22 15:02:06.219 4dfc Facility ???INFO: CV2V_ConverterApp::InitInstance: File Version: 9.0.1.369
1/22 15:02:06.223 4dfc Facility ???INFO: CV2V_ConverterApp::InitInstance: Load language IDR_XML_ENGLISH
1/22 15:02:06.224 4dfc Facility ???INFO: CV2V_ConverterApp::InitInstance: Set current language English
1/22 15:02:06.227 4dfc Facility ???INFO: CPS_V2V_Converter::CPS_V2V_Converter: Version MajorVersion 10, MinorVersion 0, BuildNumber 19045
1/22 15:02:06.231 4dfc Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/22 15:02:06.232 4dfc Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/22 15:02:11.983 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eESXConnection
1/22 15:02:31.669 4dfc Facility ???INFO: WrapperESXI::connect: m_url - https://172.16.3.100/sdk
1/22 15:02:31.708 4dfc Facility ???INFO: WrapperESXI::connect: fullName - root , key - 52fe70d2-7c67-b3e6-1928-5cc8758143bd
1/22 15:02:31.709 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eInputVM
1/22 15:02:32.102 4dfc Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 15:02:32.102 4dfc Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 15:02:32.102 4dfc Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 15:02:41.996 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eLocationTo
1/22 15:02:44.976 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVMSettingsAzure
1/22 15:03:20.640 4dfc Facility ???INFO: WrapperHyperV::connect: Host - \\hv03.hosting.streets-heaver.com\root\virtualization\v2
1/22 15:03:20.719 4dfc Facility ???INFO: WrapperHyperV::connect: user: hosting\administrator
1/22 15:03:20.778 4dfc Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/22 15:03:20.818 4dfc Facility ???INFO: WrapperHyperV::init_version: HyperV version: 10.0.17763
1/22 15:03:20.820 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eESXConnectionTo
1/22 15:03:53.827 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eOptionsHyperV
1/22 15:03:58.567 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVolumeSelectVM
1/22 15:04:00.382 4dfc Facility ???ERROR: WrapperHyperV::getFileSize: GetVirtualHardDiskState returnValue.iVal = 4096
1/22 15:04:01.426 4dfc Facility ???INFO: WrapperHyperV::waitJob:
instance of Msvm_StorageJob
{
Cancellable = FALSE;
Caption = "Get Virtual Disk Information";
Child = NULL;
CommunicationStatus = NULL;
DeleteOnCompletion = FALSE;
Description = "Getting Virtual Disk Information";
DetailedStatus = NULL;
ElapsedTime = "00000000000000.050593:000";
ElementName = "Get Virtual Disk Information";
ErrorCode = 32768;
ErrorDescription = "Failed to get the disk information.\n\nThe Hyper-V Virtual Machine Management service encountered an unexpected error: The file or directory is corrupted and unreadable. (0x80070570).";
ErrorSummaryDescription = "Failed to get the disk information.\n\nAn unexpected error occurred: The file or directory is corrupted and unreadable. (0x80070570).";
HealthState = 5;
InstallDate = "16010101000000.000000-000";
InstanceID = "05D306BB-C39C-45E0-8DD3-BC6231589AE5";
JobCompletionStatusCode = 2147749924;
JobRunTimes = 1;
JobState = 10;
JobStatus = "Job is completed with error";
JobType = 11;
LocalOrUtcTime = 2;
Name = "Get Virtual Disk Information";
Notify = "";
OperatingStatus = NULL;
OperationalStatus = {17, 6};
OtherRecoveryAction = "";
Owner = "HOSTING\\Administrator";
Parent = NULL;
PercentComplete = 0;
PrimaryStatus = NULL;
Priority = 0;
RecoveryAction = 2;
RunDay = NULL;
RunDayOfWeek = NULL;
RunMonth = NULL;
RunStartInterval = NULL;
ScheduledStartTime = "20240122150400.000000-000";
StartTime = "20240122150400.000000-000";
Status = "Error";
StatusDescriptions = {"Job is completed", "Job is completed with error"};
TimeBeforeRemoval = "00000000000500.000000:000";
TimeOfLastStateChange = "20240122150400.000000-000";
TimeSubmitted = "20240122150400.000000-000";
UntilTime = NULL;
};
1/22 15:04:01.426 4dfc Facility ???INFO: WrapperHyperV::waitJob: JobState 10
1/22 15:04:01.426 4dfc Facility ???ERROR: WrapperHyperV::get_disk_info: getFileSize - 0xffffffff
1/22 15:04:01.426 4dfc Facility ???WARNING: VMConverter::HyperVConverter::getVMInfo: get_disk_info IDE fail - 0xffffffff
1/22 15:04:02.860 4dfc Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/22 15:04:31.163 4dfc Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eHYPERVConnectionTo
1/22 15:04:31.183 35bc Facility ???INFO: CPPConverting::Convert: InConvertType: 5, OutConvertType: 7
1/22 15:04:31.210 35bc Facility ???INFO: WrapperESXI::Wait: Progress - 0
1/22 15:04:43.863 35bc Facility ???INFO: WrapperESXI::Wait: Progress - 100
1/22 15:04:48.085 35bc Facility ???INFO: CPPConverting::ConvertDisks: pathInput: [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk, pathOutput: C:\ClusterStorage\Datacentre Management Servers PS\CB-Workstation1\Virtual Hard Disks\CB-Workstation1.vhdx
1/22 15:04:48.193 35bc Facility ???INFO: ESXVmdk::ParseFile: sFilename - [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk
1/22 15:04:48.193 35bc Facility ???INFO: ESXVmdk::ParseFile: m_cvmxSpec - moref=vm-141026
1/22 15:04:48.198 35bc Facility ???INFO: ESXVmdk::ParseFile: sslThumbprint - 81:14:A9:9F:8D:A3:62:BA:15:79:91:9F:4A:FF:D2:7E:84:62:F7:13
1/22 15:04:51.901 35bc Facility ???ERROR: ESXVmdk::ParseFile: m_VixDiskLib_Open is fail - 1, Unknown error
1/22 15:04:51.902 35bc Facility ???ERROR: ESXIDisk::CreateInputImage: ParseFile is fail
1/22 15:04:51.902 35bc Facility ???INFO: CPPConverting::ConvertDisks: CreateInputImage: 1
1/22 15:04:51.902 35bc Facility ???ERROR: CPPConverting::Convert: FAILED
1/22 15:07:31.723 4a58 Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection

=====================================================================================================================================================

Also in ESXi the task is throwing the following error:
VMWare ESXi error
VMWare ESXi error
VMWare error.JPG (71.2 KiB) Viewed 1704 times
Not sure what to try next?

Are you able to advise?

Kind Regards
Barry
bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Mon Jan 22, 2024 3:34 pm

Hi Yaroslav,

I think part of the error from the V2V log file is because I am attaching it to the VM that already has the corrupt/unreadable disk.

Still throws error in V2V and fails to convert when I attach it to a New VM though:
V2V Error
V2V Error
V2V Error.JPG (37.1 KiB) Viewed 1700 times
Also same error when showing in VMWare when creating snapshot
VMWare Snapshot
VMWare Snapshot
VMWare error.JPG (71.2 KiB) Viewed 1700 times
No decent info available in the V2V logs.

The other thing to note is that I was able to fully convert the VM previously when it was switched on. It took a snapshot and converted without any issues but it was just that the disk was unreadable.

Any ideas?

Is there anyway in V2V of cloning the disk without having to create a VM?

Please advise?

Thanks
Barry
bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Mon Jan 22, 2024 4:35 pm

Hi Yaroslav,

Resolved VMWare error by re-booting the guest VM.

Still testing at the moment.

Kind Regards
Barry
bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Mon Jan 22, 2024 5:10 pm

Hi Yaroslav,

When just converting the just disk from VMWare into a new VM in Hyper-V, it still errors saying the disk is corrupt/unreadable, even though the conversion completes successfully.

When selecting the VHD/VHDX form for the disk I am selecting "VHDX pre-allocated image" which is Fixed/Thick Provisioning in Hyper-V VM terms which is the same disk type as when fully converting the VM
Disk Provisioning option
Disk Provisioning option
DiskProvisioning Option.JPG (46.34 KiB) Viewed 1694 times
Error returned when inspecting disk:
Disk Corrupt/Unreadable
Disk Corrupt/Unreadable
Hyper-V Error2.JPG (32.62 KiB) Viewed 1694 times
Here are the logs from the conversion:

======================================================

The log file name: 'logs\V2V_Log-20240122-155956.log' (PID 16748)
Delete log file 'logs\V2V_Log-20240118-175339.log'.
1/22 15:59:56.057 7204 Facility ???INFO: CV2V_ConverterApp::InitInstance: SetDllDirectory: C:\Program Files\StarWind Software\StarWind V2V Converter\lib
1/22 15:59:56.057 7204 Facility ???INFO: CV2V_ConverterApp::InitInstance: File Version: 9.0.1.369
1/22 15:59:56.061 7204 Facility ???INFO: CV2V_ConverterApp::InitInstance: Load language IDR_XML_ENGLISH
1/22 15:59:56.063 7204 Facility ???INFO: CV2V_ConverterApp::InitInstance: Set current language English
1/22 15:59:56.069 7204 Facility ???INFO: CPS_V2V_Converter::CPS_V2V_Converter: Version MajorVersion 10, MinorVersion 0, BuildNumber 19045
1/22 15:59:56.074 7204 Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/22 15:59:56.075 7204 Facility ???INFO: WrapperHyperV::WrapperHyperV: LoadLibrary C:\WINDOWS\system32\wbem\wmiutils.dll - 8d80000
1/22 16:00:03.089 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eESXConnection
1/22 16:00:18.349 7204 Facility ???INFO: WrapperESXI::connect: m_url - https://172.16.3.100/sdk
1/22 16:00:18.388 7204 Facility ???INFO: WrapperESXI::connect: fullName - root , key - 52ebd3de-f0cd-4177-f1ad-0cb8b0266fa0
1/22 16:00:18.388 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eInputVM
1/22 16:00:18.751 7204 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 16:00:18.751 7204 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 16:00:18.751 7204 Facility ???INFO: VMConverter::ESXIConverter::GetHostListInfo: ESX version: 7.0.1
1/22 16:00:24.045 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eLocationTo
1/22 16:00:29.837 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVMSettingsAzure
1/22 16:00:45.932 7204 Facility ???INFO: ICPPage::OnWizardBack: SetActivePage - eLocationTo
1/22 16:00:46.803 7204 Facility ???INFO: ICPPage::OnWizardBack: SetActivePage - eInputVM
1/22 16:00:50.803 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eLocationTo
1/22 16:00:51.819 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVMSettingsAzure
1/22 16:01:02.779 7204 Facility ???INFO: WrapperHyperV::connect: Host - \\hv03.hosting.streets-heaver.com\root\virtualization\v2
1/22 16:01:02.875 7204 Facility ???INFO: WrapperHyperV::connect: user: hosting\administrator
1/22 16:01:02.945 7204 Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/22 16:01:02.976 7204 Facility ???INFO: WrapperHyperV::init_version: HyperV version: 10.0.17763
1/22 16:01:02.978 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eESXConnectionTo
1/22 16:01:19.424 7204 Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/22 16:01:27.410 7204 Facility ???WARNING: CPPOutputVM::OnButtonBrowseClick: Fill up GUID is fail
1/22 16:01:28.860 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eOptionsHyperV
1/22 16:01:32.845 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eVolumeSelectVM
1/22 16:01:32.893 7204 Facility ???INFO: WrapperHyperV::connectToCIMV2: user: hosting\administrator
1/22 16:01:41.823 7204 Facility ???INFO: ICPPage::OnWizardNext: SetActivePage - eHYPERVConnectionTo
1/22 16:01:41.846 7198 Facility ???INFO: CPPConverting::Convert: InConvertType: 5, OutConvertType: 7
1/22 16:01:41.874 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 0
1/22 16:01:45.239 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 100
1/22 16:01:48.557 7198 Facility ???INFO: CPPConverting::ConvertDisks: pathInput: [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk, pathOutput: C:\ClusterStorage\Datacentre Management Servers PS\BobTest\CB-Workstation1.vhdx
1/22 16:01:48.658 7198 Facility ???INFO: ESXVmdk::ParseFile: sFilename - [N3 Servers PS] CB-Workstation1/CB-Workstation1.vmdk
1/22 16:01:48.658 7198 Facility ???INFO: ESXVmdk::ParseFile: m_cvmxSpec - moref=vm-141026
1/22 16:01:48.664 7198 Facility ???INFO: ESXVmdk::ParseFile: sslThumbprint - 81:14:A9:9F:8D:A3:62:BA:15:79:91:9F:4A:FF:D2:7E:84:62:F7:13
1/22 16:01:50.194 7198 Facility ???INFO: CPPConverting::ConvertDisks: CreateInputImage: 0
1/22 16:01:51.579 7198 Facility ???INFO: CPPConverting::ConvertDisks: CreateOutputImage: 0
1/22 16:05:18.396 727c Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/22 16:25:18.408 727c Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/22 16:44:51.793 7198 Facility ???INFO: CPPConverting::ConvertImage: Success
1/22 16:44:53.049 7198 Facility ???INFO: WrapperHyperV::getMaxMemory: MaxRAM - 1025934
1/22 16:44:54.225 7198 Facility ???INFO: VMConverter::HyperVConverter::CreateVM: add_disk_synthetic 1
1/22 16:44:54.470 7198 Facility ???INFO: CPPConverting::ConverterDiskToVM: Create VM 2CE47827-3E0D-4134-9BB9-A89E424F14DD
1/22 16:44:54.501 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 0
1/22 16:44:55.279 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 1
1/22 16:44:55.585 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 7
1/22 16:44:55.992 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 52
1/22 16:44:56.294 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 73
1/22 16:44:56.800 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 76
1/22 16:44:57.207 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 79
1/22 16:44:57.410 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 81
1/22 16:44:57.617 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 84
1/22 16:44:58.295 7198 Facility ???INFO: WrapperESXI::Wait: Progress - 100
1/22 16:44:58.325 7198 Facility ???INFO: CPPConverting::Convert: SUCCESSFULLY
1/22 16:45:18.416 727c Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): Timeout ESX connection
1/22 17:00:18.418 727c Facility ???INFO: VMConverter::ESXIConverter::Connection::<lambda_8874940e4602bbfc5e7b4b277e23eb86>::operator (): No_timeout ESX connection

=====================================================================================================================

Any ideas what might be causing this error to continue happening?

Kind Regards
Barry
Last edited by bazza9485 on Mon Jan 22, 2024 5:41 pm, edited 1 time in total.
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Mon Jan 22, 2024 5:19 pm

Can you please shut down the VM and try converting its individual disk while it is off?
This may be related to an inability to take a snapshot of that VM.
bazza9485
Posts: 6
Joined: Thu Jan 18, 2024 12:54 pm

Wed Jan 24, 2024 10:40 am

Hi Yaroslav,

I tried converting the individual disk while the VM was switched off and again it converted successfully but the disk still came through as corrupt/unreadable.

This only seems to be happening on VM's/disks that have a thick/fixed provisioned disk as the primary disk.

I have managed to workaround this by converting the disk to a Thin/Dynamic Provisioned Disk (VHDX) and this converts successfully without the disk being corrupt/unreadable so I will use this method moving forward.

Thanks for your help on this.

Regards
Barry
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Wed Jan 24, 2024 12:19 pm

Barry,

Thanks for your update. This case just makes me super interested so, if I may, could I learn more?
1. Is the original disk Thin?
2. Can you copy it to the destination and repeat the test conversion as a local file, please?
I feel that understanding more will help us to improve the product.
Thanks!!
pcc
Posts: 1
Joined: Fri Feb 16, 2024 1:47 am

Fri Feb 16, 2024 1:51 am

Hi Barry & Yaroslav,

We are having the same issue. I unfortunately did not save the error logs at the time.

I converted VMWare ESX6.x to Hyper V while the ESX VM was on and it was successful, but the VHDX was corrupt when trying to boot on the HyperV.

I then switched the VM off and converted again and had the same issue, the VHDX was corrupt.

I have now just downloaded the VMDK to the new Hyper V server and am trying to convert locally to see if this resolves the issue.

Is there any advice for Live ESX to HyperV conversions? Should the VM always be off when converting?

Thanks.
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Fri Feb 16, 2024 8:46 am

Welcome to StarWind Forum and sorry to read that. Could you please let me know more about how exactly was it corrupt? Screenshots of the VM not booting will be helpful.
If the VM does not boot it might have to do something to do with boot order or VM gen. Also, the fact that the conversion was successful points to the fact that the StarWind V2V Converter worked as expected.
Is there any advice for Live ESX to HyperV conversions? Should the VM always be off when converting?
You can convert the live VM, but, make sure to remove VMware tools before that.
jc2024
Posts: 4
Joined: Mon Mar 11, 2024 7:52 pm

Mon Mar 11, 2024 10:32 pm

I am having the same problem converting an ESXi VM to Hyper-V and Googling the problem I found this thread. Trying to use V2V GUI to convert an entire VM running Red Hat Enterprise Linux 7 on a remote ESXi server to Hyper-V does not work for me when the ESXi VM is powered on OR off. I get the same error mentioned by others in this thread in that as soon as I try to power up the converted VM in Hyper-V, I instantly get a Hyper-V error about the virtual disk being corrupted. It does not seem to me that the guest OS is even beginning to boot and the failure is happening before that point. It almost seems like to me the V2V function to convert an entire VM is somehow creating the virtual disk incorrectly such that Hyper-V thinks it is corrupted. I am able to "attach" this corrupted virtual disk in Windows "Disk Management" tool so it isn't that the file itself it totally corrupted at the OS/disk level - just something about it that makes Hyper-V think it is corrupted. The only way I can get this to work is if I use V2V GUI to choose to convert the ESXi VM disk (not the whole VM) on the remote ESXi server and then attach it to a new VM on the Hyper-V server AND I set the destination disk type to be of type "VHDX growable image". I am running V2V while logged into the computer with an admin account and I have tried right-clicking the V2V shortcut and choosing option to run as admin. I am running V2V on the destination Hyper-V server. I have tried converting different source ESXi Red Hat Linux VMs with the same results. These VMs run fine on the ESXi server. I have not tried converting a Windows VM on the ESXi server yet. Here is the info on my setup:

Source VMware ESXi Server Info

ESXi Version: 8.0.1
Source VM CPUs: 2
Source VM Memory: 3GB
Source VM Hard Disk 1 Size/Type: 40GB (Thick Provision Lazy Zeroed)
Source VM Hard Disk 1 Virtual Device Node: SCSI controller 0, SCSI(0:0) Hard disk 1
Source VM SCSI Controller 0 Type: VMware Paravirtual
Source VM Compatibility: ESXi 6.0 and later (VM version 11)
Source VM Guest OS: Red Hat Enterprise Linux 7.9

-----------------------

Destination Hyper-V Server Info

Windows Version: Windows Server 2022 Build 21H2

Hyper-V VM Virtual Disk Type: Unable to determine this. If I try to use the "Inspect Disk" function of Hyper-V Manager to look at the disk for the converted VM I get an error that says "...The file or directory is corrupted and unreadable (0x80070570)..."

-----------------------

StarWind V2V Info

Version: 9.0.1.413
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Mon Mar 11, 2024 10:51 pm

Thank you for your question.
V2V Converter maps the disk and copies the data. It does not alter the file system or corrupt it. The VM does not boot due to a variety of reasons. If the conversion was successful the issue might be in the VM configuration.
Please try
1. remove the VMware tools before conversion from the VM.
2. IDE controller.
3. recreate the VM and attach the disk.
4. different boot options (e.g., EFI).
5. check the repair mode checkbox.

I am positive that another Linux VM still can recognize the converted volume. Therefore the filesystem is there.
jc2024
Posts: 4
Joined: Mon Mar 11, 2024 7:52 pm

Wed Mar 13, 2024 8:16 pm

Hello Yaroslav,

Thank you for the quick response and suggestions. Unfortunately none of the suggestions worked including attaching the VHDX file that V2V created to an existing Linux VM. Any Hyper-V VM that I attach the V2V created VHDX file to will not boot. Hyper-V throws an error before the VM even gets to the step of trying to boot the BIOS or OS. When I detach the VHDX file, the VM works normally again. I even tried using a data recovery program to see if it could read the VHDX file that V2V created and even that program encountered a read error. I spent all day yesterday doing many tests and I have come to the conclusion there is some kind of problem/bug with the V2V app that is manifesting in my environment and I suspect the environment of the other people in this thread with the same problem. From my tests the problem only happens when V2V tries to create a VHDX file of type thick provisioned. I didn't encounter any problems when V2V converted an ESXi VM disk to types "VHDX growable", "VHD growable", or "VHD pre-allocated". The issue only occurs when V2V converts an ESXi VM disk to type "VHDX pre-allocated". Below is a quick summary of each of the many tests I did. If you need any other info from me to help solve the problem I would be happy to provide it. When I mention in the test results that I got the file/directory corrupted error message I am referring to the error message in the attached screenshot with name V2V_VHDX_Thick_Provisioned_Error.png. The error message is alway the same with the exception of what the listed file path is and the hard disk controller. The path in the error message is always for the VHDX file that V2V created. The listed controller information is either "Microsoft Emulated IDE Controller" or "Synthetic SCSI Controller" depending on which hard disk controller type the VHDX file is configured for.

----------------

Test: Try to attach the corrupted VHDX file to an existing working Linux Hyper-V VM to see if that VM can read it

Result: As soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: On ESXi VM with a "Thick Provision Lazy Zeroed" hard disk and Red Hat Linux 7.9 installed, uninstall VMware Tools before converting it to Hyper-V using V2V

Result: As soon as I tried to power on the converted Hyper-V VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: For a Hyper-V VM that has the corrupted file/directory issue which was converted from ESXi using V2V, try changing the hard disk controller settings from IDE to SCSI and also try changing the other hard disk controller settings for the VM

Result: Tried every permutation possible. All result in the same which is as soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Create a brand new Hyper-V VM and then attach the VHDX file created by V2V to this new VM

Result: As soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Try repair mode

Result: This option is only present when you use the V2V function to only convert a disk and not the entire VM. The option description suggests it will only work for Windows but I tried it anyway. The problem was still present. As soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Try different boot options

Result: Tried changing boot order, secure boot mode options, as well as every other possible VM setting like number of processors and RAM. All had no effect on the problem. As soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Create a brand new Hyper-V VM and configure it to boot from a GParted boot CD image. Attach the problematic VHDX file that V2V created to the VM. See if GParted can read the hard disk.

Result: As soon as I tried to power on the VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: See if the Hyper-V PowerShell command "get-vhd" can read the corrupted VHDX file V2V created. This is a basic command that just displays basic virtual disk file information and should work for any valid disk file.

Result: The command is unable to read the file. It reports the error "...The file or directory is corrupted and unreadable. (0x80070570)..." See attached screenshot named get-vhd_read_error.png. I did confirm the command worked without errors for a V2V created VHDX file which was of type "VHDX growable image". Issue seems to be only for VHDX files created by V2V where the source ESXi hard disk is of type "Thick Provisioned Lazy Zeroed" or I tell V2V to convert an ESXi disk to type "VHDX pre-allocated". This test suggests to me that there is no combination of Hyper-V VM settings that is going to fix the issue. If this basic Hyper-V command can't even read the VHDX file, trying to use it with any VM is not going to work because Hyper-V itself can't read the file.

----------------

Test: Up to this point I have been running V2V on the destination Hyper-V server. I then tested installing V2V on a separate standalone Windows 10 computer and tried converting an ESXi VM to Hyper-V from this computer.

Result: No change to the problem. As soon as I tried to power on the converted Hyper-V VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Up to this point I had only been trying to convert Linux ESXi VMs. I then tried to use V2V to convert a Windows Server VM which had its hard disk configured as type "Thick Provisioned Lazy Zeroed".

Result: As soon as I tried to power on the converted Hyper-V VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state.

----------------

Test: Try to use V2V to convert a Linux ESXi VM that only had "Thin Provisioned" hard disks and did not have any hard disks configured as type "Thick Provisioned Lazy Zeroed"

Result: SUCCESS. No problems starting up the converted Hyper-V VM

----------------

Test: Try to use the V2V function to convert just a specific ESXi VM disk of type "Thick Provisioned Lazy Zeroed". Then attach this converted disk to a brand new Hyper-V VM. Try converting the source ESXi disk to each of the possible destination disk type options that V2V offers to see which work and which don't

Result: No errors when the source ESXi disk is converted to type "VHDX growable image", "VHD growable image", or "VHD pre-allocated image". I only get the corrupted file/directory error when I used V2V to convert the source disk to type "VHDX pre-allocated image"

----------------

Test: Create an ESXi VM with a disk of type "Thin provisioned" and another of type "Thick Provisioned Lazy Zeroed" to it. Don't install any OS at all. Powered up the ESXi VM and confirmed it displayed the typical BIOS level error message about a missing operating system. The converted Hyper-V VM should do the same. Use the V2V function to convert the entire VM.

Result: As soon as I tried to power on the converted Hyper-V VM, instantly got the Hyper-V file/directory corrupted error message. VM state does not change to "running" and remains in the "off" state. I then detached the hard disk that corresponded to the ESXi VM disk that was "Thick Provisioned Lazy Zeroed". When I powered the VM now it booted and I got the expected BIOS error about an operating system being missing. I then re-attached the VHDX file and repeated the test and when I powered on the VM I instantly got the corrupted file/directory error. This shows that simply attaching a VHDX file created by V2V of type thick provisioned causes the problem. The VM does not even try to boot the OS since the error prevents Hyper-V from getting to that part of the VM start up process.

----------------

Test: Up to this point the ESXi VMs I have been trying to convert were configured for compatibility mode "ESXi 8.0 and later". Try converting ESXi VMs with older compatibility modes to see if the issue is isolated to just "ESXi 8.0 and later" compatibility mode VMs.

Result: Attempting to use V2V to convert VMs with an older compatibility mode did not fix the problem. All the VMs displayed the same problem of whenever V2V converted a disk of type "Thick Provisioned Lazy Zeroed", the resultant VHDX file was reported as corrupted by Hyper-V. I tested VMs configured in the following older compatibility modes: "ESXi 7.0 and later", "ESXi 6.0 and later"

----------------

Test: Try to use a data recovery software to see if it can read the Hyper-V reported corrupted VHDX file which was created by V2V.

Result: I tried to use the program "UFS Explorer" (https://www.ufsexplorer.com). There is a function in that program to image an input VHDX file to a new VHDX file. I attempted to do this with the corrupted VHDX file that V2V created and the program errored out with a "read error" at the 99.5% point. See attached screenshot file with name ufs_explorer-read_error.png. To confirm UFS Explorer could image a different VHDX file that V2V created, I tested it on a file from a previous test where I told V2V to convert an ESXi disk to type "VHDX growable image" which is a type that does not exhibit the error. The UFS Explorer program was able to image this file to another VHDX file and there were no read failures. This shows that even a data recovery software detects some kind of corruption with the thick provisioned VHDX file that V2V created.
Attachments
ufs_explorer-read_error.png
ufs_explorer-read_error.png (110.79 KiB) Viewed 910 times
V2V_VHDX_Thick_Provisioned_Error.png
V2V_VHDX_Thick_Provisioned_Error.png (76.63 KiB) Viewed 910 times
get-vhd_read_error.png
get-vhd_read_error.png (184.35 KiB) Viewed 910 times
yaroslav (staff)
Staff
Posts: 2361
Joined: Mon Nov 18, 2019 11:11 am

Fri Mar 15, 2024 10:27 pm

Hi,

Thanks for the detailed explanation. I will check on it with my colleagues.
Post Reply