Преобразовать виртуальный диск в динамический
Обновлено: 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».
Запускается мастер редактирования 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 удалит исходный файл.
Конвертация возможна в обе стороны, для обратной конвертации воспользуйтесь командой:
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 выбираем виртуальную машину, для которой необходимо преобразование диска. В контекстном меню на выбранной машине нам нужны «Параметры».
В появившемся окне слева, в разделе «Оборудование», в подразделе контроллеров делаем клик на жестком диске виртуальной машины. Справа увидим путь к его файлу. Подробные сведения о формате и типе диска будут показаны в отдельном небольшом окошке свойств при нажатии кнопки «Проверить».
В нашем случае имеем виртуальную машину Hyper-V первого поколения, установленную на VHDX-диск динамического типа. Преобразуем диск в фиксированный. В окне параметров жмем кнопку «Правка».
В первом окне запустившегося мастера изменения диска жмем «Далее».
Выбираем пункт «Преобразовать». Жмем «Далее».
Оставим предустановленный формат диска VHDX. Жмем «Далее».
Выбираем первый пункт «Фиксированного размера», чтобы в таковой преобразовать динамический диск. И наоборот – выбираем второй пункт «Динамически развертывающийся», если в этот тип нужно преобразовать фиксированный диск. Жмем «Далее».
Вам может быть интересно: Как открыть диспетчер задачПреобразованный диск будет новым файлом, ему, соответственно, нужно дать имя и указать место хранения на компьютере. Жмем «Далее».
Жмем «Готово» для запуска процесса преобразования.
По завершении преобразования проверяем новый диск. В диспетчере Hyper-V на панели инструментов справа жмем команду «Проверить диск». В окне проводника указываем путь к преобразованному диску.
Окно свойств диска покажет его тип. В нашем случае это тип фиксированный, что, собственно, и требовалось от процесса преобразования.
3. Преобразование VHDX в VHD и, наоборот, VHD в VHDX средствами Hyper-V
Преобразуем для примера исходный формат диска VHDX в VHD, чтобы на его базе можно было создать и запустить виртуальную машину в гипервизорах VMware и VirtualBox. Для этого используем немного другой путь изменения виртуальных жестких дисков. Жмем «Изменить диск» – команду, находящуюся на панели инструментов справа в окне диспетчера Hyper-V.
Эта функция запускает рассмотренный выше мастер изменения виртуальных жестких дисков. Жмем «Далее» в приветственном окне мастера.
Теперь нужно указать путь к конвертируемому диску. Жмем «Далее».
В нашем случае нужен первый пункт – «Виртуальный жесткий диск», он же диск формата VHD. При обратных исходных данных, если нужно преобразовать диск из VHD в VHDX, соответственно, выбираем второй пункт – «VHDX». Жмем «Далее».
Предустановленный тип диска – динамический – оставляем. Жмем «Далее».
Указываем путь и имя будущего диска VHD. Жмем «Далее».
Жмем «Готово» и дожидаемся завершения процесса преобразования.
По завершении преобразования можно проверить диск. В диспетчере Hyper-V жмем «Проверить диск» и указываем путь к преобразованному файлу VHD.
Как видим, диск преобразовался из формата VHDX в формат VHD.
Более того, гостевая ОС Windows 8.1, установленная на этом виртуальном диске, успешно запускается на гипервизорах VMware и VirtualBox.
Такого же успеха не стоит ожидать с преобразованными 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 и сразу жмем «Далее».
Указываем путь исходного файла VHDX. Жмем «Next».
Выбираем формат и тип диска VMDK. В нашем случае выбран первый вариант – VMware growable image. Это динамический тип диска. Второй вариант - VMware pre-allocated image – это тип диска фиксированный. Жмем «Next».
В качестве контроллера VMware при создании виртуальных машин рекомендуется выбрать SCSI, его и выберем. Жмем «Next».
С помощью кнопки обзора указываем путь создания VMDK-диска на выходе. Жмем «Next».
Начнется процесс конвертирования. По его завершении жмем «Finish».
И, собственно, можно приступать к созданию виртуальной машины из имеющегося VMDK-диска в гипервизорах VMware и VirtualBox.
Возможность изменить фиксированный диск на динамический лежит не на поверхности, то есть за пределами графического интерфейса программы. И, чтобы следовать дальнейшим советам, вам придётся оперировать с исполнительным файлом VBoxManage.exe. Если в установках VirtualBox ничего не менялось, файл лежит в папке:
Как изменить фиксированный диск на динамический: сначала создадим диск
Изменения будут проводиться в консоли команд, запущенной от имени администратора. Переходим из консоли в указанную папку:
оттуда посмотрим на список виртуальных установленных дисков с системами:
Например, в моём случае:
Спустя некоторое время можно воспользоваться проводником 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 и выберите «Добавить жесткий диск».
Выберите «Выбрать существующий диск» и перейдите к файлу, который вы только что переименовали.
Нажмите «ОК», чтобы закрыть окно настроек виртуальной машины. Теперь вы сможете нормально загружать виртуальную машину. Его диск будет либо фиксированным, либо динамическим, в зависимости от того, куда вы его конвертировали.
Читайте также: