» »

Какие виртуальные машины работают с файлами vhd. Создание VHD-диска и загрузка с VHD

19.03.2024

В 2005 году разработчиками Microsoft был представлен новый формат – VHD. Он позволяет создавать образы виртуальных жёстких дисков , которые можно использовать для размещения программ, дополнительных операционных систем и других файлов в качестве образов. Это даёт возможность открывать и тестировать старые программы и приложения на другой виртуальной ОС без какого-либо дополнительного компьютерного оборудования. Содержимое виртуальной машины определяется этими файлами и располагается на хостовой операционке. Открывать файл VHD можно с помощью специального софта виртуализации. Рассмотрим базовый набор операций, выполняемых с такими элементами.

Работа с расширением VHD.

Формат VHD (Virtual Hard Disc) – это расширение, имеющее структуру винчестера: файловую систему, разделы, папки и так далее. Как уже говорилось выше, компоненты запускаются с помощью программ визуализации.

Основные операции

Такие элементы можно создавать, присоединять и отсоединять, сжимать, удалять, конвертировать и многое другое. Далее рассмотрим подробно, как использовать расширение VHD.

Как открыть файл VHD

Существует несколько вариантов открытия файлов. Разработчики Microsoft активно поддерживают этот формат и выпускают специализированные приложения для работы с ним. Утилиты VirtualBox и Microsoft Virtual PC дают возможность запускать ОС непосредственно с хостовой. Таким образом, у вас на компьютере может быть и Windows, и Linux одновременно.

Способ 1. Чтобы открыть образ и сделать содержимое доступным для просмотра, делаем следующее:

  • Нажимаем на него правой кнопкой мыши.
  • В контекстном меню нажимаем «Подключить».
  • Ждём, пока диск монтируется.

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

Способ 2. Работать с VHD-расширением можно через базовое управление.

  • Нажимаем правым кликом на меню «Пуск».
  • Выбираем раздел «Управление дисками».
  • Находим вкладку «Действия» — «Присоединить виртуальный жёсткий диск».
  • С помощью кнопки «Обзор» выбираем расположение нужного нам файла.
  • Открываем его.

СОВЕТ. Можно установить галочку «Только для чтения», если вы не хотите вносить какие-либо изменения.

Отключаем его с помощью пункта «Отсоединить».

Способ 3. Открываем, используя приложение VirtualBox .

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

СОВЕТ. С VirtualBox можно выполнять огромное число операций и корректировать работу виртуальной машины.

Способ 4. Используем 7-Zip. Как известно, это один из самых популярных бесплатных архиваторов , позволяющий работать и с образами в том числе.

  • Запускаем программу и ищем в ней нужный нам файл.
  • Нажимаем «Извлечь».

Способ 5. Монтируем с помощью Daemon Tools. Эта утилита не так популярна, как она была ранее, но до сих пор активно используется для открытия и работы не только с VHD-расширением, но и с VDI, VMDK.

  • Запускаем программу и ищем в ней нужный нам компонент.
  • Нажимаем «Смонтировать».

Способ 6. Монтируем в Microsoft Virtual PC. Утилита даёт возможность создавать виртуальные машины, в которых и можно открывать необходимые нам документы и папки. Алгоритм действий схож с описанном в работе с VirtualBox:

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

Можно ли удалять VHD файлы

Как и любые другие элементы, виртуальные образы могут быть удалены или отсоединены. Сделать это достаточно просто:

  1. Выбираем диск, который хотим отсоединить или удалить. С помощью правого клика мыши открываем контекстное меню и нажимаем «Отсоединить».
  2. Если полностью удалять VHD образ вы не хотите, то просто подтверждаете действие кнопкой «ОК». Для полного удаления, в открывшемся окне ставим галочку в соответствующем пункте.

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

Как мы видим, Virtual Hard Disc – очень полезная и простая в использовании вещь. Создание дополнительных областей на компьютере помогает решить множество проблем. Использование нескольких операционных систем позволяет тестировать всевозможные программы, в том числе и изучать вредоносные без ущерба для основной ОС. Если у вас остались какие-либо вопросы, задавайте их в комментариях.

Б удучи установленной на виртуальном жёстком VHD-диске, вторая операционная система Windows никоим образом не уступает той, которая размещается на другом разделе диска. Наоборот, у первой по сравнению со второй есть два значимых преимущества. Во-первых , для установки Windows на VHD-диск нет надобности перераспределять дисковое пространство, если изначально нет лишнего пустого раздела диска под вторую операционную систему.

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

