Cómo realizar las tareas más habituales en el arranque del equipo usando Bcdedit.exe

Como creo que aún hay bastante gente que le tiene respeto a la utilidad Bcdedit.exe, la cual sirve para editar la lista de arranque de sistemas operativos Windows Vista y posteriores, en este artículo voy a dejar de la manera más clara posible y a modo de referencia qué comandos hay que usar para conseguir realizar las tareas más populares.

En este punto se supone que ha abierto una consola de comandos con privilegios administrativos. Para conseguir esto hay que hacer clic sobre el botón Inicio, Todos los programas, seleccionar Símbolo del sistema con el botón derecho del ratón y hacer clic sobre Ejecutar como administrador.

Nota: Es imprescindible que antes de manipular el almacén BCD del equipo se haga una copia de seguridad del mismo. Para ello, desde la consola de comandos con privilegios administrativos teclee este comando:

bcdedit /export <NombreFichero>

(donde <NombreFichero> es el nombre que le quiera dar a la copia de seguridad).

Eliminar una entrada del inicio

Imaginemos que hemos eliminado físicamente un sistema operativo del equipo, pero aún tenemos su entrada correspondiente en el menú de arranque. Para eliminarla, mi consejo es ver si la herramienta gráfica Msconfig nos permite hacer esto. Abra Inicio, escriba msconfig en la caja de texto y pulse INTRO. Cuando se abra la herramienta, haga clic sobre la pestaña Arranque y observe si aparece la entrada que quiere eliminar.

Nota: Si Msconfig no lista la entrada que quiere eliminar, esto se debe a que Msconfig solo muestra los objetos del almacén BCD cuyo tipo es “Cargador de arranque de Windows”. Puede ver el tipo de cada entrada del almacén tecleando este comando:

bcdedit /enum

En tal caso, tendrá que recurrir a la eliminación “manual”, usando Bcdedit.exe, explicada más adelante.

Pese a que aparezca la entrada que quiere eliminar, es posible que el botón Eliminar esté desactivado (en gris). Este botón se desactiva cuando la entrada que quiere eliminar es el sistema operativo que está iniciado en ese momento. Técnicamente Bcdedit identifica esta entrada con el identificador {current}. Este es un extracto de la salida del comando bcdedit /enum, donde se ve claramente cuál es la entrada identificada como {current}:

Cargador de arranque de Windows
-----------------------------
Identificador           {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  es-ES

Si la entrada tiene simultáneamente las propiedades de ser el sistema operativo iniciado en ese momento y además ser el sistema operativo por defecto (identificador {default}), su identificador será {current}.

Como se ha comentado anteriormente, la herramienta Msconfig es posible que no nos muestre la entrada que queremos quitar. El escenario más común es tener instalado simultánemente un sistema operativo anterior a Windows Vista/7. La entrada de estos objetos en el almacén BCD tiene un tipo distinto de “Cargador de arranque de Windows”, concretamente tienen tipo “Cargador del SO Windows heredado” (pésima traducción, por otra parte).

En estos casos no queda más remedio que remangarse las manos y usar Bcdedit.exe, de la siguiente manera:

Para eliminar la entrada “Versión anterior de Windows”

bcdedit /delete {ntldr} /f

(El modificador /f hay que usarlo siempre que se use un GUID conocido, como {ntldr} y similares. Esto se explicará en detalle más adelante).

Para eliminar cualquier otra entrada

En este caso tenemos que enumerar en primer lugar todos los objetos que forman parte del almacén BCD:

bcdedit /enum

Nos fijamos en el atributo Descripción, que es el texto que muestra el menú de arranque, para identificar la entrada que queremos eliminar. A partir de ahí, anotamos el valor correspondiente a su atributo Identificador. Por ejemplo, si el atributo Identificador contuviera lo siguiente: {afb0516d-f5bd-11dd-8879-98b0f6447174}, para eliminarla del arranque bastaría con ejecutar el siguiente comando:

bcdedit /delete {afb0516d-f5bd-11dd-8879-98b0f6447174}

(Nótese que aquí no es necesario el modificador /f).

Hay gente que utiliza adicionalmente el modificador /cleanup, y el comando quedaría tal que así:

bcdedit /delete {afb0516d-f5bd-11dd-8879-98b0f6447174} /cleanup

Es importante hacer notar que ambos comandos hacen lo mismo, el modificador /cleanup está implícito.

Cambiar el sistema que inicia por defecto

Como sabe, en un entorno con múltiples sistemas operativos instalados, si el usuario no elige ninguno durante un tiempo definido, se inicia uno por defecto. Para cambiar el sistema operativo por defecto, podemos usar Msconfig. Seleccionamos el sistema operativo en cuestión y pulsamos sobre Establecer como predeterminado.

Cambiar el texto de la entrada del menú de inicio

Cambiar el texto descriptivo de un sistema operativo en el almacén BCD es una tarea común, especialmente para la gente que instale varias ediciones de un mismo sistema operativo (por defecto tendrán todas el mismo nombre en el menú).

Para conseguir esto, hay que averiguar el identificador del objeto con el que queremos trabajar, y para ello hay que seguir los mismos pasos del subapartado “Para eliminar cualquier otra entrada”, pero en último lugar hay que ejecutar este otro comando:

bcdedit /set {GUID} /description “Mi nueva descripcion del SO”

(donde {GUID} es el identificador obtenido en el paso anterior; siguiendo con el ejemplo anterior sería {afb0516d-f5bd-11dd-8879-98b0f6447174}).

Cambiar el orden de la lista de sistemas operativos

Para realizar este paso tenemos que recurrir a Bcdedit.exe.

En primer lugar nuevamente hay que averiguar el identificador de los objetos que queremos posicionar en la lista. Una vez obtenidos, podemos ejecutar este comando:

bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} {cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}

Este comando posicionaría en la lista (en este orden), los sistemas cuyos identificadores son {802d5e32-0784-11da-bd33-000476eba25f}, {cbd971bf-b7b8-4885-951a-fa03044f5d71} y {ntldr}, que representaría un sistema Windows XP, por ejemplo.

También podemos añadir sistemas al principio o al final. Por ejemplo, para añadir el sistema cuyo identificador sea {802d5e32-0784-11da-bd33-000476eba25f} al final de la lista, bastaría con ejecutar:

bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast

Y para colocarlo al principio:

bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addfirst

Este artículo ha explicado cómo realizar las tareas no reparativas más comunes con el arranque de los sistemas operativos Vista y 7, usando la herramienta gráfica Msconfig.exe, y la de línea de comandos Bcdedit.exe, ambas incluidas con el sistema operativo.

Ciertamente existen multitud de utilidades de terceras personas que editan de manera gráfica el almacén BCD del equipo; quizá la más popular sea EasyBCD (http://neosmart.net/dl.php?id=1). En cualquier caso, use la herramienta que use, es altamente importante que haya hecho una copia de seguridad del arranque en caso de algo vaya mal.

Si cree que faltara alguna acción en el arranque que sea bastante común, o tuviera algún problema con las herramientas Bcdedit.exe o Msconfig.exe, puede dejar un comentario.

One thought on “Cómo realizar las tareas más habituales en el arranque del equipo usando Bcdedit.exe

  1. gracias por la la informacion , me ayudo a resolver mi problema,el cual era que tenia dos discos duros con windows 7 instalado uno en cada disco, un dia tube que eliminar uno de los discos duros, pero en el arranque me seguia saliendo los dos sistemas operativos,estube tocando unas cosillas en windows y despues ya no me salia en el arranque para seleccionar el sistema operativo,arrancaba directamente el sistema que no tenia instalado y por consiguiente daba error y no me dejaba entrar al pc. puse en cd de windows 7 para arrancar con el y asi poder ejecutar el simbolo del sistema en el cual puse este comando bcdedit /delete {defaut}, como veis es “defaut” lo que ami me salia ,no me salia ninguna referencia del disco ,,porque no existia , y asi elimine esa entrada, ahora arranca directamente el windows que me interesaba

Leave a Reply

Your email address will not be published. Required fields are marked *