Создание виртуального жесткого диска (VHD) для установки Windows. Расширение файла VHD Как открыть файл vhd в виндовс 7

В июне 2005 года компания Microsoft разработала новую спецификацию формата образов виртуальных жестких дисков (Virtual Hard Disk - VHD). VHD - это формат файла, у которого полная структура и содержимое аналогичны с жестким диском. Он используется для хранения виртуальных операционных систем, программ и других файлов в одном файле-образе, который можно открыть разными программами виртуализации или виртуальными машинами. Формат Microsoft VHD в настоящее время используется в Microsoft Virtual PC 2007, Microsoft Virtual Server 2005 R2 и Hyper-V. Виртуальные жесткие диски позволяют нескольким операционным системам одновременно находиться на одном компьютере. Файл VHD определяет формат жесткого диска виртуальной машины, который расположен в едином файле на хостовой операционной системе. Помимо этого, операционные системы Windows 7 и Windows Server 2008 R2 могут поддерживать создание, подключение и загрузку с VHD-дисков, расположенных на хостовой системе. В этой статье я расскажу о поддерживаемых типах виртуальных жестких дисков, а также о базовых операциях, которые можно с ними выполнять.

Поддерживаемые форматы виртуальных жестких дисков

Жесткие диски виртуальных машин хранятся на хостовой операционной системе в виде отдельных файлов. Существует три типа виртуальных дисков:

Базовые действия, выполняемые с VHD-дисками

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

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

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

Виртуальный жесткий диск также можно создать средствами утилиты командной строки DiskPart . Для этого в командной строке с правами администратора нужно воспользоваться командой Create Vdisk

Create Vdisk File=<имя_файла> Maximum= Type=Fixed|Expandable

  • При помощи параметра File можно указать полный путь и имя виртуального диска.
  • Параметр Maximum отвечает за максимальное дисковое пространство, предоставляемое виртуальным диском, заданное в мегабайтах.
  • При помощи параметра Type можно указывать формат виртуального диска. Существует два значения для данного параметра:
    • FIXED создает файл виртуального диска фиксированного размера;
    • EXPANDABLE создает динамически расширяемый образ виртуального диска.
  • При помощи параметра Parent можно указать путь к существующему родительскому файлу виртуального диска для создания разностного диска. При использовании Parent нельзя использовать параметр Maximum, поскольку размер разностного диска определяется родительским файлом. Помимо этого, также нельзя задавать параметр Type, поскольку создавать можно только расширяемые (параметр Expandable) разностные диски.
  • Параметр Source предназначен для того чтобы указывать путь к существующему файлу виртуального диска для предварительного заполнения нового файла виртуального диска. При использовании параметра Source данные из исходного файла виртуального диска копируются блок за блоком в создаваемый файл виртуального диска. Однако между ними отсутствуют отношения родитель-потомок.

С помощью параметра SD можно указать дескриптор безопасности в формате языка SDDL. По умолчанию дескриптор безопасности берется из родительского каталога. В простейшем случае строка может содержать дескриптор безопасности, обеспечивающий защиту доступа, который называется списком управления доступом на уровне пользователей (DACL).

Присоединение виртуального жесткого диска

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


Также виртуальный жесткий диск можно присоединить средствами утилиты командной строки DiskPart . Для этого в командной строке с правами администратора нужно выбрать нужный виртуальный диск командой Select Vdisk Attach Vdisk . Синтаксис следующий:

Attach Vdisk

Эту команду можно использовать без параметров. Доступные параметры:


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

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


Создание простого тома в VHD диске

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


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

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


Отсоединить виртуальный жесткий диск также можно при помощи утилиты командной строки DiskPart . Для этого в командной строке с правами администратора нужно выбрать предполагаемый виртуальный диск командой Select Vdisk , а затем воспользоваться командой Detach Vdisk . Синтаксис команды следующий:

Просмотр информации о виртуальном диске

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

  1. Выберите нужный виртуальный диск при помощи команды Select Vdisk ;
  2. Присоедините диск, если он еще не присоединен к компьютеру;
  3. Воспользуйтесь командой Detail Vdisk

Для данной команды не существует дополнительных параметров.

Сжатие виртуальных дисков

