Загрузка Windows 7 с VHD-образа
В случае с 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.
Константин Кичинский