Запуск windows 7 с виртуального диска
Ни для кого уже не секрет, что начиная с версии Windows 7 Ultimate, операционные системы от Майкрософт умеют загружаться будучи установленными на образ жесткого диска формата VHD. Однако, данная возможность «из коробки» доступна только пользователям этой самой Windows 7 Ultimate.
У меня же, убежденного пользователя Arch Linux, потребность в применении этой технологии возникла из-за необходимости иметь винду под рукой в дуалбуте и именно в реальном окружении. 90% процентов задач, для которых нужен Windows, разумеется решаются путем виртуализации, и мощности современного железа, и возможности виртуальных машин, позволяют даже в игры играть в виртуальной среде. Однако, возникла необходимость в использовании пакета «Универсальный механизм», который под вайном работает криво (допускаю и что руки у меня кривые), а в виртуальной среде, понятное дело, безбожно теряет прыть. В общем понадобилась Windows, но таскать разделы на винте и менять его разметку страшно не хотелось ради установки одной программы под винду.
Решение нашлось в реализации загрузки из VHD-образа с использованием загрузчика Grub2, ставшего стандартом де-факто во многих популярных дистрибутивах Linux. Об этом собственно и пойдет речь.
Какие преимущества перед стандартной установкой Windows в дуалбут с линуксом дает такая методика:
- Весь процесс установки и настройки выполняется в среде OS Linux, с использованием менеджера виртуальных машин VirtualBox
- Раздел, где хранятся образы может быть любого типа: первичный или логический. Он не обязательно должен быть активным
- Количество устанавливаемых систем ограничено лишь размерами NTFS раздела. Все системы изолированы друг от друга
- Не происходит перезапись MBR, линукс-загрузчик остается нетронутым
- При замене HDD можно просто скопировать Linux (содержимое всех разделов, подробнее об этом здесь) на новый винт, рекурсивно с сохранением атрибутов, установить Grub 2 на новый винт и вуаля — Ваши Windows- системы перенесутся как ни вчем не бывало. Это удобно
Итак, перейдем к описанию метода.
1. Подготовка почвы
Для хранения образов нам таки потребуется NTFS-раздел, который может быть как первичным, так и логическим, и не обязательно активным. Его можно создать с помощью gparted, там же и отформатировав в NTFS. У меня на НDD была зарезервирована неразмеченная область для разного рода экспериментов с осями, её я и отдал под данный раздел
Далее делаем этот раздел доступным для виртуальных машин VirtualBox
то есть создаем виртуальный диск в виде файла-ссылки на раздел реального HDD. Этот диск подключаем к виртуальной машине с Windows 7 Ultimate — она пригодится нам для решения поставленной задачи
2. Создаем VHD-образ с системой
Теперь надо создать VHD-образ HDD. Его придется создавать средствами, предоставляемыми Windows 7 Ultimate, ибо диски, создаваемые тем же VirtualBox вызывают последующий вывал загружаемой винды в BSOD.
Загружаем вирутальную машину с виндой. Идем в панель Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером -> Управление дисками. С правой стороны окна имеется меню, где мы выбираем создание виртуального диска
после чего указываем путь к нему и задаем его параметры
Лучше всё же выбрать фиксированный размер образа — это будет работать быстрее.
Щелкаем ОК и пока идет процесс, выполним
3. Настройка загрузчика bootmgr
Сам загрузчик bootmgr и каталог с его конфигом boot банально копируем с установочного DVD Windows 7 в корень раздела NTFS, туда же, где размещается папка с VHD-дисками.
Удаляем файл \boot\bcd, ибо этот контейнер хранит конфигурацию с загрузочного DVD, и создаем новый контейнер. Для этого используем крохотную утилитку bootice. Запускаем её, выбираем вкладку “BCD edit”.
Далее жмем “Create new BCD”, выбираем путь по которому будет расположен файл конфигурации и создаем его с именем BCD. Далее выбираем этот файл и жмем “Easy mode” – запуск редактора в упрощенном режиме.
Файл конфигурации откроется в режиме редактирования, нажимаем кнопку “Add” и выбираем вариант “New VHD boot entry”. Редактор сосздаст шаблон загрузочной записи и нам остается лишь вписать путь к нашему образу.
Путь к VHD-файлу от корня раздела с образами прописываем в поле “File”. После этого жмем “Save current system” и выходим из программы.
Дожидаемся пока закончится процесс создания VHD-образа и покидаем виртуальную семерку.
4. Установка Windows 7 Ultimate на VHD-образ
Выполнена средствами VirtualBox. Для этого:
- Смонтирован NTFS-раздел с образом в хост-системе Linux
- Создана виртуальная машина, причем в качестве образа диска выбран созданный нами образ
- Установлена винда, стандартно, без ухищрений
Однако, надо сказать вот о чем. Мы помним, что наша система инсталирована в ВМ, а поэтому некоторые устройства определены на этапе установки и система подсунула для них соотвествующие драйвера. При запуске на Вашем реальном компьютере с вероятностью в 99% получится BSOD. Это связано с тем, что VirtualBox эмулирует контролер IDE следующим образом
и этот драйвер, работая в загружаемой системе конфликтует с реально установленным на мат. плате контроллером, при попытке системы прочесть файл образа с диска. Решается просто – выбираем “Обновить драйвер”, говорим, что не надо искать а мы сами укажем нужный драйвер и выберем “Стандартный двухканальный контролер IDE”
После этого выключаем нашу виртуальную машину и делаем её «реальной»
5. Настройка загрузчика Grub2
В конфиг Grub2 необходимо добавить загрузочную запись такого вида
где (hd0,msdos4) — NTFS-раздел, где размещены VHD-образы.
После этого можно перезагружаться и пробовать…
Заключение
После загрузки устанавливаем драйвера на наше реальное железо и радуемся жизни:
Изображенное на скринах – это полноценная ОС, работающая на реальном железе. Но она – всего лишь файл на Вашем жестком диске. Этот файл может быть скопирован, удален, перемещен, архивирован и прочее. К тому же, такой метод решает извечную проблему конфликта Windows vs Linux на одном HDD. Теперь они мирно уживаются друг с другом и не портят друг другу жизнь.
встроенная загрузка позволяет создать виртуальный жесткий диск (VHDX), установить Windows на него, а затем загрузить его на свой компьютер параллельно с существующей установкой или на новом устройстве.
В качестве работающей операционной системы на назначенном оборудовании можно использовать VHDX с собственной загрузочной системой, не имея никакой другой родительской операционной системы. Это отличается от сценария, в котором VHDX-файл подключен к виртуальной машине на компьютере с родительской операционной системой.
встроенная загрузка для Windows 10 или более поздней версии требует формат vhdx , а не vhd-формат.
vhdx можно применять к компьютерам или устройствам, которые не имеют других установленных Windows, без виртуальной машины или гипервизора. (Гипервизор — это уровень программного обеспечения в операционной системе, в которой работают виртуальные компьютеры.) Это обеспечивает большую гибкость в распределении рабочей нагрузки, поскольку для управления образами виртуальных машин и назначенного оборудования можно использовать единый набор средств.
вы также можете развернуть VHDX на пк, на котором уже установлен Windows, и использовать меню загрузки для выбора между существующей версией Windows или версией на виртуальном жестком диске.
Дополнительные сведения об использовании VHDX в корпоративной среде см. в статье Общие сведения о виртуальных жестких дисках с встроенной загрузкой.
Шаг 1. Создание VHDX-файлов из программы DiskPart
На техническом компьютере:
В командной строке откройте DiskPart.
Создайте и подготовьте новый VHDX-файл. В этом примере мы создадим тип VHDX с фиксированным типом размером 25 ГБ.
Присоедините VHDX-файл. Это добавляет VHDX в качестве диска к контроллеру хранилища на узле.
создайте раздел для файлов Windows, отформатируйте его и назначьте ему букву диска. эта буква диска появится в проводник.
Выход из программы DiskPart
Что такое VHDX с встроенной загрузкой?
Встроенная загрузка — это виртуальный жесткий диск под управлением операционной системы на определенном оборудовании без какой-либо другой родительской операционной системы, виртуальной машины или низкоуровневой оболочки.
- для создания VHDX-файла для встроенной загрузки можно использовать Windows средства управления дисками, DiskPart и консоль управления дисками (Diskmgmt. msc).
- поддерживаемый файл образа Windows (wim) может быть применен к виртуальному жесткому диску, а VHDX можно скопировать на несколько систем.
- диспетчер загрузки Windows можно настроить для загрузки непосредственно на виртуальный жесткий диск.
VHDX также можно подключить к виртуальной машине для использования с ролью Hyper-V на сервере Windows.
Собственные загрузочные VHDX-файлы не предназначены для замены полного развертывания образа во всех системах клиента или сервера. Enterprise средах, которые уже управляют и используют vhdx-файлы для развертывания виртуальных машин, могут воспользоваться преимуществами встроенных возможностей vhdx в собственном формате. Использование VHDX-файла в качестве общего формата контейнера изображений для виртуальных машин и назначенного оборудования упрощает управление образами и развертывание в корпоративной среде.
Шаг 4. Добавление загрузочной записи
На компьютере назначения откройте DiskPart (при необходимости) и найдите буквы дисков VHDX и системного раздела, например, V и S.
Добавьте загрузочную запись на устройство. С помощью этого метода можно добавить несколько VHDX-файлов.
UEFI:
BIOS:
Удалите USB-ключ WinPE.
Перезапустите конечный компьютер.
Если имеется только одна загрузочная запись, устройство немедленно загружается Windows. если имеется несколько загрузочных записей, вы увидите меню загрузки, в котором можно выбрать доступные версии Windows на устройстве.
В случае с Window 7, также хотелось бы увидеть ее во всей красе, как минимум с запущенным aero-интерфейсом.
Далее речь пойдет о том, как загружаться с полученного VHD-образа наравне с установленной базовой системой. То есть для работы с системой не понадобится отдельный раздел и не нужно будет сносить существующую систему, Win 7 будет по прежнему храниться внутри VHD-файла, но в то же время она будет запущена в реальном окружении.
Примечание: этот способ, по умолчанию, работает в Windows 7 и Windows Server 2008 R2, я буду рассказывать, как его заставить работать под Vista (см. пункт 1).
0. Если у вас виртуальный образ (VHD-файл) создавался как образ с динамическим размером, обедитесь, что у вас в системе есть свободное место в размере, максимальном для этого образа.
1. Прежде всего, нам понадобятся два файла: bootmgr (новый менеджер загрузки, умеющий загружать из VHD) и bcdedit.exe (новая версия программы для редактирования загрузочных записей).
Первый можно взять с установочного диска, второй можно взять из установленной системы Windows 7 (например, вытащить из имеющегося на руках VHD-образа). Либо можно просто скачать отсюда (skydrive) :)
Далее придется переписать файл c:\bootmgr. Файл c:\windows\system32\bcdedit.exe, в принципе, можно не перезаписывать (просто запускать из другого места). На всякий случай, рекомендую сохранить старые версии.
Примечание: для перезаписи могу понадобится права на полное владение файлами.
2. Открываем консоль (cmd) с админскими правами, на всякий случай, делаем копию текущих записей и попутно создаем новую запись:
bcdedit /copy /d “Windows 7”
Команда вернет GUID вновь созданной записи.
3. Далее нужно прописать адрес с VHD-диском для загрузки
bcdedit /set device vhd=\vhd\win7b.vhd
bcdedit /set osdevice vhd=\vhd\win7b.vhd
4. Если вы хотите, чтобы добавленная система была последней в списке ОС при загрузке, нужно выполнить следующую команду
bcdedit /displayorder /addlast
Запись с соответствующим GUID переносится в конец (подобным образом можно добиться любого нужного порядка).
5. Если вы хотите поменять название системы при загрузке, нужно выполнить следующую команду
bcdedit /set description “Windows 7 — VHD”
6. Для форсирования автоматического определения в Windows диска через соответствующий уровень абстракции — Hardware Abstraction Layer —следует выполнить следующую команду
bcdedit /set detecthal on
Готово! Можно перезагружаться. После загрузки Windows 7 начнет устанавливать нужные драйвера для вашего реального оборудования. Попросит перезагрузиться. После этого можно нормально работать. С Aero!
Если посмотреть на диски, присутствующие в системе, будет видно, что помимо виртуального диска на 16 Гб (обведен оранжевым), с которого, собственно, загружена Win7, также присутствуют второй раздел виртуального диска на 200 Мб под системные файлы и реальный(!) жесткий диск, установленный на компьютере.
Если отрыть реальный диск и посмотреть, где находится файл с образом системы
можно обнаружить, что размер файла увеличился до 16 Гб. Все дело в том, что наш VHD-образ был автоматически сконвертирован в образ с фиксированным размером, то есть занял максимально возможные 16 Гб. Это ускоряет работу системы.
Стоит также отметить, что этот образ по-прежнему можно загружать через Virtual PC.
Встроенная загрузка позволяет виртуальным жестким дискам (VHDX) выполняться на компьютере без виртуальной машины или гипервизора. Гипервизор — это уровень программного обеспечения в операционной системе, в которой выполняются виртуальные машины.
Для встроенной загрузки требуется формат VHDX и его нельзя использовать в формате VHD.
Шаг 3. Отсоедините виртуальный жесткий диск, скопируйте его на новое устройство и подключите его (необязательно)
VHDX можно развернуть на устройстве, на котором уже установлена копия Windows, или можно очистить и подготовить жесткий диск конечного компьютера для использования виртуального жесткого диска.
Распространенные сценарии
Использование средств управления дисками для создания и подключения VHDX-файлов для управления автономными образами. Вы можете подключить VHDX-файл с помощью Attach vdisk команды, которая активирует VHDX, чтобы она появилась на узле в качестве диска, а не в виде VHD-файла.
Подключение образов VHDX на удаленных общих ресурсах для обслуживания образов.
Обслуживание и развертывание общего эталонного образа VHDX для выполнения на виртуальных или физических компьютерах.
Настройка VHDX-файлов для встроенной загрузки без необходимости полной родительской установки.
Настройка компьютера для загрузки нескольких локальных VHDX-файлов, которые содержат различные рабочие нагрузки приложений, без необходимости использования отдельных разделов диска.
использование служб развертывания Windows (WDS) для сетевого развертывания образов VHDX на конечные компьютеры для встроенной загрузки.
Управление развертыванием образа настольных систем.
Ограничения
Встроенная поддержка управления дисками ВХКСД может подключать примерно 512 VHDX-файлов одновременно.
Встроенная загрузка VHDX не поддерживает режим гибернации системы, хотя режим сна поддерживается.
VHDX-файлы не могут быть вложенными в другие VHDX-файлы.
Встроенная загрузка VHDX не поддерживается для общих ресурсов SMB.
Windows шифрование диска BitLocker нельзя использовать для шифрования тома узла, содержащего VHDX-файлы, используемые для загрузки в собственном формате vhdx, и BitLocker нельзя использовать на томах, содержащихся в VHD.
Родительский раздел VHDX-файла не может быть частью моментального снимка тома.
Присоединенный VHDX-файл не может быть динамическим диском. Динамический диск предоставляет функции, которые не поддерживаются базовыми дисками, например возможность создания томов, охватывающих несколько дисков (составные и чередующиеся тома), а также возможность создания отказоустойчивых томов (томов с зеркальным отображением и тома RAID 5). Все тома на динамических дисках называются динамическими томами.
Родительский том VHDX не может быть настроен как динамический диск. Храните VHDX на базовом диске.
Требования
Ниже приведены требования к компьютеру, на котором будет развернут VHDX-файл:
на локальном диске должно быть по крайней мере два раздела: системный раздел, содержащий файлы среды загрузки Windows и хранилище данные конфигурации загрузки (BCD), а также раздел для хранения VHDX-файла. Дополнительные сведения о добавлении среды загрузки для загрузки в собственном формате VHDX см. в разделе Загрузка в VHDX (Встроенная загрузка). Добавьте виртуальный жесткий диск в меню загрузки.
Раздел локального диска, содержащий VHDX-файл, должен иметь достаточно свободного дискового пространства для расширения динамического VHDX до максимального размера и для файла подкачки, созданного при загрузке виртуального жесткого диска. Файл подкачки создается за пределами VHDX-файла, в отличие от виртуальной машины, в которой файл подкачки находится внутри виртуального жесткого диска.
Отсоедините VHDX-файл и сохраните его в сетевой папке или на диске хранилища.
С помощью программы DiskPart отсоедините виртуальный диск от обслуживающего компьютера.
Скопируйте VHDX-файл в сетевую папку или на съемный носитель. Следующий файл сопоставляет букву диска с общей сетевой папкой, создает каталог для виртуального жесткого диска, а затем копирует VHD.
Очистка и подготовка нового устройства для встроенной загрузки
На компьютере назначения:
Используйте загрузочный ключ WinPE для загрузки конечного компьютера в WinPE.
Очистите и подготовьте жесткий диск конечного компьютера. Создайте системные разделы и основной раздел (M), где будут храниться VHDX-файлы.
UEFI:
BIOS:
Подключение на сетевой диск или место хранения, куда был скопирован VHDX-файл на шаге 3,2.
Скопируйте VHDX-файл из сетевого диска или места хранения в основной раздел конечного компьютера.
Преимущества
Использование одних и тех же средств управления образами для создания, развертывания и обслуживания образов систем, устанавливаемых на определенном оборудовании или на виртуальной машине.
Развертывание образа на виртуальной машине или на указанном компьютере в зависимости от планирования и доступности ресурсов.
развертывание Windows для нескольких сценариев загрузки без необходимости использования отдельных разделов диска.
развертывание поддерживаемых Windows образов в файле контейнера VHDX для ускоренного развертывания многократно используемых сред разработки и тестирования.
Замена VHDX-образов для повторного развертывания или восстановления сервера.
Предварительные требования
- технический компьютер с установленными на нем инструментами Windows оценки и развертывания (Windows ADK).
- обобщенное Windows изображение (. WIM-файл). дополнительные сведения см. в разделе Sysprep (generalize) a Windows установки.
- загрузочный диск Windows PE. Дополнительные сведения см. в разделе WinPE: Create USBDrive.
- Конечный компьютер или устройство для установки VHDX. Для этого устройства требуется 30 гигабайт (ГБ) или больше свободного места на диске. Вы можете установить VHDX на устройство, которое уже использует другие установки операционной системы или является единственной операционной системой на устройстве.
Подключение VHDX
Не загрузив в WinPE, подключите VHDX-файл к конечному компьютеру.
Определяет букву присоединенного тома VHDX. (Необязательно. измените его на другую букву, которая имеет более осмысленное значение, например V, и оставьте командную строку DiskPart открытой для следующего шага).
шаг 2. применение образа Windows к виртуальному жесткому диску
на техническом компьютере примените обобщенный Windows образ к основному разделу VHDX, созданному и подключенному на шаге 1.
Типы виртуальных жестких дисков
С помощью средств управления дисками можно создать три типа VHDX-файлов:
Фиксированный размер. Формат VHDX фиксированного размера — это файл, который выделяется для размера виртуального диска. Например, при создании виртуального жесткого диска размером 2 гигабайта (ГБ) система создаст файл узла размером приблизительно 2 ГБ. Для рабочих серверов рекомендуется использовать образы фиксированного жесткого диска и работать с данными клиентов. Рекомендуется для рабочих серверов, чтобы повысить производительность и защитить данные пользователей.
Динамическое расширение. Динамически расширяемый VHDX — это файл, размер которого совпадает с фактическими данными, записанными в него в любой конкретный момент времени. По мере написания дополнительных данных размер файла динамически увеличивается. Например, размер файла резервной копии жесткого диска с виртуальным размером 2 ГБ изначально составляет около 2 мегабайта (МБ) в файловой системе узла. По мере того как данные записываются в этот образ, его размер увеличивается до 2 ГБ.
Динамически расширяемые VHDX рекомендуется использовать только для сред разработки и тестирования, бекаисе они могут быть более легко повреждены при аварийном завершении работы системы, например в случае отключения питания.
Разностных. Образ разностного жесткого диска описывает изменение родительского образа. Этот тип образа жесткого диска не является независимым. Это зависит от того, какой образ жесткого диска будет полностью функциональным. Родительский образ жесткого диска может быть любым из указанных типов образов жесткого диска, включая другой разностный образ жесткого диска.
Образы разностного жесткого диска рекомендуется использовать только в средах разработки и тестирования.
18.03.2011
itpro
Windows 7
Один комментарий
Реалии современного ИТ-мира таковы, что большинству из системных администраторов нужна более чем одна операционная система на рабочем ПК, и виртуализация, зачастую, не является лучшим решением. Загрузка с виртуального диска VHD – это решение, которое позволит нам использовать несколько операционных систем на одном ПК без мороки с разделами и томами. Эта статья посвящена настройкам возможности загрузки с vhd – диска.
Итак, я решил установить Windows 7 на моем рабочем компьютере с одним разделом. Windows 7 будет основной рабочей операционной системой на моем компьютере, однако я хочу иметь возможность использования других конфигураций Windows 7 и Windows Server 2008. Конечно, я могу использовать виртуализацию, однако я предполагаю, что производительность такого решения будет небольшой, т.к. конфигурация моего компьютера не слишком хороша (это же не сервер): у меня нет быстрых жестких дисков, быстрой памяти и кучи ядер на процессоре.
Поэтому самое оптимальное решение в моем случае — наличие возможности грузиться в той дополнительной операционной системе, которая мне нужна. Такое решение я смогу реализовать при помощи технологии виртуальных жестких дисков (Virtual Hard Drives) -VHD . Создать VHD в Windows 7 можно при помощи команды Dispart или графического интерфейса управления дисками Windows 7 (Graphical Disk Mananager).
После того, как VHD создан, нам понадобится утилита imagex (из набора утилит WAIK), которая позволит установить файл install.wim с выбранного вами дистрибутива операционной системы( [DVD]:\sources\install.wim ).
- imagex /info d:\sources\install.wim
- определите индекс ОС, которую вы хотите развернуть
- imagex /apply /check 3 d:\sources\install.wim x:\
- в данном случаемы используем индекс 3, который мы получили из файла образа на 1 шаге, x: — это буква нашего диска VHD.
Теперь, если мы посмотрим на содержимое нашего VHD ( он сейчас имеет букву x:\ ), то увидим, что оно соответствует системному диску ОС. Отлично! Теперь мы перейдем к отмонтированию VHD и добавлению его в загрузочное boot меню.
Откройте командную строку с правами администратора. Процесс модификации загрузочного меню в Windows 7, конечно, не так прост как модификация файла boot.ini, однако, если один раз в нем разобраться, то в нем нет ничего сложного.
-
bcdedit /copy /d “ Win7 VHD”
Создаем новую копию текущей ОС с описанием “Win7 VHD”
команда без параметров отобразит новый guid в загрузочном меню (мы его создали на предыдущем шаге)
- bcdedit /set < GUID > device=\vhd\boot.vhd
- bcdedit /set < GUID > osdevice=\vhd\boot.vhd
- bcdedit /set < GUID > detecthal
Теперь для тестирования конфигурации нужно перезагрузить компьютер. Надеюсь, что вы все выполнили правильно, тогда при загрузке вы должны увидеть загрузочное boot меню, из которого вы можете выбрать откуда выполнять дальнейшую загрузку (стандартную ОС или ОС на vhd).
Предыдущая статья Следующая статья
Папки на флешке стали ярлыками
BOOTMGR is compressed в Windows 7. Что делать?
Восстанавливаем языковую панель в Windows 7
У меня сработало так:
bcdedit /set < GUID > device vhd=\vhd\boot.vhd
bcdedit /set < GUID > osdevice vhd=\vhd\boot.vhd
Читайте также: