Параметры хранилища системы BCD для UEFI
В типичном сценарии развертывания не нужно изменять хранилище BCD. В этом разделе рассматриваются различные параметры BCD в хранилище BCD, которые можно изменить. В системах UEFI сюда входят параметры для следующих загрузочных приложений:
В следующих разделах подробно описываются доступные параметры для каждого из этих загрузочных приложений и способы изменения каждого приложения для систем UEFI.
Для простоты примеры BCDEdit в этом разделе изменяют системное хранилище BCD. Чтобы изменить другое хранилище, например копию шаблона BCD, включите имя хранилища в командную строку.
Параметры диспетчера загрузки Windows для UEFI
Диспетчер загрузки Windows ({bootmgr}
) управляет процессом загрузки. Системы на основе UEFI содержат диспетчер загрузки встроенного ПО Bootmgfw.efi, который загружает приложение EFI, основанное на переменных, хранящихся в NVRAM.
Параметры BCD для элементов и path
в диспетчере device
загрузки Windows указывают на диспетчер загрузки встроенного ПО. Шаблон с именем BCD-template для Windows включает следующие параметры для диспетчера загрузки Windows.
## Windows Boot Manager
identifier {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
Параметр устройства
Элемент device
задает том, содержащий диспетчер загрузки Windows. Для систем device
UEFI элементу диспетчера загрузки Windows присваивается буква тома системного раздела. Чтобы определить правильную букву тома, используйте средство Diskpart для просмотра разделов диска. В следующем примере предполагается, что в системе есть один жесткий диск с несколькими секциями, включая системный раздел, которому назначена буква S диска.
Следующие команды Diskpart выбирают диск 0, а затем перечисляют сведения о томах на этом диске, включая буквы диска. В нем в качестве системного раздела отображается том 2.
DISKPART> select disk 0
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ------ ----- ---------- ------- --------- ------
Volume 0 D NTFS Partition 103 GB Healthy
Volume 1 C NTFS Partition 49 GB Healthy Boot
Volume 2 S FAT32 Partition 200 MB Healthy System
Если системный раздел не имеет назначенной буквы диска, назначьте ее с помощью Diskpart assign
команды . В следующем примере предполагается, что системный раздел является томом 2, и назначает его S в качестве буквы диска.
Diskpart
select disk 0
list volume
select volume 2 // assuming volume 2 is the system partition
assign letter=s
Определив том системного раздела, задайте device
для элемента диспетчера загрузки Windows соответствующую букву диска. В следующем примере задается device
диск S.
Bcdedit /set {bootmgr} device partition=s:// system partition
Совет
Если вы ранее использовали Diskpart для получения букв диска, а затем перезагрузили компьютер, используйте Diskpart, чтобы проверка буквы диска еще раз перед выполнением этой команды. В зависимости от среды буквы диска могут меняться, поэтому убедитесь, что вы настраиваете правильную секцию.
Параметр пути
Элемент path
указывает расположение приложения диспетчера загрузки Windows на этом томе. Для систем path
UEFI указывает диспетчер загрузки встроенного ПО, путь которого — \EFI\Microsoft\Boot\Bootmgfw.efi
.
Вы можете убедиться, что BCD-template имеет правильный путь, перечислив значения в хранилище следующим образом:
bcdedit /store bcd-template /enum all
Чтобы явно задать значение path
\EFI\Microsoft\Boot\Bootmgfw.efi
, используйте следующую команду.
Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi
Другие параметры
Диспетчер загрузки Windows должен быть первым элементом в порядке отображения встроенного ПО UEFI, как показано в следующем примере.
Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst
Следует также указать самое верхнее приложение загрузчика Windows в порядке отображения диспетчера загрузки Windows. В следующем примере показано, как поместить указанный загрузчик Windows в начало порядка отображения.
Bcdedit /set {bootmgr} displayorder {<GUID>} /addfirst
В предыдущем примере <GUID>
— это идентификатор указанного объекта загрузчика Windows. В следующем разделе этот идентификатор рассматривается более подробно.
Примечание
Многозагрузочная система с несколькими установленными операционными системами имеет несколько экземпляров загрузчика Windows. Каждый экземпляр загрузчика Windows имеет собственный идентификатор. Вы можете задать загрузчик Windows по умолчанию ({default}
) для любого из этих идентификаторов.
Параметры загрузчика Windows
Хранилище BCD содержит по крайней мере один экземпляр и при необходимости несколько экземпляров загрузчика Windows. Каждый экземпляр представляет отдельный объект BCD. Каждый экземпляр загружает одну из установленных версий Windows с конфигурацией, указанной элементами объекта. Каждый объект загрузчика Windows имеет собственный идентификатор, а параметры и path
объекта device
указывают на правильный раздел и загрузочное приложение.
BCD-template
Для Windows имеет один объект загрузчика Windows со следующими параметрами.
## Windows Boot Loader
identifier {9f25ee7a-e7b7-11db-94b5-f7e662935912}
device partition=C:
path \Windows\system32\winload.efi
description Microsoft Windows Server
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
Идентификатор этого загрузчика Windows — {9f25ee7a-e7b7-11db-94b5-f7e662935912}
. Этот GUID можно использовать в системе или позволить средству BCDEdit создать новый GUID.
Чтобы упростить команды BCDEdit, можно указать один из загрузчиков Windows в системном хранилище BCD в качестве загрузчика по умолчанию. Затем можно использовать стандартный идентификатор ({default}
) вместо полного GUID. В следующем примере загрузчик Windows для EFI указывается в качестве загрузчика по умолчанию, предполагая, что он использует идентификатор GUID из BCD-template.
Bcdedit /default {9f25ee7a-e7b7-11db-94b5-f7e662935912}
Параметры устройства и OSDevice
Ключевые расположения определяются следующими элементами:
- Элемент
device
задает раздел, содержащий загрузочное приложение. - Элемент
osdevice
задает секцию, содержащую системный корень.
Для загрузчика Windows для EFI оба элемента обычно имеют букву диска системного раздела Windows. Однако, если BitLocker включен или на компьютере установлено несколько установленных версий Windows, osdevice
и device
для него могут быть заданы разные разделы. BcD-template задает для обоих элементов диск C, что является типичным значением. Можно также явно задать osdevice
значения и device
, как показано в следующем примере. В примере также предполагается, что вы указали загрузчик Windows для EFI в качестве объекта загрузчика по умолчанию.
Bcdedit /set {default} device partition=c:
Bcdedit /set {default} osdevice partition=c:
Параметр пути
Элемент path
загрузчика Windows указывает расположение загрузчика на этом томе. Для систем path
UEFI указывает загрузчик Windows для EFI, путь к которому — \Windows\System32\Winload.efi
.
Вы можете убедиться, что BCD-template имеет правильное path
значение, перечислив значения в хранилище. Можно также явно задать path
значение, как показано в следующем примере.
Bcdedit /set {default} path \windows\system32\winload.efi
Параметры тестера памяти Windows
Тестер памяти Windows ({memdiag}
) выполняет диагностика памяти во время загрузки. Параметры BCD для элементов приложения device
и path
указывают правильное приложение.
Примечание
Компьютеры Intel Itanium не включают тестер памяти Windows и не требуют {memdiag}
настройки.
BcD-template для Windows имеет следующие параметры.
## Windows Memory Tester
identifier {memdiag}
device partition=\Device\HarddiskVolume1
path \boot\memtest.exe
description Windows Memory Diagnostic
Параметр устройства
Для систем device
UEFI элементу для тестера памяти Windows присваивается буква диска системного раздела. В следующем примере предполагается, что системным разделом является диск S, как показано в предыдущих примерах.
Bcdedit /set {bootmgr} device partition=s: // system partition
Параметр пути
Элемент path
указывает расположение Диспетчера тестов Windows на томе, указанном элементом device
. Для систем path
UEFI указывает версию EFI приложения (\EFI\Microsoft\Boot\Memtest.efi
).
Вы можете убедиться, что BCD-template имеет правильное path
значение, перечислив значения в хранилище. Вы также можете использовать средство BCDEdit для явного path
задания значения, как показано в следующем примере.
Bcdedit /set {memdiag} path \efi\microsoft\boot\memtest.efi