Преобразование виртуальных жестких дисков VHD и VHDX средствами Hyper-V и программой StarWind V2V Converter. Как конвертировать файл из VMDK в VHD Конвертирование vhd

Является возможность полноценной работы с несколькими форматами виртуальных жёстких дисков. VirtualBox не только поддерживает возможность открытия сторонних виртуальных дисков, в частности, и VMDK , с которыми работают и программное обеспечение , но также предусматривает изначальное создание виртуальных машин с жёсткими VHD- и VMDK-дисками наряду с собственным форматом VDI . А вот упомянутое программное обеспечение от компаний Microsoft и VMware совсем не благосклонно к формату виртуального жёсткого диска VirtualBox – VDI. Открыть в Hyper-V или VMware Workstation виртуальную машину, установленную на VDI-диск, можно либо путём экспорта её конфигурации в файл , либо методом конвертирования диска VDI в диск VHD или VMDK.

Как осуществить конвертирование одного формата виртуального диска в другой, чтобы иметь возможность работать с гостевой операционной системой посредством нескольких программ-гипервизоров?

1. Конвертер виртуальных жёстких дисков внутри VirtualBox

Для конвертирования виртуальных жёстких дисков существует ряд специальных утилит. Утилита для конвертирования форматов виртуальных жёстких дисков имеется и в составе VirtualBox. Встроенный конвертер позволяет преобразовывать из одних в другие все поддерживаемые программой форматы виртуальных жёстких дисков — VDI, VHD, VMDK, HDD, QED, QCOW .

Рассмотрим работу встроенного конвертера VirtualBox на примере преобразования диска VHD в диск VMDK. В принципе, для открытия гостевой системы на VHD-диске в программе VMware Workstation преобразование формата диска не нужно. VMware работает с форматом Microsoft VHD. В нашем случае причиной смены формата стала экономия дискового пространства, поскольку диски VMDK на физическом компьютере занимают меньше места, чем диски VHD. При этом в дальнейшем с гостевой операционной системой можно будет работать как в VMware Workstation, так и в VirtualBox.

2. Процесс конвертирования

В окне программы VirtualBox раскрываем меню «Файл» и выбираем «Менеджер виртуальных носителей» .

В открывшемся окне этого самого менеджера виртуальных носителей, в первой вкладке «Жёсткие диски» увидим перечень виртуальных дисков, на которых установлены гостевые операционные системы, открытые в VirtualBox. Не обнаружим здесь стандартной кнопки обзора или специальной опции, чтобы можно было добавить отдельные файлы дисков VDI, VHD или VMDK, виртуальные машины которых до этого момента не запускались с помощью VirtualBox. Тем не менее, такая возможность нам представится впредь, и если необходимо конвертировать виртуальный диск гостевой системы не из списка VirtualBox, нужно выбрать любой из существующих дисков.

Выбрав из списка нужный или любой попавшийся диск, можем приступать к процессу конвертирования. Жмём кнопку вверху «Копировать» .

Далее появится окно выбора диска. Оставляем всё, как есть, если изначально выбран нужный виртуальный диск. Если это не так, с помощью кнопки обзора в конце строки с выбранным диском указываем путь к любому другому файлу VDI, VHD или VMDK, который хранится на компьютере. Жмём «Next» .

Следующее окно – выбор формата виртуального жёсткого диска на выходе. В нашем случае исходный формат диска VHD будет преобразован в формат VMware Workstation — VMDK. Жмём «Next» .

В окне задания формата хранения виртуального диска необходимо выбрать его тип – динамический или фиксированный. Жмём «Next» .

Далее следует задание названия нового виртуального диска и место его хранения. По умолчанию VirtualBox добавляет к имени файла диска отметку «_копия», а местом хранения определяет папку с исходным конвертируемым файлом. Эти данные можно изменить. Чтобы назначить другое место сохранения файла на выходе, необходимо нажать кнопку обзора в конце строки с названием нового диска. После внесения правок можем приступать непосредственно к самому процессу конвертирования. Жмём кнопку внизу «Копировать» .

Время конвертирования будет напрямую зависеть от объёмов исходного файла виртуального жёсткого диска.

По окончании процесса конвертирования виртуальный жёсткий диск уже в новом формате можем наблюдать в папке хранения.

Всё – теперь можно его использовать для создания виртуальных машин с задействованием существующих виртуальных дисков, на которых уже установлены гостевые системы.

Помогла ли вам данная статья?