Любую операционную систему, установленную на VHD-диске, можно открыть внутри программ и и работать с ними точно так, как и с и любыми системами, созданными средствами этих программ. Более того, обе программы изначально предусматривают возможность создания операционных систем с использованием VHD-диска. VirtualBox открыто позволяет выбрать VHD-формат при создании жёсткого диска виртуальной машины. А вот в программе VMware Workstation хоть такой момент и предусматривается, но юзабельного меню выбора, как в случае с VirtualBox, нет. Расширение «. vhd» для создаваемого жёсткого диска нужно прописывать вручную, заменяя им предустановленное «.vmdk» «родной» формат виртуального жёсткого диска VMware Workstation .

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

Итак, имеем операционную систему, установленную на виртуальном VHD-диске.

Как её открыть внутри основной операционной системы с использованием программ-гипервизоров VMware Workstation и VirtualBox?

Открытие VHD-диска в

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

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

Жмём в окне настройки совместимости версий программы.

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

В нашем случае имеется VHD-диск с установленной Windows 8.1, её и выбираем в списках операционных систем и их версий. Жмём .

Называем виртуальную машину и указываем её месторасположение на компьютере. В указанном месте будут храниться рабочие файлы . Сам VHD-диск, естественно, будет находиться там, где и находился. Жмём .

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

А вот щедрого жеста в плане оперативной памяти не получится. Выделяем лишь необходимый минимум – 1 Гб . Жмём .

Предустановленный тип сети NAT в нашем случае подходит. Жмём .

Не меняем и тип контроллера ввода/вывода . Жмём .

Это же касается и типа диска – оставляем предустановленный SCSI . Жмём .

Наконец-то мы добрались до точки смены предустановленных параметров. В окне выбора виртуального диска нам нужен второй вариант – . Жмём .

В следующем окне жмём кнопку обзора и указываем путь к VHD-файлу . По умолчанию VMware Workstation не хочет видеть этот формат файлов , представляя на обозрение только файлы собственного производства. И чтобы увидеть VHD-файл, в окне проводника нужно установить параметр отображения всех файлов .

Прописав путь размещения VHD-диска, жмём .

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

Вернёмся в главное окно VMware Workstation и увидим новую виртуальную машину в перечне существующих. Запускаем её.

Процесс запуска Windows начнётся с адаптации системы к условиям работы гипервизора. Будут обновлены драйвера, системные настройки, Metro-приложения Windows 8.1. В некоторых случаях запуск виртуальной машины может сопровождаться окном среды восстановления Windows. В этом случае необходимо просто выбрать продолжение использования системы .

Вскоре система загрузится.

Открытие VHD-диска в VirtualBox

В программе VirtualBox процесс открытия VHD-файла попроще. В главном окне программы жмём кнопку . Затем в первом окне запустившегося мастера создания новой виртуальной машины задаём ей имя , выбираем операционную систему и её версию . Жмём «Next» .

Указываем размер оперативной памяти . Жмём «Next» .

В окне выбора виртуального жёсткого диска, как и в предыдущем случае, выбираем использование существующего диска . С помощью кнопки обзора указываем путь к VHD-файлу . Жмём .

Возвращаемся в главное окно VirtualBox и запускаем только что созданную виртуальную машину.

VirtualBox также осуществит адаптацию гостевой операционной системы под свою специфику работы – будут установлены драйвера, применены системные настройки и т.п.

Через минуту-две в окне программы будем наблюдать ту самую Windows, установленную на VHD-диске.

Допустим, вы воспользовались моими советами по установке Windows 7 на виртуальный раздел , которых хранится в VHD-файле и теперь хотите его поменять… Или вам просто захотелось поманипулировать – изменить раздел или создать копию, сделать дочерний образ – VHD-файлами для виртуальных ОС, которые используются для запуска приложений в режиме Windows XP Mode . А иногда, чисто из нечеловеческого любопытства, хочется просто посмотреть, что же там внутри-то VHD делается…

Не беда – в Windows 7 или Windows Server 2008 R2 присутствуют все необходимые инструменты, чтобы воплотить все желания в вирутальную реальность 🙂 и самый простой из них – стандартный Disk Management . При помощи этой графической консоли, модифицированной в Windows 7, можно создавать “виртуальные” диски, отображаемые в VHD-файлы, и монтировать уже существующие файлы, как диски так же, как и любые другие “физические” диски, создавать и расширять разделы на них.

Безусловно, такой подход наиболее понятен и удобен, если только не возникает несколько специфических задач, а именно – вы установили саму Windows 7 в VHD-файл и теперь нужно провести какие-то работы с данным файлом, или вам просто захотелось поменять установленный (а не разделов, находящихся в нем), или необходимо автоматизировать какие-то процессы путем написания файла сценариев (скрипта). В таких случаях либо нет возможности вообще воспользоваться утилитой, либо она не позволяет этого сделать. И тогда на помощь приходит такая полезная и многократно описанная мной ранее (в том же посте про установку Windows 7 в VHD-файл или создание загрузочной USB-флешки для установки) утилита DISKPART .

Начнем с азов – создание VHD-файла и его монтирование как нового диска в Windows 7/Windows Server 2008 R2. Тут все просто:

  • Запускаем (в Windows 7!!!) из командной строки или из пункта Run команду DISKPART и попадаем в соответствующее приглашение программы: DISKPART>

выполняем в DISKPART последовательно команды:

  • CREATE VDISK FILE=”путь\имя_файла.vhd” MAXIMUM=требуемый_размер_в_МБ TYPE=FIXED – непосредственно создает VHD-файл;
  • SELECT VDISK FILE=”путь\имя_файла.vhd” – выбирает указанный VHD-файл для дальнейших операций в DISKPART;
  • ATTACH VDISK – монтирует выбранный на предыдущем шаге VHD-файл как диск ОС

Результат операции – создается файл и он доступен ОС для работы как новый физический диск.

Как раз эта особенность работы с VHD-файлами используется для установки Windows 7 в VHD, чтобы не были затронуты другие разделы и установленные на них ОС в приведенном мной ранее сценарии. И запускается DISKPART непосредственно с диска установки Windows 7/Windows Server 2008 R2 в ходе работы мастера установки Windows – по комбинации клавиш Shift+F10 (смотри все тот же первый пост про установку).

Управление разделами внутри вновь созданного “виртуального” диска VHD аналогично управлению разделами на любом другом диске. Можно это сделать через графическую утилиту Disk Management, а можно использовать команды того же DISKPART в следующей последовательности:

  • для монтирования VHD-файла, если он еще не смонтирован, выполняем команды SELECT VDISK и ATTACH VDISK, как это описано выше;
  • LIST DISK – получаем список доступных дисков, среди которых будет и VHD-файл в виде “нового” диска
  • SELECT DISK №требуемого_диска_из_списка – выбираем диск для дальнейших операций
  • CREATE PARTITION PRIMARY – создаем раздел (или том, по команде CREATE VOLUME SIMPLE ), по всем ключам команды читаем помощь – HELP CREATE PARTITION
  • LIST PARTITION – список разделов на диске
  • SELECT PARTITION №требуемого_раздела – выбираем раздел для дальнейших операций
  • FORMAT – форматируем раздел (если требуется), читаем HELP FORMAT – для “тонкого” форматирования с нужным типом и параметрами файловой системы

И, в заключение, как расширять уже существующие VHD-файлы c использованием DISKPART. Хочу заметить, что этот метод можно с успехом использовать как для увеличения размеров VHD-файлов виртуальных машин, так и для увеличения размеров разделов непосредственно ОС Windows 7, если она установлена в VHD. В последнем случае требуется загрузка с установочного диска или USB-флеш Windows 7 , и в процессе работы мастера установки просто запускаем командную строку по Shift-F10 и из нее DISKPART.

Считаем, что VHD-файл у нас уже выбран и смонтирован, как диск (см.выше). Тогда:

  • размонтируем диск командой DETACH VDISK , но выбор не отменяем
  • EXPAND VDISK MAXIMUM=новый_размер_vhd – устанавливаем новый размер текущего VHD-файла
  • ATTACH VDISK – снова монтируем текущий VHD, как диск

Итак, мы получили файл увеличенного размера (в нашем примере с 10ГБ до 20ГБ), но это только файл, внутри диска разделы сохранили свои первоначальные размеры.

Поэтому мы можем воспользоваться либо тем же Disk Management, если позволяют обстоятельства, либо командами DISKPART:

  • убеждаемся, что диск смонтирован и доступен
  • стандартная процедура выбора нужного диска для работы (описана выше) – LIST DISK , SELECT DISK №#
  • аналогично, выбор раздела, который нужно расширить на диске (описана выше) – LIST PARTITION (VOLUME ), SELECT PARTITION (VOLUME ) №#
  • EXTEND – расширяет текущий раздел до максимально свободного на текущем диске размера. см. помощь – HELP EXTEND – где описаны разнообразные ключи команды.

Как видно из примера – довольно просто управлять VHD-файлами в виде дисков как непосредственно из WIndows 7, так и использовать загрузочный диск Windows 7 для изменения параметров VHD-диска самой Windows 7, если была выполнена установка на виртуальный раздел в VHD-файл.

Надеюсь, этот пост поможет не только моим коллегам , которые активно используют фазные вариации на тему VHD в процессе разработки и демонстраций, но и всем остальным 🙂

VHD - это файл, который содержит виртуальный образ жесткого диска , используемый Microsoft Windows Virtual PC. Один VHD-файл может содержать все данные, хранящиеся на физическом жестком диске, сохраненные в одной структуре - разделы, системные файлы, обычные файлы и папки.

Возможности, вытекающие из файлов VHD

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

Краткая история формата VHD

Формат VHD был создан компанией Connectix, купленной в 2003 году корпорацией Microsoft, которая и создала продукт Mircosoft Virtual PC. С 2005 года Microsoft развернула бесплатную лицензию для формата VHD. В 2012 году были представлены определенные обновления, которые были развернуты в новом формате - .

Типы файлов VHD

Файлы VHD могут быть идентифицированы в нескольких типах, что облегчает управление ими. Это:

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

Быстродействие такой системы будет выше, чем при использовании виртуальных машин. Т.к. при использовании виртуализации на копьютере запускается одновременно две системы. А в случае с VHD - только одна и все ресурсы компьютера отданы именно ей.

В качестве основной системы можно использовать Windows 7 и выше. На виртуальный диск указанным способом можно устанавливать операционную систему от Windows Vista и выше.

Внимание!

Загрузку с VHD дисков в Windows 7 поддерживают только редакции Максимальная (Ultimate) и Корпоративная (Enterprise).

В Windows 10 загрузку с VHD поддерживает редакция Профессиональная (Professional) и выше.

Итак начнем.

Создание вирутального жесткого диска (VHD)

Создать VHD в Windows 7 можно двумя способами - с помощью утилиты Diskpart (используя CMD), а можно через визуальный интерфейс Менеджера дисков. Второй способ проще и нагляднее, поэтому используем его.

Открываем Менеджер дисков. Это можно сделать по следующему пути: Пуск -> Панель управления -> Администрирование -> Управление компьютером -> .

Указываем расположение файла VHD.

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

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

Нажимаем кнопку OK, создается файл VHD.

После этого в консоли "" появляется созданный виртуальный диск. Но он не инициализирован.

Инициализируется он через контекстное меню:

В итоге мы создали виртуальный жесткий диск, он находится на диске D: (D:\MyDisk.vhd ) и виден в операционной системе. Можно разворачивать на нем другую "операционку".

Развертывание операционной системы Windows на VHD

Для этого потребуется утилита imagex.exe из состава Windows AIK или Windows ADK . Я уже предусмотрительно взял эту утилиту из WADK и приложил к статье. Скачать imagex для x64 и x86 Вы можете внизу страницы.

Также понадобится файл install.wim из дистрибутива Windows. В дистрибутиве он находится в папке Sources . Предположим, что у нас в привод вставлен установочный DVD и путь к install.wim выглядит так - E:\Sources\install.wim .

Разворачивание ОС из файла install.wim на диск выполняется следующим образом.

Так как в одном WIM-файле может находится несколько образов ОС, то предварительно определим индекс нужного нам образа:

imagex /info E:\sources\install.wim

Допустим, что нужная Винда находится под индексом 1.

Разворачиваем из индекса 1 операционку на наш VHD:

imagex /apply /check E:\sources\install.wim 1 Z:\

где Z: - буква, присвоенная нашему VHD.

После окончания разворачивания операционки, можно зайти на VHD-диск и убедится, что структура его каталогов соответсвует системному диску Windows.

Если всё прошло успешно, то переходим к добавлению в загрузчик ОС информации о том, что с нашего VHD тоже можно грузиться.

Изменение информации в загрузчике Windows

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

Создаем копию текущей операционной системы в загрузчике и даем ей описание "Windows 7 VHD":

bcdedit /copy {current} /d "Windows 7 VHD"

При выполнении этой команды также будет отображен GUID новой записи. Запишите или скопируйте его - он нам пригодится.

Если вы забыли записать GUID, то узнать его вы можете запустив команду bcdedit без параметров.

bcdedit /set {GUID} device vhd=\MyDisk.vhd

bcdedit /set {GUID} osdevice vhd=\MyDisk.vhd

Не забудьте изменить букву диска и путь к файлу VHD на свои.

Для некоторых систем на основе x86 требуется изменить параметр конфигурации загрузки для ядра, чтобы найти сведения об определенном оборудовании и успешно выполнить встроенную загрузку с VHD:

bcdedit /set {GUID} detecthal on

где GUID - идентификатор нашей новой записи в загрузчике.

Завершение

Теперь можно перегружать компьютер.

При старте компьютера на черном фоне будет в течение 5 секунд выдан запрос о выборе операционной системы. Выбирайте свою вновь созданную систему.

Отключение загрузки с VHD и возврат к первоначальному состоянию

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

  • Удалить запись из загрузчика.

    Для этого выполняем команду bcdedit без параметров. Она выведет нам все записи. Находим в списке нашу добавленную запись и ее GUID.

    Для ее удаления выполняем команду:

    bcdedit /delete {GUID}

  • Удалить виртуальный диск из консоли "".
  • Удалить файл VHD.

P.S. Опишите в комментариях, для каких целей Вы используете технологию загрузки с виртуального диска VHD?