Загрузка Windows 7 с VHD-образа
В прошлый раз мы создали 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.
Comments
Anonymous
January 20, 2009
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/Anonymous
January 21, 2009
PingBack from http://staforce.wordpress.com/2009/01/22/windows-7-vhd/Anonymous
January 22, 2009
А требуется ли для загрузки из VHD что-либо еще из висты, кроме bootmgr и базы данных BCD в каталоге Boot? То есть, можно ли под XP записать в корень диска bootmgr, переписать из какой-нибудь висты каталог Boot, вистовский файл с загрузочным сектором, умеющий загружать bootmgr, создать дополнительную запись в boot.ini, настроить BCD и загружать Win7 из VHD?Anonymous
January 24, 2009
В XP, насколько я знаю, несколько по-другому устроены загрузчик и работа с ним, чтобы все это проделать вручную, скорее всего, нужно копать в направлении bootsect. Попробуйте такой способ установки сразу на VHD: http://blogs.technet.com/iwalker/archive/2009/01/20/ka-windows-7.aspxAnonymous
August 21, 2009
Вот никак не могу понять, имеет ли смысл установка Windows 7 в VHD на новой системе. Для каких целей? Везде рекламируется одна цель - попробовать новую операционную систему, а вот использование режима, когда на жестком диске раздел под загрузчик (очень маленький) и сама операционка в файле VHD какие несет преимущества? Какие недостатки? (насколько медленнее работает)Anonymous
August 23, 2009
The comment has been removedAnonymous
December 13, 2009
Все прекрасно установилось на vhd, но комп стартует с Хр и не спрашивает ни о чем. Что делать? как ету 7 запустить )Anonymous
December 13, 2009
Скорее всего, в Windows XP другой загрузчик.Anonymous
March 08, 2010
Установил при существующей Windows XP на VHD раздел. Все установилось, была одна перезагрузка, загрузчик на реальном диске уже был подменен, 7-ка пошла с виртуального диска. Но потом появился checkdsk и он что то исправил, и теперь черный экран - не загружается загрузчик. То есть ни Хрюши ни 7-ки.... Кто нить знает реально и пошагово, как теперь восстановить загрузку ХР и как добавить опцию загрузки 7-ки из имеющегося файла c:Win7.vhd Если что то надо откуда то скопировать, без проблем. Консоль разумею но вот что куда и как - искал в нете не нашел... Спасибо!Anonymous
March 08, 2010
Сергей, загрузка Windows 7 на vhd из-под Windows XP не является поддерживаемым сценариям. Соответственно, манипуляции над загрузчиком Windows XP для запуска семерки могут привести к непредсказуемым последствиям ;) Для восстановления загрузчика WinXP можно попробовать запустить восстановление Windows XP с установочного диска. А вот добавить опцию загрузки 7-ки наврядли получится.Anonymous
April 04, 2010
В результате попыток реанимирования флешки, какая то прога (да фиг с ней уже) потерла загрузочную область раздела с вистой. Вообщем смог спасти инфу, но пришлось форматнуть раздел и заново поставить OS, но загрузчик теперь только виста. Файл Win7.vhd присутствует, но влезть в него невозможно. Как мне опять загрузить семерку - исправить загрузчик? Структура: С:Windows (Vista) и D:Win7.vhd (семерка) - диски физические. Может можно как то ручками прописать? Спасибо. P.S. Если диски физические, то может лучше будет на них (потом, когда инфу с 7 перекину) разные OS поставить, чем виртуальный диск использовать?Anonymous
April 05, 2010
А что мешает заменить загрузчик Vista на загрузчик Windows 7 и внести необходимые записи с помощью bcdedit? Да, лучше использовать реальные физические диски, чем виртуальные. Виртуальный диск может быть интересен для тестирования или использования при виртуализации. Для обычного использования лучше этот вариант не использовать.Anonymous
February 07, 2012
если на vhd залить другую систему (например Мас) загрузка возможна?Anonymous
February 09, 2012
Насколько я знаю, устанавливаемая ОС должна поддерживать такой способ запуска. Сомневаюсь, что это верно для MacOS.