Уверен, вы уже не раз слышали про виртуализацию. И еще я уверен, что, где бы вы ни работали, вы хотели бы использовать преимущества виртуальной среды. Если вы ищете инструкцию, как превратить свой физический сервер в виртуальную машину на платформе Hyper-V (P2V), просто прочитайте эту статью: я расскажу, как выполнить эту операцию всего за несколько минут!

Когда не стоит выполнять преобразование?

Я не рекомендую виртуализовать физический сервер, если он используется как контроллер домена. Вместо этого вам необходимо создать новую ВМ, назначить ее контроллером домена, синхронизировать с основным контроллером, а затем передать ей роль FSMO. На эту тему есть много полезных статей.

Можно также выполнить преобразование с учетом транзакций - этот вариант следует использовать, если на машине работает SQL Server, Exchange, SharePoint и тому подобные приложения. Лучше всего выбрать время для запланированного выключения соответствующего сервера, остановить работу указанных выше служб перед началом преобразования и/или отключить сетевой адаптер.

Никаких других ограничений для преобразования сервера нет. Можно приступать!

Руководство по преобразованию P2V с помощью Disk2VHD

Из всех конвертеров P2V для Hyper-V самым удобным для этой операции мне представляется Disk2VHD. Он создан инженерами Microsoft, имеет размер всего 0,9 МБ, и скачать его можно с официальной страницы Windows Sysinternals. К делу!

Шаг 1. Скачайте программу Disk2vhd

Перейдите на страницу Windows Sysinternals и скачайте программу.

Программа Disk2vhd v2.01.

Шаг 2. Запустите Disk2vhd на физическом сервере, который необходимо преобразовать

Просто распакуйте ее и запустите на сервере. Как показано на рисунке, интерфейс программы очень простой. Чтобы создать диск VHDX, поставьте флажок Us e Vhdx (Использовать Vhdx).

ПРИМЕЧАНИЕ. VHDX - это формат диска, появившийся в Windows Server 2012. По сравнению с традиционным VHD, в VHDX был внесен ряд изменений: появился специальный внутренний журнал, снижающий вероятность повреждения данных, увеличилась емкость (до 64 ТБ), добавлены некоторые другие функции. Я рекомендую по возможности использовать формат VHDX.

Выберите U se VSS (Использовать VSS), если вы хотите получить копию диска, а не сбоев. Выберите место, где будет находиться файл VHDX (если оно будет расположено на том же диске, возможно «поглощение», поэтому для хранения образа лучше использовать другой жесткий диск). Выберите любой диск/том, который нужно виртуализовать. Если вы хотите сделать этот диск загрузочным, необходимо включить туда системный диск и область загрузки (поставьте флажок System Reserved (Зарезервировано системой)). Нажмите C reate (Создать), чтобы начать преобразование.

Запустите Disk2vhd на физическом сервере, который необходимо преобразовать.

Шаг 3. Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V

Во время этой операции вы увидите примерное время, оставшееся до ее завершения.

После ее завершения вы получите файл/диск VHDX, который можно скопировать на сервер Hyper-V и поместить в папку, где находятся диски ВМ.

Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V.

Шаг 4. Создайте новую ВМ на хосте Hyper-V

Чтобы использовать созданный диск, необходимо создать ВМ. Запустите мастер (New → Virtual Machine (Создать → Виртуальная машина)) в Менеджере Hyper-V и настройте ее в соответствии со своими требованиями. Параметры настройки очень просты, за исключением выбора поколения ВМ (появился только в Windows Server 2012 R2).

ПРИМЕЧАНИЕ. Необходимо внимательно подойти к выбору поколения ВМ. Начиная с Windows 2012 R2, в Hyper-V появился новый параметр:
Generation 2 virtual machine (Виртуальная машина 2 поколения). Речь идет о втором поколении встроенного ПО для ВМ с обновленным набором виртуального аппаратного обеспечения и новыми возможностями для пользователей, такими как загрузка с устройства, подключенного по iSCSI. Но ВМ 2 поколения имеют существенные ограничения, например, они поддерживают гостевые ОС, только начиная с Windows 8, а семейство Unix не поддерживают совсем. Таким образом, на практике этот вариант следует выбирать только для Windows 8/8.1 или Windows Server 2012/2012 R2 и только для 64-разрядных версий.

Поэтому к выбору поколения ВМ нужно отнестись внимательно, и если вы не уверены на 100%, что вам необходимо Поколение 2, выбирайте поколение 1.

Создайте новую ВМ на хосте Hyper-V.

Шаг 5. Подключите созданный диск

Дойдя до шага Connect Virtual Hard Disk (Подключение виртуального жесткого диска), необходимо настроить виртуальный жесткий диск. Найдите уже созданный диск и выполните оставшиеся действия с помощью мастера.

