Windows 7 подключение vhd правой кнопкой мыши. Создание виртуального жесткого диска (VHD) для установки Windows
VHD - это файл, который содержит виртуальный образ жесткого диска , используемый Microsoft Windows Virtual PC. Один VHD-файл может содержать все данные, хранящиеся на физическом жестком диске, сохраненные в одной структуре - разделы, системные файлы, обычные файлы и папки.
Возможности, вытекающие из файлов VHD
Файлы VHD обычно используются в качестве дисков виртуальных машин, что позволяет устанавливать и запускать несколько операционных систем без необходимости иметь несколько физических дисков или отдельных компьютеров. Это дает много возможностей, например: поддержка программ и приложений в разных средах. VHD-файлы также позволяют восстанавливать только выбранные каталоги или весь жесткий диск.
Краткая история формата VHD
Формат VHD был создан компанией Connectix, купленной в 2003 году корпорацией Microsoft, которая и создала продукт Mircosoft Virtual PC. С 2005 года Microsoft развернула бесплатную лицензию для формата VHD. В 2012 году были представлены определенные обновления, которые были развернуты в новом формате - .
Типы файлов VHD
Файлы VHD могут быть идентифицированы в нескольких типах, что облегчает управление ими. Это:
- фиксированный образ жесткого диска - имеет фиксированный размер, равный размеру жесткого диска;
- динамический образ жесткого диска - размер файла равен размеру файлов на виртуальном диске и дополнительно размеру заголовка файла;
- образ разностного диска - отдельный файл, который работает при условии, что текущий диск является материнским;
- связанный - содержит только ссылку на физический диск.
Пользователи, работающие с гипервизорами, иногда могут сталкиваться с необходимостью получения доступа к диску виртуальной машины (ВМ)
из среды хост-системы – основной операционной системы (ОС)
, установленной на физическом диске. Например, когда нужно скопировать данные в гостевую ОС
, не поддерживающую установку дополнений. Или когда в работе гипервизора возникают ошибки, делающие невозможным запуск ВМ, а внутри неё сокрыты нужные файлы.
Как подключить диск ВМ для отображения в хост-системе? Ниже рассмотрим, как в среде хостовой Windows подключаются файлы виртуальных жёстких дисков, используемые гипервизорами , Hyper-V и VMware .
В статье будут предложены варианты доступа к дискам ВМ:
Позволяющие производить запись данных в их файлы;
не предусматривающие запись, а лишь предлагающие возможность чтения и копирования информации на случай необходимости её извлечения.
Для возможности записи данных в файл виртуального диска (т.е. чтобы в гостевой ОС появились перемещённые из хост-системы файлы) ВМ в среде своего гипервизора должна быть выключена. Именно выключена, а не приостановлена. Не каждая программа-гипервизор напоминает об этой тонкости.
1. Подключение VHD и VHDX средствами Windows
VHD и VHDX – форматы файлов виртуальных дисков, используемые встроенным в Windows 8.1 и 10 гипервизором Hyper-V – в среде этих версий хост-системы можно примонтировать с помощью её же штатных средств.
На файле диска вызываем контекст-меню, выбираем .
И ищем в проводнике разделы нового устройства. Этот вариант предусматривает и чтение, и запись данных. Чтобы убрать диск ВМ из хост-системы, контекст-меню вызываем на любом из отображаемых его разделов и кликаем .
2. Подключение VMDK средствами VMware Workstation
VMDK и VHD – форматы дисков ВМ , с которыми работает ПО VMware — можно подключить для отображения в проводнике хостовой Windows с использованием средств программы VMware Workstation . Её средства монтирования предусматривают и чтение, и запись данных. Открываем параметры нужной ВМ . На вкладке «Оборудование» слева кликаем жёсткий диск , справа жмём кнопку «Карта» . Появится окошко мастера подключения диска. Здесь выбираем нужный раздел, ориентируясь на его размер. В нашем случае это системный раздел Windows. Снимаем галочку открытия в режиме только чтения. И жмём «Ок» .
Важный нюанс: при открытии системных разделов гостевых ОС , установленных на виртуальные GPT -диски, в окне мастера необходимо выбирать не сам раздел с установленной ОС (раздел С в случае с гостевой Windows) , а предшествующий ему MSR -раздел с размером обычно 16 или 128 Мб . Конечно, если MSR -раздел есть в структуре EFI -системы. Будет он там не в каждом случае.
Примонтированный раздел откроется в проводнике хост-системы. Для отключения закрываем его открытого в проводнике (или файловом менеджере) . И идём туда же, где мы его монтировали – в параметры ВМ . Но теперь жмём кнопку «Отключить» .
3. Конвертирование VDI в VHD средствами VirtualBox
Не позволяет своими средствами монтировать диски ВМ для доступа к ним из среды хост-системы Windows. Но в числе её арсенала есть конвертер, который может преобразовывать диски родного формата VDI в VHD , VMDK и прочие типы. А, к примеру, VHD -файл в среде хостовой Windows 8.1 или 10 можно открыть штатными средствами ОС . Более того, при необходимости продолжить работу с ВМ , её можно пересоздать на базе уже конвертированного диска VHD . В окне переключаемся на раздел «Инструменты» . Кликаем диск нужной ВМ , в контекст-меню выбираем «Копировать» .
Здесь важный момент: графу «Имя файла» нужно подчистить — удалить из имени расширение «.vdi» . И отследить ниже, чтобы как тип был задан «VHD» . Жмём «Сохранить» .
И теперь – «Копировать» .
Конвертированный файл впоследствии открываем с помощью проводника.
Убираем его из хост-системы путём извлечения, как показано в п.1 статьи .
Однако если попутная цель реанимации ВМ не преследуется, если речь идёт только об изъятии ценной информации из файла VDI , проще прибегнуть к двум следующим вариантам решения вопроса.
Бесплатная версия может монтировать для чтения и записи данных различные типы виртуальных дисков, включая жёсткие, с которыми работают ВМ – VMDK , VDI , VHD , VHDX . В окне программы жмём «Быстрое монтирование» , указываем путь к файлу диска ВМ , открываем.
Убираем с помощью опции удаления в контекст-меню на значке примонтированного устройства.
5. Плагин для Total Commander
Работающим с Total Commander только лишь для просмотра и копирования ценных данных, хранящихся на диске ВМ , далеко ходить не нужно. Вопрос решается внутри этого файлового менеджера с помощью плагина к нему . Первичная миссия этого плагина – реализация доступа в среде Windows к разделам и носителям с файловыми системами, используемыми в Linux . И неподдерживаемыми Windows. В довесок к основным возможностям плагин может монтировать для чтения диски ВМ форматов VMDK , VDI , VHD , VHDX и HDS .
Распаковываем его внутри Total Commander . Отвечаем «Да» на предложение установки. Следуем шагам установочного мастера.
Запускаем Total Commander (принципиально) от имени администратора. Переключаемся на . Заходим в .
ВМ . Жмём «Next» .В обзоре указываем папку ВМ . Затем увидим все подключённые к машине диски. Можем снять галочки с ненужных, если их несколько. И кликаем «Mount» .
Жмём Ctrl + R для обновления содержимого панелей Total Commander . И увидим примонтированные разделы виртуального диска.
Его содержимое копируем обычным для Total Commander образом — кнопкой внизу или клавишей F5 . Процедура размонтирования дисков плагином не предусматривается. Да она как таковая и не нужна: достаточно просто перезапустить Total Commander .
Быстродействие такой системы будет выше, чем при использовании виртуальных машин. Т.к. при использовании виртуализации на копьютере запускается одновременно две системы. А в случае с 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?
В Windows 7 и Windows Server 2008 R2 появилась возможность и подключать файлы виртуальных дисков (VHD /VHDX ) прямо из консоли управления дисками (Disk Management). Такие виртуальные диски выглядят в системе как отдельные физические диски и могут использоваться для хранения произвольных данных. Существенный недостаток таких дисков - при каждой перезагрузке Windows приходится каждый раз вручную монтировать все VHD/VHDX файлы. Кроме того, право на монтирование файлов виртуальных дисков vhd есть только у администраторов компьютера, простые пользователи не могут самостоятельно подключить VHDx файл (каждый раз приходится вмешиваться администратору).
В этой статье мы покажем, как автоматически монтировать vhd/vhdx файл при загрузке системы, так, чтобы виртуальные диски были доступны и простым пользователям (не обладающих правами администратора)
В Windows отсутствует встроенная возможность автомонтирования vhd-файлов при перезагрузке системы, поэтому нам придется разработать собственный механизм монтирования. В этом нам поможет планировщик заданий Windows и утилита diskpart .
Итак, создадим текстовый файл (C:\Scripts\attach_vhd.txt) со следующим кодом:
select vdisk file="C:\vhd2\w10vhd.vhdx"
attach vdisk
select part 1
assign letter=K
exit
где:
C
:\
vhd
2\
w
10
vhd
.
vhdx
– полный путь к VHD или образу диска
K
–буква диска, которую нужно назначить VHD образу
Данный сценарий подключает указанный vhd файл, выбирает на нем первый раздел и назначает ему данную букву диска. Если на диске несколько разделов, измените код соответствующим образом, указав номер раздела, который нужно подключать.
Примечание . В целях безопасности желательно изменить NTFS разрешения на файл «C:\Scripts\attach_vhdx.txt», так чтобы простые пользователи не могли его изменить.
Запустите Windows Task Scheduler (Taskschd.msc
) и создайте новое задание планировщика (Actions
-> Create Task
). Настройте его следующим образом:
Чтобы задание выполнялось от имени системы, еще раз откройте его свойства и на вкладке General нажмите кнопку Change User or Group . В окне выбора пользователя укажите system и сохраните изменения.
mount-vhd -path C:\vhd2\w10vhd.vhdx –PassThru | Get-Disk | Get-Partition | Set-Partition -NewDriveLetter G
Если вы часто работаете с 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 и жмем Далее:
На этом все. Теперь подключаем виртуальный диск, открываем «Компьютер» и работаем с подключенным диском.
Насчет отключения. Под Вистой у меня так и не получилось произвести отключение без перезагрузки. Появляется стандартной сообщение, что ресурс используется другой программой и т.п. Ничего страшного, просто имейте в виду.