Загрузка Windows 7 с VHD-образа

Блог Константина Кичинского

Блог   Дизайн-ресурсы

Загрузка Windows 7 с VHD-образа

  • Comments 14

В прошлый раз мы создали VHD-образ с Window 7 для Virtual PC. Понятное дело, что в виртуальной среде, конечно, есть свои преимущества, но тем не менее, хотелось бы, чтобы все работало пошустрее…

В случае с 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 {current} /d “Windows 7”

Команда вернет GUID вновь созданной записи.

3. Далее нужно прописать адрес с VHD-диском для загрузки

bcdedit /set {GUID} device vhd=[c:]\vhd\win7b.vhd

bcdedit /set {GUID} osdevice vhd=[c:]\vhd\win7b.vhd

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

bcdedit /displayorder {GUID} /addlast

Запись с соответствующим GUID переносится в конец (подобным образом можно добиться любого нужного порядка).

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

bcdedit /set {GUID} description “Windows 7 - VHD”

6. Для форсирования автоматического определения в Windows диска через соответствующий уровень абстракции — Hardware Abstraction Layer —следует выполнить следующую команду

bcdedit /set <guid> detecthal on

Готово! Можно перезагружаться. После загрузки Windows 7 начнет устанавливать нужные драйвера для вашего реального оборудования. Попросит перезагрузиться. После этого можно нормально работать. С Aero!

Если посмотреть на диски, присутствующие в системе, будет видно, что помимо виртуального диска на 16 Гб (обведен оранжевым), с которого, собственно, загружена Win7, также присутствуют второй раздел виртуального диска на 200 Мб под системные файлы и реальный(!) жесткий диск, установленный на компьютере.

Если отрыть реальный диск и посмотреть, где находится файл с образом системы

можно обнаружить, что размер файла увеличился до 16 Гб. Все дело в том, что наш VHD-образ был автоматически сконвертирован в образ с фиксированным размером, то есть занял максимально возможные 16 Гб. Это ускоряет работу системы. Стоит также отметить, что этот образ по-прежнему можно загружать через Virtual PC.

   
Leave a Comment
  • Please add 6 and 8 and type the answer here:
  • Post
  • PingBack from http://blog.a-foton.ru/index.php/2009/01/20/%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b0-windows-7-%d1%81-vhd-%d0%be%d0%b1%d1%80%d0%b0%d0%b7%d0%b0/

  • PingBack from http://staforce.wordpress.com/2009/01/22/windows-7-vhd/

  • А требуется ли для загрузки из VHD что-либо еще из висты, кроме bootmgr и базы данных BCD в каталоге Boot?

    То есть, можно ли под XP записать в корень диска bootmgr, переписать из какой-нибудь висты каталог Boot, вистовский файл с загрузочным сектором, умеющий загружать bootmgr, создать дополнительную запись в boot.ini, настроить BCD и загружать Win7 из VHD?

  • В XP, насколько я знаю, несколько по-другому устроены загрузчик и работа с ним, чтобы все это проделать вручную, скорее всего, нужно копать в направлении bootsect.

    Попробуйте такой способ установки сразу на VHD: http://blogs.technet.com/iwalker/archive/2009/01/20/ka-windows-7.aspx

  • Вот никак не могу понять, имеет ли смысл установка Windows 7 в VHD на новой системе. Для каких целей?

    Везде рекламируется одна цель - попробовать новую операционную систему, а вот использование режима, когда на жестком диске раздел под загрузчик (очень маленький) и сама операционка в файле VHD какие несет преимущества?

    Какие недостатки? (насколько медленнее работает)

  • На мой взгляд (я могу не знать каких-то еще сценариев), это имеет смысл, если:

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

    -- нужно протестировать какие-то конфигурации/настройки -- то есть как тестовое окружение (преимущества: переносимость, можно просто копировать образы, чтобы начать с начала, быстрое удаление),

    -- "multi-boot system", когда вам нужно иметь несколько операционных систем на одном диске и как-то ими управлять (легко добавлять/удалять).

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

    Недостатки: 1) незначительно уменьшается скорость дисковых операций. 2) загрузка с VHD работает только для Win7 и WinServ2008R2.

  • Все прекрасно установилось на vhd, но комп стартует с Хр и не спрашивает ни о чем.

    Что делать? как ету 7 запустить )

  • Скорее всего, в Windows XP другой загрузчик.

  • Установил при существующей Windows XP на VHD раздел. Все установилось, была одна перезагрузка, загрузчик на реальном диске уже был подменен, 7-ка пошла с виртуального диска. Но потом появился checkdsk и он что то исправил, и теперь черный экран - не загружается загрузчик. То есть ни Хрюши ни 7-ки....

    Кто нить знает реально и пошагово, как теперь восстановить загрузку ХР и как добавить опцию загрузки 7-ки из имеющегося файла c:\Win7.vhd

    Если что то надо откуда то скопировать, без проблем. Консоль разумею но вот что куда и как - искал в нете не нашел...

    Спасибо!

  • Сергей, загрузка Windows 7 на vhd из-под Windows XP не является поддерживаемым сценариям. Соответственно, манипуляции над загрузчиком Windows XP для запуска семерки могут привести к непредсказуемым последствиям ;)

    Для восстановления загрузчика WinXP можно попробовать запустить восстановление Windows XP с установочного диска.

    А вот добавить опцию загрузки 7-ки наврядли получится.

  • В результате попыток реанимирования флешки, какая то прога (да фиг с ней уже) потерла загрузочную область раздела с вистой. Вообщем смог спасти инфу, но пришлось форматнуть раздел и заново поставить OS, но загрузчик теперь только виста. Файл Win7.vhd присутствует, но влезть в него невозможно. Как мне опять загрузить семерку - исправить загрузчик? Структура: С:\Windows (Vista)  и D:\Win7.vhd (семерка) - диски физические. Может можно как то ручками прописать?

    Спасибо.

    P.S. Если диски физические, то может лучше будет на них (потом, когда инфу с 7 перекину) разные OS поставить, чем виртуальный диск использовать?

  • А что мешает заменить загрузчик Vista на загрузчик Windows 7 и внести необходимые записи с помощью bcdedit?

    Да, лучше использовать реальные физические диски, чем виртуальные.

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

  • если на vhd залить другую систему (например Мас) загрузка возможна?

  • Насколько я знаю, устанавливаемая ОС должна поддерживать такой способ запуска. Сомневаюсь, что это верно для MacOS.

Page 1 of 1 (14 items)