Конвертация виртуальной машины Hyper-V в VMWare


Существует несколько способов конвертации виртуальной машины Hyper-V в VMWare, которые и будут рассмотрены в этой статье.

Выбор конвертера

Так, можно использовать штатный инструмент VM Converter Standalone, но его можно использовать, когда есть прямая связь между гипервизором ESXi и конвертируемой виртуальной машиной. Если же такой связи нет и есть лишь .vhd-файл, то можно использовать другие инструменты, например, бесплатный конвертер [StarWind V2V Converter](https://www.starwindsoftware.com/converter). Также можно использовать сценарий PowerShell-сценарий [HypervOVAConverter]( https://github.com/ihumster/HypervOVAConverter).

Сам процесс конвертации сводится к запуску конвертера, но до этого нужно еще много чего сделать: установить дополнительный модуль PowerShell (если вы будете использовать PowerShell-сценарий), подготовить саму виртуальную машину к конвертированию и т.д. Далее мы рассмотрим все подготовительные мероприятия, а только уже затем – приступим к самому процессу преобразования виртуальной машины из одного формата в другой.

Установка модуля PowerShell для Hyper-V

Даже если вы планируете использовать инструмент StarWind V2V Converter, вы можете установить PowerShell – вдруг что-то пойдет не так и придется попробовать альтернативный конвертер.

Итак, запустите PowerShell от имени администратора (рис. 1).


Рис. 1. Запуск PowerShell от имени администратора

Далее нужно ввести одну из команд:

Add-WindowsFeature RSAT-Hyper-V-Tools –IncludeAllSubFeature

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

Первая команда предназначена для Windows 8.1/Windows Server 2012, а вторая – для Windows 10.

Для корректной работы сценария конвертирования нужно изменить политику выполнения сценариев. Для этого запустите PowerShell с правами администратора и введите команду:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Чтобы подтвердить изменение политики, нужно ответить Y.


Рис. 2. Изменение политики выполнения сценариев

Подготовка виртуальной машины

Если производится перенос старой гостевой операционной системы, например, того же Windows Server 2003, нужно убедиться, что в системе инициализирован драйвер SCSI. Если гостевая ОС установлена на IDE-диск, нужно подключить к этой виртуальной машине хотя бы один SCSI-диск и убедиться, что он инициализирован в системе.

После этого можно приступить к экспорту виртуальной машины. Откройте оснастку управления Hyper-V (Панель управления\Администрирование\Управление Hyper-V или Control Panel\All Control Panel Items\Administrative Tools\Hyper-V Manager).

Щелкните правой кнопкой по названию виртуальной машины и выберите команду Export (рис. 3). На момент экспорта виртуальная машина должна быть выключенной. Выберите папку для экспорта виртуальной машины и дождитесь, пока экспорт будет завершен.


Рис. 3. Экспорт виртуальной машины

Конвертирование с помощью HypervOVAConverter

Скачайте архив, содержащий файлы инструмента (ссылка приводилась в начале статьи). Распакуйте архив, запустите Windows PowerShell с правами администратора и перейдите в каталог Converter (он появится в результате распаковки архива).

Команда преобразования будет выглядеть так:

Convert-VM.ps1 –HyperVVMPath  –OVAPath  []

Сценарию Convert-VM.ps1 нужно передать два параметра: HyperVVMPath - путь к экспортированной ранее виртуальной машине, OVAPath – путь к папке, в которую будет сконвертирована виртуальная машина в формате OVA.

Пример:

Convert-VM.ps1 -HyperVVMPath C:\export\Test\ -OVAPath D:\vmware\

Вам останется только дождаться процесса завершения конвертации.

Если у вас есть vhd-файл (или vhdx-файл), можно использовать другой инструмент:

Convert-VM.ps1 –VHDPath  –OVAPath  [–CPU ] [–Memory ] []

Здесь:

VHDPath – путь к вашему файлу виртуального диска в формате vhd или vhdx.

OVAPath – путь к папке, в которую будет сконвертирована виртуальная машина в формате OVA.

Также вы можете использовать параметры CPU и Memory. Первый задает количество процессоров виртуальной машины (по умолчанию 1), второй – объем оперативной памяти в мегабайтах (по умолчанию 1024).

Пример:

Convert-VM.ps1 -VHDPath С:\test.vhd -OVAPath D:\vmware\ -CPU 4 –Memory 8092

Собственно, на этом перенос можно считать завершенным, но у нас есть еще один инструмент, который нам предстоит рассмотреть.

Конвертирование с помощью StarWind V2V Converter

Данный инструмент подойдет пользователям, предпочитающим графический инструмент, а не командную строку. Инструмент хоть и бесплатный, но для его загрузки нужно пройти бесплатную регистрацию.

Использовать этот инструмент очень просто. Нужно выбрать источник (при этом вы можете задать, как локальный файл, так и "взять" виртуальную машину прямо с гипервизора), а затем нужно выбрать формат файла назначения (рис. 5).


Рис. 4. StarWind V2V Converter: выбираем источник


Рис. 5. StarWind V2V Converter: выбираем назначение

Какой инструмент использовать, зависит от личных предпочтений. Оба инструмента хорошо справляются с поставленной перед ними задачей.