При помощи утилиты командной строки DiskPart можно сжимать виртуальные диски. Для этого выберите нужный виртуальный диск, подключите диск в режиме «только для чтения» и воспользуетесь командой Compact Vdisk . Эта команда сжимает файл виртуального диска для уменьшения физического размера файла. Сжатие возможно только для отсоединенного расширяемого виртуального диска или для расширяемого виртуального диска, подключенного в режиме «только для чтения».

Заключение

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

Быстродействие такой системы будет выше, чем при использовании виртуальных машин. Т.к. при использовании виртуализации на копьютере запускается одновременно две системы. А в случае с 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?

Образ системы предназначен для восстановления всей системы, при необходимости можно смонтировать VHDX-диск с образом и извлечь из него отдельные файлы. Сделать это можно как из графической оснастки, так и из командной строки утилитой diskpart.

Для запуска оснастки «Управление дисками» нажимаем Win+R и вводим команду diskmgmt.msc . Открываем пункт меню «Действие» - «Присоединить виртуальный жесткий диск» и указываем путь к VHDX-файлу с образом.


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

Для отключения VHD надо кликнуть правой клавишей на диске и выбрать «Отсоединить виртуальный жесткий диск».


То же самое можно сделать с помощью утилиты diskpart. Для этого открываем командную консоль с правами администратора и вводим команду Diskpart. Затем выбираем VHDX-файл командой:
select vdisk file=″путь_к_файлу″
Монтируем виртуальный диск с буквой по умолчанию:
attach vdisk
Для отключения воспользуемся командой:
detach vdisk

Б удучи установленной на виртуальном жёстком 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-диске.

Если вы часто работаете с Virtual PC, то время от времени возникает необходимость открыть файл виртуального жесткого диска не в виртуальной, а в основной системе. В Windows 7 — это не проблема (vhd-фaйл легко подключается через «Управление дисками»). А вот в XP и Висте все сложнее: нужно установить утилиту vhdmount.


Содержание:

Установка vhdmount

Утилита vhdmount входит в состав Microsoft Virtual Server 2005 R2 SP1 (это не отдельный сервис-пак, а полноценный сервер с SP1).

Запускаем установщик (если включен , то запускаем от имени Администратора). Выбираем Install:

Устанавливать все компоненты сервера нет необходимости. Выбираем только VHD Mount:

Завершаем установку. На этом первый этап закончен.

Создание контекстного меню

Теперь приступаем к созданию контекстного меню (чтобы не мучиться с командной строкой).

Необходимо создать файл с расширением reg и следующим содержанием:

Windows Registry Editor Version 5.00 @="Dismount" @="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /u \"%1\"" @="Mount" @="\"C:\\Program Files\\Microsoft Virtual Server\\Vhdmount\\vhdmount.exe\" /m /f \"%1\"" @="Virtual.Machine.HD"

Если папка установки отличается от стандартной, то естественно, требуется изменить путь к vhdmount.exe. Vhdmount можно запускать с различными параметрами (например включить поддержку undo-диска для отката изменений). Чтобы ознакомиться с дополнительными параметрами, запустите vhdmount с параметром /? в командной строке.

После того как файл создан, запускаем его. Подтверждаем внесение изменений в реестр.

Проверяем результат. При правом клике на vhd-файле, вы должный увидеть новые пункты меню:

Установка драйвера vhdmount

Для установки драйвера открываем панель управления, переключаемся в «классический вид» и запускаем мастер «Установка оборудования»:

Выбираем «Установка оборудования, выбранного из списка в ручную»:

Выбираем «Показать все устройства» и жмем на Далее:

Нажимаем на «Установить с диска»:

Переходим в папку установки vhdmount и открываем файл vhdbus.inf :

Выбираем «Microsoft Virtual Server Storage Bus» и Далее:

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

Открываем Диспетчер устройств. Здесь вы увидите устройство Microsoft Server Storage Bus Device01 отмеченное восклицательным знаком:

Делаем на нем правый клик и выбираем «Обновить драйверы…». Выбираем ручную установку:

В поле «Искать драйверы в следующем месте» выбираем папку установки vhdmount и жмем Далее:

На этом все. Теперь подключаем виртуальный диск, открываем «Компьютер» и работаем с подключенным диском.

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

Loading...Loading...