Поделиться через


Параметры хранилища системы 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