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

En un escenario de implementación normal no es necesario modificar el almacén BCD. En este tema nos centraremos en las distintas opciones de configuración de BCD del almacén BCD que se pueden modificar. En los sistemas UEFI, esto engloba las opciones de configuración de las siguientes aplicaciones de arranque:

  1. Administración de arranque de Windows

  2. Cargador de arranque de Windows

  3. Comprobador de memoria de Windows

En las siguientes secciones se describen detalladamente las opciones de configuración disponibles para cada una de estas aplicaciones de arranque y, asimismo, se indica cómo modificar cada una de estas aplicaciones para su uso en sistemas UEFI.

En aras de una mayor sencillez, los ejemplos de BCDEdit recogidos en esta sección modifican el almacén del sistema BCD pero, si quieres modificar otro almacén (como una copia de BCD-template), indica el nombre del almacén en cuestión en la línea de comandos.

Configuración de Administración de arranque de Windows para UEFI

La Administración de arranque de Windows ({bootmgr}) administra el proceso de arranque. Los sistemas basados en UEFI cuentan con una administración de arranque de firmware (Bootmgfw.efi) que carga una aplicación EFI basada en las variables almacenadas en NVRAM.

La configuración de BCD para los elementos device y path en la Administración de arranque de Windows indican la administración de arranque de firmware. Esta plantilla, denominada BCD-template en Windows, incluye las siguientes opciones de configuración relativas a la Administración de arranque de Windows.

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

Opción Device

El elemento device especifica el volumen que contiene la Administración de arranque de Windows. En los sistemas UEFI, el elemento device de la Administración de arranque de Windows está establecido en la letra de volumen de partición del sistema. Para saber cuál es la letra de volumen correcta, usa la herramienta Diskpart para ver las particiones de disco. En el siguiente ejemplo se da por hecho que el sistema tiene una sola unidad de disco duro con varias particiones, entre las que se incluye una partición con la letra de unidad S.

Con los siguientes comandos de Diskpart se selecciona el disco 0 y, luego, se enumeran los detalles de los volúmenes de dicho disco, incluidas las letras de unidad. El volumen 2 aparece reflejado como la 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 asignada una letra de unidad, asígnale una con el comando Diskpart assign. En el siguiente ejemplo se da por hecho que la partición del sistema es el volumen 2 y que tiene asignada la letra S como letra de unidad.

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

Tras determinar cuál es el volumen de partición del sistema, establece el elemento device de la Administración de arranque de Windows en la letra de unidad correspondiente. En el ejemplo siguiente device se establece en la unidad S.

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

Opción Path

El elemento path especifica la ubicación de la aplicación Administración de arranque de Windows en dicho volumen. En los sistemas UEFI, path señala a la administración de arranque de firmware, cuya ruta de acceso es \EFI\Microsoft\Boot\Bootmgfw.efi.

Puedes enumerar los valores en el almacén para confirmar que BCD-template contiene la ruta de acceso correcta, según de indica a continuación:

bcdedit /store bcd-template /enum all

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

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

Otras opciones de configuración

La Administración de arranque de Windows se debe establecer como el primer elemento en el orden de visualización del firmware UEFI, tal y como se aprecia en el siguiente ejemplo.

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

Asimismo, conviene especificar también el cargador de arranque de Windows del nivel superior en el orden de visualización de la Administración de arranque de Windows. En el siguiente ejemplo se muestra cómo colocar un cargador de arranque de Windows concreto en lo más alto del orden de visualización.

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

En el ejemplo anterior, <GUID> es el identificador del objeto de cargador de arranque de Windows en cuestión. En la siguiente sección trataremos este identificador en mayor profundidad.

Nota  

Un sistema de arranque múltiple con varios sistemas operativos instalados tiene diversas instancias del cargador de arranque de Windows. Cada una de estas instancias de cargador de arranque de Windows posee su propio identificador. Puedes establecer el cargador de arranque de Windows predeterminado ({default}) en cualquiera de estos identificadores.

 

Configuración del cargador de arranque de Windows

Un almacén BCD tiene una instancia como mínimo (y, opcionalmente, varias) del cargador de arranque de Windows. Cada instancia se representa mediante un objeto de BCD independiente. Cada instancia, a su vez, carga una de las versiones instaladas de Windows que tenga una configuración especificada mediante los elementos del objeto. Cada objeto del cargador de arranque de Windows tiene su propio identificador y las opciones de configuración device y path del objeto indican la partición y aplicación de arranque correctas.

BCD-template para Windows tiene un único objeto de cargador de arranque de Windows que presenta 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}. Puedes usar este GUID en tu sistema o dejar que la herramienta BCDEdit genere uno nuevo de forma automática.

Para simplificar los comandos BCDEdit, puedes especificar uno de los cargadores de arranque de Windows del almacén del sistema BCD como cargador predeterminado. A continuación, puedes hacer uso del identificador estándar ({default}) en lugar del GUID completo. En el siguiente ejemplo se especifica el cargador de arranque de Windows de EFI como cargador predeterminado, siempre y cuando este use el GUID de identificador de BCD-template.

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

Opciones Device y OSDevice

Los siguientes elementos señalan las ubicaciones clave:

El elemento device especifica la partición que contiene la aplicación de arranque.

El elemento osdevice especifica la partición que contiene la raíz del sistema.

En el cargador de arranque de Windows de EFI, ambos elementos se suelen establecer en la letra de unidad de la partición del sistema de Windows. Sin embargo, si BitLocker está habilitado o un equipo tiene instaladas varias versiones de Windows, osdevice y device también se pueden establecer en particiones diferentes. BCD-template establece ambos elementos en la unidad C, que es el valor más común. También puedes establecer explícitamente los valores osdevice y device, tal como se muestra en el siguiente ejemplo. En este ejemplo se da por hecho también que especificaste el cargador de arranque de Windows de EFI como el objeto de cargador de arranque predeterminado.

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

Opción Path

El elemento path de un cargador de arranque de Windows especifica la ubicación del cargador de arranque en dicho volumen. En los sistemas UEFI, path señala al cargador de arranque de Windows de EFI, cuya ruta de acceso es \Windows\System32\Winload.efi.

Puedes enumerar los valores en el almacén para confirmar que BCD-template contiene el valor de path correcto. También puedes establecer explícitamente el valor path, tal como se muestra en el siguiente ejemplo.

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

Configuración del comprobador de memoria de Windows

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

Nota  

Nota: los equipos con Intel Itanium carecen de un comprobador de memoria de Windows y, por tanto, no necesitan una configuración {memdiag}.

 

BCD-template para Windows tiene la siguiente configuración.

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

Opción Device

En los sistemas UEFI, el elemento device del comprobador de memoria de Windows está establecido en la letra de unidad de partición del sistema. En el siguiente ejemplo se da por hecho que la partición del sistema es la unidad S, tal y como hemos venido usando en ejemplos anteriores.

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

Opción Path

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

Puedes enumerar los valores en el almacén para confirmar que BCD-template contiene el valor de path correcto. El valor de path también se puede definir explícitamente mediante la herramienta BCDEdit, como se refleja en el siguiente ejemplo.

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

 

 

Mostrar: