Configuración del almacén del sistema BCD para UEFI

Para un escenario de implementación típico, no es necesario modificar el almacén BCD. En este tema se describen las distintas configuraciones de BCD en el almacén de BCD que puede modificar. En los sistemas UEFI, esto incluye la configuración de las siguientes aplicaciones de arranque:

En las secciones siguientes se describen la configuración disponible para cada una de estas aplicaciones de arranque en detalle y cómo modificar cada aplicación para sistemas UEFI.

Para simplificar, los ejemplos bcDEdit de esta sección modifican el almacén del sistema BCD. Para modificar otro almacén, como una copia de la plantilla BCD, incluya el nombre del almacén en la línea de comandos.

Configuración del Administrador de arranque de Windows para UEFI

El Administrador de arranque de Windows ({bootmgr}) administra el proceso de arranque. Los sistemas basados en UEFI contienen un administrador de arranque de firmware, Bootmgfw.efi, que carga una aplicación EFI basada en variables almacenadas en NVRAM.

La configuración de BCD para los elementos y path en el device Administrador de arranque de Windows indica el administrador de arranque del firmware. La plantilla denominada BCD-template para Windows incluye la siguiente configuración para el Administrador de arranque de Windows.

## Windows Boot Manager

identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager

Configuración del dispositivo

El device elemento especifica el volumen que contiene el Administrador de arranque de Windows. En el caso de los sistemas UEFI, el device elemento para el Administrador de arranque de Windows se establece en la letra de volumen de partición del sistema. Para determinar la letra de volumen correcta, use la herramienta Diskpart para ver las particiones de disco. En el ejemplo siguiente se supone que el sistema tiene una sola unidad de disco duro que tiene varias particiones, incluida una partición del sistema a la que se le ha asignado una letra de unidad de S.

Los siguientes comandos de Diskpart seleccionan el disco 0 y, a continuación, enumeran los detalles de los volúmenes de ese disco, incluidas sus letras de unidad. Muestra el volumen 2 como partición del sistema.

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

Si la partición del sistema no tiene una letra de unidad asignada, asigne una mediante el Diskpart assign comando . En el ejemplo siguiente se supone que la partición del sistema es el volumen 2 y la asigna como letra de unidad.

Diskpart
select disk 0
list volume
select volume 2   // assuming volume 2 is the system partition
assign letter=s

Después de determinar el volumen de partición del sistema, establezca el elemento para el device Administrador de arranque de Windows en la letra de unidad correspondiente. En el ejemplo siguiente se establece device la unidad S.

Bcdedit /set {bootmgr} device partition=s:// system partition

Sugerencia

Si anteriormente ha usado Diskpart para obtener letras de unidad y, a continuación, reinicia el equipo, use Diskpart para volver a comprobar las letras de unidad antes de ejecutar este comando. En función de su entorno, las letras de unidad podrían cambiar para asegurarse de que está estableciendo la partición correcta.

Configuración de ruta de acceso

El path elemento especifica la ubicación de la aplicación Administrador de arranque de Windows en ese volumen. En el caso de los sistemas UEFI, path indica el administrador de arranque de firmware, cuya ruta de acceso es \EFI\Microsoft\Boot\Bootmgfw.efi.

Puede confirmar que BCD-template tiene la ruta de acceso correcta mediante la enumeración de los valores en el almacén, como se indica a continuación:

bcdedit /store bcd-template /enum all

Para establecer path explícitamente en \EFI\Microsoft\Boot\Bootmgfw.efi, use el siguiente comando.

Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi

Otras configuraciones

Debes establecer el Administrador de arranque de Windows para que sea el primer elemento en el orden de presentación del firmware UEFI, como se muestra en el ejemplo siguiente.

Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

También debe especificar la aplicación del cargador de arranque de Windows más arriba en el orden de visualización del Administrador de arranque de Windows. En el ejemplo siguiente se muestra cómo colocar un cargador de arranque de Windows especificado en la parte superior del orden de presentación.

Bcdedit /set {bootmgr} displayorder {<GUID>} /addfirst

En el ejemplo anterior, <GUID> es el identificador del objeto de cargador de arranque de Windows especificado. En la sección siguiente se describe este identificador con más detalle.

Nota

Un sistema de arranque múltiple que tiene varios sistemas operativos instalados tiene varias instancias del cargador de arranque de Windows. Cada instancia del cargador de arranque de Windows tiene su propio identificador. Puede establecer el cargador de arranque de Windows predeterminado () en{default} cualquiera de estos identificadores.

