Преобразовать виртуальный диск в динамический

Обновлено: 03.07.2024

Для начала несколько слов о преимуществах нового формата:

• В формате VHDX можно создавать диски размером до 64ТБ, против максимум 2ТБ у VHD;
• VHDX поддерживает работу с 4КБ секторами. Это позволяет хранить VHDX-файлы на дисках большого размера (больше 2ТБ), использующих Advanced Format (разбиение на физические сектора размером 4КБ);
• Формат VHDX является журналируемым. Все изменения в метаданных сначала записываются в зону журнала, а уже потом в саму таблицу метаданных. Если во время изменения таблицы произойдет сбой записи, то в журнале остаются незавершенные транзакции, которые позволят завершить изменения в таблице и вернуть целостность файлу. Это делает формат VHDX более отказоустойчивым и предотвращает потерю данных в случае отключения питания;
• Поддерживаются пользовательские метаданные. В формате VHDX имеется специальный пользовательский раздел, в котором можно хранить данные о содержимом виртуального диска, например информацию об установленной операционной системе и приложениях. Пользовательский раздел позволяет хранить любые описательные метаданные;
• Формат VHDX поддерживает операции unmap и позволяет динамически высвобождать неиспользуемое пространство после удаления данных внутри виртуального диска. Это позволяет более эффективно использовать дисковое пространство на устройстве хранения.

Если вы хотите получить все эти преимущества, то есть возможность сконвертировать уже существующие виртуальные диски из VHD в VHDX. Сделать это можно из графической оснастки Hyper-V Manager или из консоли PowerShell. Но перед тем, как приступить к конвертации, напомню, что:

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

Конвертирование в VHDX с помощью Hyper-V Manager

Открываем оснастку Hyper-V Manager и в поле «Actions» выбираем пункт «Edit Disk».

оснастка Hyper-V Manager

Запускается мастер редактирования VHD.

запуск мастера

Указываем расположение VHD, который будем конвертировать.

указываем расположение диска

Выбираем операцию «Convert».

выбираем тип операции

Затем выбираем требуемый формат диска. Как видите, конвертировать диски можно как из VHD в VHDX, так и наоборот.

выбираем формат диска

выбираем тип диска

И задаем имя и расположение нового диска VHDX.

указываем размещение нового диска

В завершение просматриваем суммарную информацию и жмем «Finish», запуская процесс преобразования. Процесс может занять некоторое время, зависящее от типа диска и объема данных на нем.

запуск конвертирования

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

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

Для конвертации с помощью PowerShell воспользуемся такой командой:

Convert-VHD -Path ″E:\Hyper-V\Shared.vhd″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\NewShared.vhdx″ -DeleteSource

Эта команда создаст новый VHDX-диск фиксированного типа, а ключ -DeleteSource удалит исходный файл.

конвертирование с помощью PowerShell

Конвертация возможна в обе стороны, для обратной конвертации воспользуйтесь командой:

Convert-VHD -Path ″E:\Hyper-V\Shared.vhdx″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\NewShared.vhd″ -DeleteSource

В завершение напомню, что разместить внутри VHDX-файла можно любую ОС, но подключить этот файл получится только в ОС не ниже Windows Server 2012\Windows 8. В более ранних операционных системах формат VHDX не поддерживается.

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

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

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

Содержание:

1. Зачем преобразовываются виртуальные жесткие диски

В преобразовании дисков VHD и VHDX из динамического типа в фиксированный надобность встает редко. Считается, что виртуальный жесткий диск фиксированного типа работает быстрее, чем диск с типом динамическим. На самом деле ни одна программная фишка не сделает виртуальную машину производительней, как это под силу аппаратным возможностям хоста (физического компьютера). Объем оперативной памяти в 8 и более Гб, отдельный винчестер (а то и вовсе SSD) для размещения на нем файлов виртуальных машин, современный процессор – вот базовый рецепт производительной работы гипервизоров для некоммерческого использования.

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

Преобразование дисков VHD в более новый формат виртуальных дисков, с которыми работает Hyper-V – VHDX, имеет место быть в случае использования преимуществ последнего. Основные из них – это объем до 64 Тб, тогда как устаревший формат VHD и VHDX предусматривает максимум объема только 2 Тб, и более высокая степень предотвращения потери данных в случае отключения питания. Плюс к этому, имея одинаковый объем виртуального дискового пространства, диски VHDX занимают на физическом жестком диске меньше места, чем VHD.

Конвертирование дисков из VHDX в старый формат VHD может быть актуально в случаях переноса виртуальной машины, соответственно, на старые версии Hyper-V (ниже 3.0). Таковые не работают с дисками VHDX.

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

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

2. Преобразование дисков VHD и VHDX из динамического типа в фиксированный и наоборот средствами Hyper-V

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

В диспетчере Hyper-V выбираем виртуальную машину, для которой необходимо преобразование диска. В контекстном меню на выбранной машине нам нужны «Параметры».

3597

В появившемся окне слева, в разделе «Оборудование», в подразделе контроллеров делаем клик на жестком диске виртуальной машины. Справа увидим путь к его файлу. Подробные сведения о формате и типе диска будут показаны в отдельном небольшом окошке свойств при нажатии кнопки «Проверить».

3598

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

3599

В первом окне запустившегося мастера изменения диска жмем «Далее».

3600

Выбираем пункт «Преобразовать». Жмем «Далее».

3601

Оставим предустановленный формат диска VHDX. Жмем «Далее».

3602

Выбираем первый пункт «Фиксированного размера», чтобы в таковой преобразовать динамический диск. И наоборот – выбираем второй пункт «Динамически развертывающийся», если в этот тип нужно преобразовать фиксированный диск. Жмем «Далее».

Вам может быть интересно: Как открыть диспетчер задач

3603

Преобразованный диск будет новым файлом, ему, соответственно, нужно дать имя и указать место хранения на компьютере. Жмем «Далее».

3604

Жмем «Готово» для запуска процесса преобразования.

3605

По завершении преобразования проверяем новый диск. В диспетчере Hyper-V на панели инструментов справа жмем команду «Проверить диск». В окне проводника указываем путь к преобразованному диску.

3606

Окно свойств диска покажет его тип. В нашем случае это тип фиксированный, что, собственно, и требовалось от процесса преобразования.

3607

3. Преобразование VHDX в VHD и, наоборот, VHD в VHDX средствами Hyper-V

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

3608

Эта функция запускает рассмотренный выше мастер изменения виртуальных жестких дисков. Жмем «Далее» в приветственном окне мастера.

3609

Теперь нужно указать путь к конвертируемому диску. Жмем «Далее».

3610

3611

В нашем случае нужен первый пункт – «Виртуальный жесткий диск», он же диск формата VHD. При обратных исходных данных, если нужно преобразовать диск из VHD в VHDX, соответственно, выбираем второй пункт – «VHDX». Жмем «Далее».

3612

Предустановленный тип диска – динамический – оставляем. Жмем «Далее».

3613

Указываем путь и имя будущего диска VHD. Жмем «Далее».

3614

Жмем «Готово» и дожидаемся завершения процесса преобразования.

3615

По завершении преобразования можно проверить диск. В диспетчере Hyper-V жмем «Проверить диск» и указываем путь к преобразованному файлу VHD.

3616

Как видим, диск преобразовался из формата VHDX в формат VHD.

3617

Более того, гостевая ОС Windows 8.1, установленная на этом виртуальном диске, успешно запускается на гипервизорах VMware и VirtualBox.

3618

3619

Такого же успеха не стоит ожидать с преобразованными VHD-дисками виртуальных машин Hyper-V второго поколения, созданных с применением ПО на базе UEFI. Правда, только в случае с программой VirtualBox. Актуальная версия VMware Workstation 12 предусматривает создание виртуальных машин с типом прошивки EFI и, соответственно, может обеспечить работоспособность бывших виртуальных машин второго поколения Hyper-V, виртуальный жесткий диск которых впоследствии был преобразован в формат VHD. Для этого при создании новой виртуальной машины VMware необходимо указать тип прошивки – EFI.

4. Преобразование VHDX в VMDK программой StarWind V2V Converter

Универсальный способ переноса виртуальных машин с Hyper-V на другие гипервизоры путем преобразования файлов виртуальных жестких дисков с установленными ОС не ограничивается только форматом VHD, если использовать нештатные средства. Для конвертирования дисков VHD и 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 и сразу жмем «Далее».

3620

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

3621

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

3622

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

3623

С помощью кнопки обзора указываем путь создания VMDK-диска на выходе. Жмем «Next».

3624

Начнется процесс конвертирования. По его завершении жмем «Finish».

3625

И, собственно, можно приступать к созданию виртуальной машины из имеющегося VMDK-диска в гипервизорах VMware и VirtualBox.

создать виртуальный жёсткий диск

Возможность изменить фиксированный диск на динамический лежит не на поверхности, то есть за пределами графического интерфейса программы. И, чтобы следовать дальнейшим советам, вам придётся оперировать с исполнительным файлом VBoxManage.exe. Если в установках VirtualBox ничего не менялось, файл лежит в папке:

VBoxManage.exe

Как изменить фиксированный диск на динамический: сначала создадим диск

Изменения будут проводиться в консоли команд, запущенной от имени администратора. Переходим из консоли в указанную папку:

оттуда посмотрим на список виртуальных установленных дисков с системами:

список виртуальных дисков из консоли

Например, в моём случае:

конвертация виртуального диска

Спустя некоторое время можно воспользоваться проводником Windows с целью проверить появился ли диск:

фиксированный и динамический диски

Команда к конвертации наоборот (из динамического в фиксированный) отличается лишь дополнительной опцией в команде:

Как изменить фиксированный диск на динамический: удалим ненужный

Запускаем из консоли менеджер виртуальных систем (или воспользуйтесь проводником) VBoxManage.exe и отправляемся к списку машин (консоль не закрываем в любом случае):

список виртуальных операционных систем

В настройках системы, которую мы клонировали отправимся в Носители и отвяжем её от диска, который нам уже не нужен:

удалить диск из виртуальной системы

ОБЯЗАТЕЛЬНО закрываем окно менеджера (но сюда мы ещё вернёмся). Теперь срисуем UUID удаляемого диска: это нам нужно для полного удаления прежнего (фиксированного) диска, затирания сведений о нём и подмены на расширяемый:

снова оттуда посмотрим на список виртуальных установленных дисков с системами:

удалить фиксированный диск из виртуальной машины

Консоль нам более не нужна. С помощью проводника отправляюсь к списку машин по адресу:

и переприсваиваю то имя, что было у предыдущей (у меня 7, помните?):

переименование виртуальной машины

я переименовываю 7FIXED в 7

Возвращаемся в менеджер виртуальных систем VirtualBox и в Носителях для нашей системы укажем на новенький диск 7.vdi:

добавить жёсткий диск к виртуальной системе


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

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

Шаг первый: найдите команду VBoxManage и откройте командную строку

VirtualBox позволяет преобразовывать фиксированный диск в динамический диск или динамический диск в фиксированный диск, но эта опция не отображается в графическом интерфейсе. Вместо этого вы должны использовать команду VBoxManage.exe .

Найдите эту команду, чтобы продолжить. В Windows вы найдете его в программном каталоге VirtualBox, который находится в C:\Program Files\Oracle\VirtualBox по умолчанию. Если вы установили VirtualBox в другой каталог, посмотрите туда.


Откройте окно командной строки. Для этого откройте меню «Пуск», введите cmd и нажмите Enter.


Введите cd в командной строке, а затем путь к папке, в которой находится команда VBoxManage. Вам нужно будет заключить его в кавычки.

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


Если вы используете путь по умолчанию, он должен выглядеть следующим образом:


ПРИМЕЧАНИЕ. В этих инструкциях предполагается, что вы используете VirtualBox в Windows. Если вы используете VirtualBox в macOS или Linux, вы можете просто открыть окно терминала и запустить команду vboxmanage в vboxmanage режиме, как и любую другую команду.


Шаг второй: найдите путь к диску, который вы хотите конвертировать

Запустите следующую команду в окне командной строки, чтобы просмотреть список всех виртуальных жестких дисков на вашем компьютере:

Просмотрите список и определите путь к файлу виртуального диска, который вы хотите преобразовать. Допустим, мы хотим изменить виртуальный диск, связанный с виртуальной машиной с именем «Windows». Как мы можем видеть в выводе ниже, путь к этому виртуальному диску в нашей системе — C:\Users\chris\VirtualBox VMs\Windows\Windows.vdi .


Шаг третий: конвертировать виртуальный диск

Теперь вы можете использовать команду VBoxManage для преобразования виртуального диска из фиксированного в динамический или из динамического в фиксированный.

Чтобы преобразовать виртуальный диск из фиксированного в динамический, выполните следующую команду:

Например, если исходный диск находится по адресу C:\Users\chris\VirtualBox VMs\Windows\Windows.vdi и вы хотите создать новый диск с именем Windows-dynamic.vdi в той же папке, вы должны выполнить:


Чтобы преобразовать виртуальный диск из динамического в фиксированный, выполните следующую команду:

Например, если исходный диск находится по адресу C:\Users\chris\VirtualBox VMs\Windows\Windows.vdi и вы хотите создать новый диск с именем Windows-fixed.vdi в той же папке, вы должны выполнить:


Шаг четвертый: удалить старый виртуальный диск

Приведенная выше команда просто клонирует существующий диск. В итоге вы получите как оригинальный файл диска, так и новый файл диска.

Во-первых, вам нужно фактически удалить существующий виртуальный диск из VirtualBox. В VirtualBox щелкните правой кнопкой мыши виртуальную машину, которая использует виртуальный диск, и выберите «Настройки».


Выберите «Хранилище» для просмотра подключенных устройств хранения. Щелкните правой кнопкой мыши оригинальный VDI и выберите «Удалить вложение». Нажмите «ОК» после этого.


Приведенный ниже процесс удалит исходный файл с вашего диска. Предупреждение : вы можете создать резервную копию исходного файла на диске, если вы этого еще не сделали, на случай, если что-то пойдет не так с этим процессом.

В командной строке выполните следующую команду, чтобы просмотреть список всех виртуальных дисков на вашем компьютере:

Найдите UUID исходного диска, который вы хотите удалить. Вы можете скопировать его в буфер обмена, выбрав его левой кнопкой мыши, а затем щелкнув правой кнопкой мыши.


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


Шаг пятый: переименуйте новый диск

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


Щелкните правой кнопкой мыши файл VDI, выберите «Переименовать» и измените его на исходное имя. Например, здесь мы переименовали созданный нами файл Windows-fixed.vdi в Windows.vdi.


После того, как вы переименовали диск, удалите старое имя диска из VirtualBox. Щелкните «Файл»> «Диспетчер виртуальных носителей» в VirtualBox и найдите оригинальное имя переименованного диска — слева от него будет отображаться желтый значок предупреждения. Щелкните правой кнопкой мыши и выберите «Удалить». Нажмите «Удалить» еще раз, чтобы подтвердить и закрыть «Закрыть».


Шаг шестой: Вставьте диск в VirtualBox

Вернитесь в VirtualBox, щелкните правой кнопкой мыши виртуальную машину, связанную с виртуальным диском, и выберите «Настройки». В разделе «Хранилище» щелкните правой кнопкой мыши контроллер SATA и выберите «Добавить жесткий диск».


Выберите «Выбрать существующий диск» и перейдите к файлу, который вы только что переименовали.


Нажмите «ОК», чтобы закрыть окно настроек виртуальной машины. Теперь вы сможете нормально загружать виртуальную машину. Его диск будет либо фиксированным, либо динамическим, в зависимости от того, куда вы его конвертировали.

Читайте также: