суббота, 3 ноября 2012 г.

Конвертирование ВМ VMware для VirtualBox

Дано: ВМ WinXP ( VMware версии 6.8)
Задача: запустить ВМ с помощью VirtualBox

Контрольные суммы для файлов ВМ:

test@testpc /media/WORK/VM/Windows/WinXP_SecretNet51 $ md5sum *
6945e0b81378dd1377f47c2c8e841799  Windows XP Professional.nvram
c84357e9f6e209b577510cdf1825f2f8  Windows XP Professional.vmdk
d41d8cd98f00b204e9800998ecf8427e  Windows XP Professional.vmsd
f1f30651ad5258fba5a0cc954decf33a  Windows XP Professional.vmx
17be67d8aaf2844c7619310597f82d28  Windows XP Professional.vmxf


Создаем пакет OVF :

test@testpc /media/WORK/VM/Windows/WinXP_SecretNet51 $ ovftool Windows\ XP\ Professional.vmx winxppro.ovf
Opening VMX source: Windows XP Professional.vmx
Opening OVF target: winxppro.ovf
Writing OVF package: winxppro.ovf
Transfer Completed                   
Completed successfully


Смотрим, что изменилось:

test@testpc /media/WORK/VM/Windows/WinXP_SecretNet51 $ md5sum *
6945e0b81378dd1377f47c2c8e841799  Windows XP Professional.nvram
c84357e9f6e209b577510cdf1825f2f8  Windows XP Professional.vmdk
d41d8cd98f00b204e9800998ecf8427e  Windows XP Professional.vmsd
f1f30651ad5258fba5a0cc954decf33a  Windows XP Professional.vmx
17be67d8aaf2844c7619310597f82d28  Windows XP Professional.vmxf
0d6caf97df338681da86c33ce869c51c  winxppro-disk1.vmdk
9307378a87f6069691c698043a3a334b  winxppro.mf
46febe5bd76f83a57e5759079f46ceb8  winxppro.ovf


test@testpc /media/WORK/VM/Windows/WinXP_SecretNet51 $ du -h *
12K    Windows XP Professional.nvram
1,9G    Windows XP Professional.vmdk
0    Windows XP Professional.vmsd
4,0K    Windows XP Professional.vmx
512    Windows XP Professional.vmxf
961M    winxppro-disk1.vmdk
512    winxppro.mf
8,0K    winxppro.ovf


Копируем новые файлы winxppro* в другой каталог SecretNet5. Запускаем VirtualBox, в меню "Файл" выбираем "Импорт конфигурации". Далее в диалоговом окне "Открыть конфигурацию" выбираем файл OVF и нажимаем "Вперед". Появляется ошибка:

Указано, что ошибка в строке 47 файла OVF. Открываем файл и смотрим, что в данной строке:

      <Item ovf:required="false">                             //строка 47
        <rasd:Address>0</rasd:Address>
        <rasd:Description>USB Controller (EHCI)</rasd:Description>
        <rasd:ElementName>usb</rasd:ElementName>
        <rasd:InstanceID>3</rasd:InstanceID>
        <rasd:ResourceSubType>vmware.usb.ehci</rasd:ResourceSubType>
        <rasd:ResourceType>23</rasd:ResourceType>
        <vmw:Config ovf:required="false" vmw:key="ehciEnabled" vmw:value="true"/>
      </Item>


Ошибка заключается в том, что VirtualBox не может распознать элемент Config, который используется только VMware. Стоит сразу сказать, что таких строк несколько в файле. После их удаления ошибка исчезнет:

test@testpc /media/WORK/VM/Windows/SecretNet5 $ grep -i vmw:Config winxppro.ovf
        <vmw:Config ovf:required="false" vmw:key="ehciEnabled" vmw:value="true"/>
        <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="false"/>
        <vmw:Config ovf:required="false" vmw:key="useAutoDetect" vmw:value="true"/>
      <vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="false"/>
      <vmw:Config ovf:required="false" vmw:key="tools.toolsUpgradePolicy" vmw:value="useGlobal"/>


При импорте появляется другая ошибка о неверных значениях хэшей для файлов (т.к. из файла OVF удалили несколько строк, то необходимо пересчитать значение хэш-функции и добавить ее значение в файл winxppro.mf):

test@testpc /media/WORK/VM/Windows/SecretNet5 $ cat winxppro.mf
SHA1(winxppro.ovf)= 7e2f06b0bf6330a1d6778ff23b89a6021b0f7703
SHA1(winxppro-disk1.vmdk)= a66d7aa13662a019f76a1baa49a2e19e56dd7711
test@testpc /media/WORK/VM/Windows/SecretNet5 $ sha1sum winxppro.ovf
e083b7e5f9f1f5b1a1841361e6340dfbd08ada4e  winxppro.ovf
test@testpc /media/WORK/VM/Windows/SecretNet5 $ cat winxppro.mf
SHA1(winxppro.ovf)= e083b7e5f9f1f5b1a1841361e6340dfbd08ada4e
SHA1(winxppro-disk1.vmdk)= a66d7aa13662a019f76a1baa49a2e19e56dd7711



Комментариев нет:

Отправить комментарий