Подключите виртуальный жесткий диск.

В Windows Server 2012 Hyper-V появилась поддержка нового формат виртуальных дисков – VHDX. Виртуальные диски в формате VHDX имеют много преимуществ, включая больший максимальный размер диск – 64 TB, защита от повреждения данных и многое другое. Вы можете конвертировать текущие диски в формате VHD в новый формат VHDX с помощью консоли Hyper-V Manager. В ходе процесса будет создан новый диск VHDX и скопированы данные с старого диска на новый. В конце процедуры у вас будет 2 диска – в старом формате и в новом. После успешной проверки нового диска вы можете вручную удалить старый.

Запускается мастер Edit Virtual Hard Disk Wizard. Выберите действие Convert и нажмите Next

Выберите формат VHDX и нажмите Next.

Вы можете выбрать должен ли диск быть фиксированного размера или его размер может динамически меняться. Данная опция доступа независимо от того, какой тип был у диска ранее. Нажмите Next.
Выберите имя и распложение нового VHDX диска и нажмите Next.
Проверьте все настройки и нажмите Finish для создания нового диска. Время на создание зависит от размера исходного диска и скорости вашего жесткого диска. На моем SSD диске VHD размеров 300GB конвертировался примерно 2 минуты.

Заключительным этапом будет подключение нового диска к виртуальной машине.

После загрузки виртуальной машины вам необходимо проверить что все в порядке. Если это так то вы можете безопасно удалить старый диск.

Для конвертации можно также воспользоваться PowerShell. В таком случае действий получается на порядок меньше 🙂
Convert-VHD -Path \\win2012-dc01\vms\old.vhd -DestinationPath \\win2012-dc01\vms\new.vhdx -DeleteSource -Compu

Продолжая тематику работы с VHD-файлами, рассмотрим Disk2vhd . Disk2vhd - это утилита, позволяющая создавать VHD-файлы (Virtual Hard Disk) из томов жесткого диска. Отличие этой утилиты от аналогичных заключается в том, что образ VHD-образ можно создавать прямо с запущенной операционной системы.

Программа использует функциональность операционной системы "Volume Snapshot" (впервые представленную в Windows XP) для создания последовательных снимков томов на определенный момент времени. Таким образом, вы сможете создать VHD-файл прямо на том же разделе, который в него упаковываете (правда, производительность в данном случае несколько ниже, нежели при использовании другого раздела). Интерфейс утилиты весьма прост и состоит из перечня разделов системы:

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

Созданный утилитой виртуальный диск может быть подключен к виртуальной машине как IDE-диск, и не может быть использован для загрузки через менеджер загрузки Windows 7 на реальной машине. Это связано с тем, что Windows специальным образом помечает жесткие диски, и, во избежание путаницы, присваивает VHD-диску новый идентификатор. При первой загрузке с VHD система выдаст ошибку об отсутствии загрузочного диска. В порядке эксперимента я снял VHD-образ с виртуальной машины и подключил его к физической - система сразу перезагрузилась, без каких-либо сообщений. Зато, будучи присоединенной к Virtual PC, система отлично стартует и работает:

Примечание. Eсли снимаете образ системного диска, и у вас есть раздел восстановления, не забудьте включить его в VHD-образ, так как без него система не загрузится.

Поддерживаемые ОС: Windows XP SP2, Windows Server 2003 SP1, и более поздние версии, включая 64-разрядные версии.

Ключи командной строки

disk2vhd <[диск1: [диск2:]...]|[*]>

Например:

Disk2vhd c: d:\vhd1.vhd disk2vhd * d:\vhd1.vhd

Символ "*" означает, что конвертировать необходимо все тома.



Мне эта утилита в свое время не помогла. Зато помог Paragon Virtualization Manager - пробная версия полнофункциональна, единственное ограничение - в ней нельзя создать загрузочный диск. Мне он не понадобился.

