Настройки параметров загрузки гипервизора при помощи программы BCDEdit
База данных конфигураций загрузки (BCD) содержит настройки, которые определяют — как запускаются ОС Windows Vista и Windows Server 2008. В предыдущих версиях ОС эти настройки указывались в файле текстовом Boot.ini на системном разделе (при использовании BIOS) или в энергонезависимой памяти (NVRAM, при использовании EFI). Сейчас параметры BCD хранятся в файле \Boot\bcd активного раздела (или на системном разделе EFI для систем с поддержкой EFI). Этот файл уже не отредактируешь в Блокноте — и даже те, кто подключат его (или его копию) как куст в реестр, навряд ли смогут уверенно вносить изменения напрямую. Настройка загрузчика Windows, который выполняется до операционной системы, производится утилитой командной строки BCDEdit.exe. Она служит для создания, удаления, редактирования и дополнения записей в хранилище BCD. Программа BCDEdit находится в папке %SysterRoot%\System32.
Почему было принято решение о переходе от Boot.ini к BCD?
Хранилище BCD было разработано в процессе усовершенствования механизма описания конфигурации загрузки. Разработка новых моделей микрокода (firmware) — таких, как EFI — привела к тому, что для абстрагирования от этого микрокода потребовался новый интерфейс. Он должен быть расширяемым и интероперабельным — то есть совместимым с системами производства третьих сторон. Эта новая разработка послужила основной для многих новых функций Windows Vista — например, средства восстановления при загрузке (Startup Repair tool).
Что можно сделать с помощью BCDEdit?
В настоящее время BCDEdit поддерживает следующие функции:
- Создание хранилища BCD для последующей установки Windows Server 2008.
- Добавление записей в существующее хранилище BCD.
- Изменение существующих записей в хранилище BCD.
- Удаление записей из хранилища BCD.
- Экспорт записей из хранилища BCD.
- Импорт записей в хранилище BCD.
- Вывод текущих параметров.
- Запрос записей определенного типа.
- Применение глобальных изменений (ко всем записям).
- Изменение времени ожидания по умолчанию.
Дополнительно почитать о возможностях BCDEdit можно в статье Vista TechCenter (оригинал) или более подробно в материалах Windows Hardware Developer Central (на английском языке).
При чем тут гипервизор?
С выходом beta-версии Hyper-V BCD, очевидно, должна была получить возможность хранить также и настройки гипервизора — т.к. он стартует еще до загрузки ядра ОС.
К сожалению, в настоящее время ни на официальном сайте Microsoft, ни где бы то ни было еще нет информации о том, какие именно появились изменения. Это необходимо исправить. :)
Итак, в BCD появился новый объект, называемый hypervisorsettings. Вы можете использовать его для включения режима отладки и настройки параметров запуска гипервизора. Данный объект наследуется объектом bootloadersettings, так что вы можете вносить изменения единожды для всех записей загрузчика в хранилище конфигураций. Однако, настраивать параметры запуска гипервизора можно и индивидуально для каждой записи загрузчика.
Привожу ключи программы BCDEdit, позволяющие модифицировать параметры запуска гипервизора:
bcdedit /set {ID} HYPERVISORLAUNCHTYPE { Type }
bcdedit /hypervisorsettings DebugType [debugport:Port] [baudrate:Baud][channel:Channel]
bcdedit /set {ID} HYPERVISORDEBUG {ON|OFF}
bcdedit /set {ID} HYPERVISORPATH { Path }
bcdedit /set {ID} HYPERVISORDEBUGTYPE {DebugType}
bcdedit /set {ID} HYPERVISORDEBUGPORT { Port }
bcdedit /set {ID} HYPERVISORBAUDRATE { Baud }
bcdedit /set {ID} HYPERVISORCHANNEL { Channel }
Настройки гипервизора в BCDEdit | |
Параметр |
Значение |
ID |
Указывает GUID(ы) ОС. Допустимо значение {current} для указания текущей ОС. |
Type |
Настраивает тип запуска гипервизора. Тип может иметь значения AUTO или OFF. AUTO обозначает автоматическую загрузку гипервизора. OFF отключает запуск гипервизора, — например, на тот случай, если вам нужно пользоваться гибернацией (hibernate) или для тестирования. |
Path |
Путь к исполняему файлу гипервизора относительно каталога %SystemRoot%\system32. Например, HvTfix64.exe или perf\hvix64.exe. Эта настройка работает также, как указание путей для Kernel или Hal. |
DebugType |
Настраивает тип отладчика. Отладчик может иметь значения SERIAL или 1394. |
Port |
Для отладчика в режиме SERIAL указывает используемый порт COM. |
Baud |
Для отладчика в режиме SERIAL указывает пропускную способность (baud rate) порта. |
Channel |
Для отладчика в режиме 1394 указывает канал IEEE1394 (FireWire), который будет использоваться для отладки. |
Примеры
Следующие команды установят автоматический режим запуска гипервизора с отключенным режимом отладки:
bcdedit /set {current} hypervisorlaunchtype AUTO
bcdedit /set {current} hypervisordebug Off
Следующие команды установят автоматический режим запуска гипервизора с использованием глобальных параметров режима отладки (по умолчанию — COM1, 115200 baud):
bcdedit /set {current} hypervisorlaunchtype AUTO
bcdedit /set {current} hypervisordebug On
Следующие команды установят автоматический режим запуска гипервизора с использованием отладчика на 21 канале шины IEEE1394 (для конкретной записи загрузчика):
bcdedit /set {current} hypervisorlaunchtype AUTO
bcdedit /set {current} hypervisordebug On
bcdedit /set {current} hypervisorchannel 21
bcdedit /set {current} hypervisordebugtype 1394
Следующая команда отключит запуск гипервизора:
bcdedit /set {current} hypervisorlaunchtype OFF
Следующая команда установит запуск гипервизора из исполняемого файла %systemroot%\system32\hvIceCap.exe:
bcdedit /set {current} hypervisorpath hvIceCap.exe