Конвертация виртуальных дисков в формат VHDX
17 May 2018
local_offer
Hyper-V
Файл .ova это архив шаблона виртуальной машины для VMware ESXi server. Его необходимо предварительно распаковать архиватором 7-zip. Внутри архива будет .vmdk файл который и будем конвертировать. Предварительно необходимо загрузить и установить Microsoft Virtual Machine Converter 3.0.
Запуск конвертации:
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "F:\iLOAmpPack_1.20\disk-0.vmdk" -VhdFormat vhdx -DestinationLiteralPath "F:\iLOAmpPack_1.20\disk-0.vhdx"
Возможные проблемы конвертации
Ошибка: The entry is not a supported disk database entry for the descriptor
PS C:\temp\ova> Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
PS C:\temp\ova> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "c:\Temp\ova\linuxUbuntu\linuxUbuntu-disk1.vmdk
" -VhdFormat vhdx -DestinationLiteralPath "c:\Hyper-V\stepik-73\Virtual Hard Disks\linuxUbuntu-disk1.vhdx"
ConvertTo-MvmcVirtualHardDisk : The entry e445aa5b-81dd-4ea8-9a31-2334005067a7 is not a supported disk database entry f
or the descriptor.
+ CategoryInfo : WriteError: (Microsoft.Accel...nversionService:DriveConversionService) [ConvertTo-MvmcVi
rtualHardDisk], VmdkDescriptorParseException
+ FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC
ommand
One or more errors occurred.
+ CategoryInfo : WriteError: (Microsoft.Accel...nversionService:DriveConversionService) [ConvertTo-MvmcVi
rtualHardDisk], AggregateException
+ FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC
ommand
Решение
Найдено здесь: https://stackoverflow.com/questions/37481737/error-when-converting-vmware-virtual-disk-to-hyperv.
Можно попробовать изменить дескриптор виртуального диска с помомощю утилит DS File Ops Kit:
PS C:\temp\ova> .\dsfo.exe "c:\Temp\ova\linuxUbuntu\linuxUbuntu-disk1.vmdk" 512 1024 descriptor1.txt
OK, 1024 bytes, 0.016s, MD5 = 09ab460857f1fbdd72787bb910c402f7
В созданном файле descriptor1.txt закоментировать строки вызывающие ошибки:
# Disk DescriptorFile
version=1
CID=a8affdfd
parentCID=ffffffff
createType="streamOptimized"
# Extent description
RDONLY 12582912 SPARSE "linuxUbuntu-disk1.vmdk"
# The disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.geometry.cylinders="12483"
ddb.geometry.heads="16"
ddb.geometry.sectors="63"
ddb.geometry.biosCylinders="783"
ddb.geometry.biosHeads="255"
ddb.geometry.biosSectors="63"
#ddb.uuid.image="e445aa5b-81dd-4ea8-9a31-2334005067a7"
#ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
#ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
#ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
#ddb.comment=""
Обновить .vmdk файл:
PS C:\temp\ova> .\dsfi.exe "c:\Temp\ova\linuxUbuntu\linuxUbuntu-disk1.vmdk" 512 1024 descriptor1.txt
OK, written 681 bytes at offset 512
Другой вариант выполнить конвертацию, это воспользоваться утилитой «StarWind V2V Converter».