"Созданный утилитой виртуальный диск может быть подключен к виртуальной машине как IDE-диск, и не может быть использован для загрузки через менеджер загрузки Windows 7 на реальной машине. Это связано с тем, что Windows специальным образом помечает жесткие диски, и, во избежание путаницы, присваивает VHD-диску новый идентификатор. При первой загрузке с VHD система выдаст ошибку об отсутствии загрузочного диска"
- вот это наверно не совсем так, или просто абракадабра... в оригинале на http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx речь о том, что и через менеджер загрузки Windows 7 на реальной машине, и на виртуальной, система с vhd прекрасно загрузится, а вот чего нельзя делать - "do not attach (т.е. подключать через Disk Management или Diskpart) to VHDs on the same system (ну да, ну да, нам говорили) on which you created them if you plan on booting from them", т.к. - при ПОДКЛЮЧЕНИИ - Windows во избежание путаницы присвоит VHD-диску новый идентификатор, и вот тогда "so when that happens Windows booted in a VM will fail to locate the boot disk". Т.е. в BCD на вир.м. будет ссылка на старый айди vhd и - аут; относительно сбоя загрузки на реальной маш. там речь вообще не идёт, но видимо - т.ж.самое.
От себя добавлю, что - после исправления ситуации с бсд - возможна проблема с "буковками", ну вы понимаете, особенно - кто помнит =))). Они ведь тоже привязаны к айди дисков через реестр (не уверен только, что это одни и те же айди, так всё запутано...)
с уважением к автору и аудитории.

Интересует запуск сделанной копии ОС в формате vhd на реальной машине, есть способы изменения загрузчика?

Способ запуска на реальной машине копии "Windows8.1.vhd", сделанной с помощью disk2vhd:
1. С помощью disk2vhd сделать копию ОС в vhd (не vhdx).
2. С помощью Менеджера дисков создать vhd-диск 50GB, инициализировать его и создать том.
3. Присоединить оба этих тома.
4. Скопировать все папки с копии "Windows8.1.vhd" (без скрытых файлов) в новый vhd ("Copy-Windows8.1.vhd").
5. С помощью EasyBCD 2.3 добавить в загрузку Copy-Windows8.1.vhd.

У меня это сработало, попробую с Windows 10, думаю тоже запустится.

Кстати, время доступа c загруженной ОС на hdd и vhd у меня равны 14ms и 8ms соответственно (быстрее на 40%) , что визуально заметно при работе ОС. Тесты сделаны с помощью Everest.

С копией Windows 10 все аналогично работает.

Встроенную в Hyper-V функцию преобразования дисков тяжело назвать полноценным конвертером. Все, что может штатный гипервизор Microsoft делать с виртуальными жесткими дисками собственного формата VHD и VHDX – это преобразовывать эти форматы один в другой, а также менять динамический тип на фиксированный и наоборот.

Механизм конвертирования виртуальных дисков в форматы других гипервизоров, как это, например, предусматривается в программе VirtualBox, в составе Hyper-V отсутствует.

Ниже рассмотрим, как происходит процесс преобразования VHD- и VHDX-дисков с установленными гостевыми ОС в другой тип и формат. Преобразовывать диски будем с помощью штатных возможностей Hyper-V в составе Windows 10 и сторонней бесплатной программкой StarWind V2V Converter.

  • Зачем преобразовываются виртуальные жесткие диски
  • Преобразование дисков VHD и VHDX из динамического типа в фиксированный и наоборот средствами Hyper-V
  • Преобразование VHDX в VHD и, наоборот, VHD в VHDX средствами Hyper-V
  • Преобразование VHDX в VMDK программой StarWind V2V Converter
  • на сайте разработчика, предварительно заполнив анкету для регистрации аккаунта StarWind. Ссылка на скачивание инсталлятора приходит на почту, указанную в регистрационных данных.

    С форматом виртуальных жестких дисков VMDK работает не только «родной» гипервизор VMware, но и VirtualBox. Процесса конвертирования дисков VHDX в диски VMDK все равно не избежать, если виртуальную машину Hyper-V нужно запустить на VMware или VirtualBox. Но и в преобразовании формата VHD, поддерживаемого и VMware, и VirtualBox, есть свои выгоды – диски VMDK более экономно расходуют дисковое пространство физического компьютера, нежели диски VHD.

    StarWind V2V Converter может преобразовывать диски VHD и VHDX в диски VMDK. И наоборот – диски VMDK в диски VHD и VHDX. Для дисков VHD и VMDK при конвертировании можно выбрать иной, нежели имеющийся тип – динамический или фиксированный. Рассмотрим работу программы на примере преобразования диска VHDX в диск VMDK.

    Запускаем StarWind V2V Converter и сразу жмем «Далее».

    Указываем путь исходного файла VHDX. Жмем «Next».

    Выбираем формат и тип диска VMDK. В нашем случае выбран первый вариант – VMware growable image. Это динамический тип диска. Второй вариант — VMware pre-allocated image – это тип диска фиксированный. Жмем «Next».

    В качестве контроллера VMware при создании виртуальных машин рекомендуется выбрать SCSI, его и выберем. Жмем «Next».