Configuración del cargador de arranque de Windows

Un almacén BCD tiene al menos una instancia y, opcionalmente, varias instancias del cargador de arranque de Windows. Un objeto BCD independiente representa cada instancia. Cada instancia carga una de las versiones instaladas de Windows que tiene una configuración que han especificado los elementos del objeto. Cada objeto de cargador de arranque de Windows tiene su propio identificador, y la configuración y path del device objeto indican la partición correcta y la aplicación de arranque.

BCD-template para Windows tiene un único objeto de cargador de arranque de Windows que tiene la siguiente configuración.

## 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

El identificador de este cargador de arranque de Windows es {9f25ee7a-e7b7-11db-94b5-f7e662935912}. Puede usar este GUID en el sistema o permitir que la herramienta BCDEdit genere un nuevo GUID automáticamente.

Para simplificar los comandos BCDEdit, puede especificar uno de los cargadores de arranque de Windows en el almacén del sistema BCD como cargador predeterminado. A continuación, puede usar el identificador estándar ({default}) en lugar del GUID completo. En el ejemplo siguiente se especifica el cargador de arranque de Windows para EFI como cargador de arranque predeterminado, suponiendo que usa el GUID de identificador de la plantilla BCD.

Bcdedit /default {9f25ee7a-e7b7-11db-94b5-f7e662935912}

Configuración del dispositivo y OSDispositivo

Los siguientes elementos especifican ubicaciones clave:

  • El device elemento especifica la partición que contiene la aplicación de arranque.
  • El osdevice elemento especifica la partición que contiene la raíz del sistema.

Para el cargador de arranque de Windows para EFI, ambos elementos normalmente se establecen en la letra de unidad de la partición del sistema de Windows. Sin embargo, si BitLocker está habilitado o un equipo tiene varias versiones instaladas de Windows y osdevicedevice puede establecerse en diferentes particiones. BcD-template establece ambos elementos para controlar C, que es el valor típico. También puede establecer explícitamente los osdevice valores y device , como se muestra en el ejemplo siguiente. En el ejemplo también se supone que ha especificado el cargador de arranque de Windows para EFI como el objeto de cargador de arranque predeterminado.

Bcdedit /set {default} device partition=c:
Bcdedit /set {default} osdevice partition=c:

Configuración de ruta de acceso

El path elemento de un cargador de arranque de Windows especifica la ubicación del cargador de arranque en ese volumen. En el caso de los sistemas UEFI, path indica el cargador de arranque de Windows para EFI, cuya ruta de acceso es \Windows\System32\Winload.efi.

Puede confirmar que BCD-template tiene el valor correcto path mediante la enumeración de los valores del almacén. También puede establecer explícitamente el path valor, como se muestra en el ejemplo siguiente.

Bcdedit /set {default} path \windows\system32\winload.efi

Configuración del evaluador de memoria de Windows

El evaluador de memoria de Windows ({memdiag}) ejecuta diagnósticos de memoria en tiempo de arranque. La configuración de BCD para los elementos y path de device la aplicación indican la aplicación correcta.

Nota

Los equipos Intel Itanium no incluyen un evaluador de memoria de Windows y no requieren {memdiag} configuración.

La plantilla BCD para Windows tiene la siguiente configuración.

## Windows Memory Tester

identifier              {memdiag}
device                  partition=\Device\HarddiskVolume1
path                    \boot\memtest.exe
description             Windows Memory Diagnostic

Configuración del dispositivo

En el caso de los sistemas UEFI, el device elemento para el evaluador de memoria de Windows se establece en la letra de unidad de partición del sistema. En el ejemplo siguiente se supone que la partición del sistema es la unidad S, como se usó en ejemplos anteriores.

Bcdedit /set {bootmgr} device partition=s:  // system partition

Configuración de ruta de acceso

El path elemento especifica la ubicación del Administrador de pruebas de Windows en el volumen especificado por el device elemento. En el caso de los sistemas UEFI, path indica la versión EFI de la aplicación (\EFI\Microsoft\Boot\Memtest.efi).

Puede confirmar que BCD-template tiene el valor correcto path mediante la enumeración de los valores del almacén. También puede usar la herramienta BCDEdit para establecer explícitamente el path valor, como se muestra en el ejemplo siguiente.

Bcdedit /set {memdiag} path \efi\microsoft\boot\memtest.efi