2012-08-12 18:06:22 +0000 2012-08-12 18:06:22 +0000
123
123

¿Cómo puedo reparar el cargador de arranque EFI de Windows 8?

Instalé Windows 7 y Windows 8 en modo EFI en un disco duro hace unos días. Hoy, el cargador de arranque ha desaparecido o se ha corrompido.

Actualmente tengo el instalador de Windows 8 en una unidad flash y he intentado usar la opción de reparación automática para reparar el cargador de arranque, pero no ha hecho nada. También falta la opción Reparación de inicio en el instalador de Windows 8.

¿Cómo puedo reparar/recrear el cargador de arranque EFI desde el Símbolo del sistema?

BCDEDIT devuelve el siguiente mensaje:

The requested system device cannot be found.

Respuestas (10)

182
182
182
2012-11-12 00:27:03 +0000

He pasado mucho tiempo intentando que mi PC con Windows 8 se inicie de nuevo después de clonarlo en un nuevo SSD e intento resumir cómo conseguí finalmente que todo funcionara -

En primer lugar, arrancar desde un disco de recuperación UEFI de Windows 8 (CD/DVD/USB) - me di cuenta de que el proceso de recuperación automatizado no encontró la partición correcta de Windows, ni cuando conseguí añadirlo a la configuración del BCD lo hizo de forma fiable de arranque e. g. usando BCDEDIT conseguí que encontrara e iniciara la partición de Windows pero se negó a arrancar en frío o no “mantenía” la configuración después de un segundo reinicio o apagado.

Ve a las opciones avanzadas y ejecuta el símbolo del sistema.

Introduzca diskpart para usar la herramienta DiskPart para asegurarse de que tiene todas las particiones correctas e identificar su partición EFI - lo importante aquí es que su partición EFI esté formateada como FAT32:

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ### Ltr Label Fs Type Size Status Info
  ---------- --- ----------- ----- ---------- ------- --------- --------
  Volume 0 E DVD-ROM 0 B No Media
  Volume 1 C NTFS Partition 195 GB Healthy Boot
  Volume 2 WINRE NTFS Partition 400 MB Healthy Hidden
  Volume 3 FAT32 Partition 260 MB Healthy System

Luego asigne una letra de unidad a la partición EFI:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Salga de la herramienta DiskPart introduciendo exit y en el símbolo del sistema ejecute lo siguiente:

cd /d b:\EFI\Microsoft\Boot\

bootrec /fixboot

Borre o renombre el archivo BCD:

ren BCD BCD.bak

Usar bcdboot.exe para recrear el almacén de BCD:

bcdboot c:\Windows /l en-gb /s b: /f ALL

El parámetro /f ALL actualiza la configuración de la BIOS incluyendo el firmware UEFI/NVRAM, /l en-gb es para localizar para la localización UK/GB. La localización por defecto es el inglés de EE.UU., o usar en-US.

Reinicia y cruza los dedos.

Esto me dio dolores de cabeza. Estuve dando vueltas en círculos durante mucho tiempo. No hay mucha información fiable sobre cómo arreglar UEFI/Windows 8 en el momento de escribir este artículo.

[EDITAR]

Para volver a activar Hyper-V, también tuve que ejecutar lo siguiente desde un símbolo de comando de administrador en Windows después de reiniciar:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn
22
22
22
2012-12-12 06:01:57 +0000

Las otras respuestas son útiles pero esto es lo que tuve que hacer para arreglar la mía.

Tenía un disco duro de 1.5 TB con Windows 7 instalado. Luego instalé Windows 8 en un SSD de 150 GB que compré. El disco duro de 1.5 TB falló y pude oírlo haciendo un ruido, mi ordenador ya no se iniciaba, diciendo “por favor, inserte el disco del sistema”. Pensé que faltaba el cargador de arranque, ya que debía estar en el disco de 1,5 TB. Resulta que sí, pero el problema entonces era que las guías que seguía no reconstruían el cargador de arranque o como se llame, ya que no tenía una partición EFI en el disco más pequeño de 150 GB (puede que existiera en el disco que falló), sólo tenía una partición que llenaba todo el disco.

No quería perder todos mis datos, así que entré en el Símbolo del sistema arrancando desde mi unidad USB de instalación de Windows 8 (tenga en cuenta que no puede arrancar la versión UEFI de ésta si aparece, seleccione arrancar sólo desde la unidad USB sin que la UEFI aparezca antes).

Una vez en el Símbolo del sistema (vea las otras respuestas para obtener instrucciones) necesita encoger la partición. Para hacerlo, introduzca los siguientes comandos, presionando Enter después de cada uno:

diskpart

list disk

select disk 0

list partition

select partition 1

shrink desired=200 minimum=200

create partition efi

list partition

select partition 2

format fs=fat32

Estos comandos crearán la partición EFI. Verifique todo escribiendo list vol. Debería ver una partición de 200 MB. Ahora necesitas asignarle una letra. Hazlo escribiendo assign, y luego list vol de nuevo para ver qué letra ha sido asignada.

Ahora que esto está hecho necesitas copiar los archivos de arranque a esta partición recién creada:

bcdboot C:\Windows /l en-gb /s B: /f ALL

Nota: debes reemplazar C: con la letra del disco de la partición que contiene Windows, y B: con la letra asignada a la partición EFI que acabas de crear.

También introduje los siguientes comandos:

bootrec /fix

bootrec /fixmbr

Estos dos volvieron con éxito, ni idea de si realmente hicieron algo, pero a quién le importa. Windows está ahora totalmente recuperado.

9
9
9
2012-11-28 03:14:27 +0000

Bien, he tenido tiempo de hacer un buen resumen aquí. Es largo, pero es bastante completo y debería ayudarte a ver lo que está pasando.

Primero, una forma en que esto puede suceder:

  1. Tu BIOS pierde su configuración.
  2. No hay problema, todo eso está almacenado en la partición EFI.
  3. …excepto por la configuración SATA IDE vs AHCI, por razones obvias.
  4. ¿Estabas usando SATA-AHCI? Probablemente estés usando SATA-IDE ahora.
  5. ¿Intentaste arrancar antes de darte cuenta?
  6. Si lo hiciste, falló. ¿Dejaste que Windows intentara arreglarlo?
  7. Si lo hiciste, BLAM, puede muy bien haber destruido la base de datos de configuración de arranque.
  8. Asegúrate de que estás usando la configuración SATA correcta que estabas usando la última vez.

Esto es lo que probablemente ya has hecho. SI ALGUNO DE ESTO NO CONVIENE, EVALUAR CUIDADOSAMENTE SI ESTO ES DE HECHO TU PROBLEMA, y LEA esto para tener ideas pero no lo SIGA sin pensar primero.

  1. Has ignorado TOTALMENTE toda la basura de arreglar el Master Boot Record (MBR), la tabla de partición, las banderas de partición y otra basura que NO SE APLICA a un escenario de arranque EFI. TODO. En el mejor de los casos, serías capaz de reconstruir completamente una nueva, sin relación, solución de arranque NON-EFI. Eso podría no ser trivial, sin embargo, porque:
  2. Has descubierto que Windows está seguro de que no tiene una base de datos de configuración de arranque, pero es, desafortunadamente, o bien completamente despistado o MUY seguro sobre dónde va… no puedes decir cuál.
  3. Eres consciente de que la tienda de arranque es normalmente (somewhere)\Boot\BCD y que el archivo es HIDDEN; visualízalo usando dir /a:hs.
  4. Te has familiarizado un poco con BCDedit.exe y has descubierto que te permitirá “simular” una base de datos de configuración de arranque en un archivo de preparación usando /CreateStore (y por favor no le pongas el nombre de “BCD”), que puedes usar explícitamente el archivo de preparación con la opción /Store, que puedes añadir una entrada de menú para el Administrador de arranque de Windows usando /Create {bootmgr}, y que DEBERÍAS ser capaz de importarlo usando /Import
  5. …pero cuando intentas hacer esto, no puedes. Buscas la opción /SysStore, que suena bien, pero no puedes hacer que use otra tienda porque es “ambigua”. Tienes la corazonada de que sabe dónde está el almacén, o debería estar, pero no puedes encontrarlo.
  6. Has intentado usar MountVol para montar la partición EFI, pero ni siquiera aparece en la lista, así que no puedes.

Si TODO eso se aplica bastante bien a ti, esto es lo que PUEDE estar pasando:

  1. Windows puede decir que estás configurado para EFI (has arrancado el DVD a través de un arranque UEFI, tienes una partición EFI, etc.)
  2. Por lo tanto, sabe DÓNDE BUSCAR el archivo BCD - sin embargo, o bien tiene la ubicación incorrecta de alguna manera (no este problema, pero similar) o el BCD ha sido borrado.
  3. Aparentemente, porque sabe dónde debería estar, esto rompe /SysStore– y en realidad, ese es probablemente el comportamiento correcto, porque de otra manera lo pondrías en el lugar equivocado.
  4. Hasta donde puedo decir, MountVol esconde deliberadamente la partición EFI (o es de alguna manera incapaz de notarlo). Esto impide montar el sistema de archivos, lo que impide encontrar el subdirectorio correcto, verificar que la base de datos existe, etc.

Así que aquí, finalmente, es lo que necesitas hacer al respecto. La buena noticia es que probablemente sea mucho más simple de lo que esperas por ahora.

  1. En realidad, tengo una corazonada que no es estrictamente correcta– sospecho fuertemente que la partición EFI está ya montada por algún subsistema interno, por lo que BCDedit se pone de mal humor– no ve la base de datos, pero sabe dónde debería ir. Lo que no tiene, sin embargo, es una letra de unidad. Entonces… ¿qué hacer?

Bueno… ¿hasta dónde llegan sus raíces en el DOS? ¿Recuerda el comando Assign? Adivina qué. 2. Comience con DiskPart. 3. Si no estás familiarizado con DiskPart, la forma en que funciona básicamente es una jerarquía de conjuntos; debes seleccionar exactamente un elemento en un nivel para pasar al siguiente. Entonces, List Disk, y luego Select Disk n donde n es lo que sea apropiado para ti. 4. Use List Partition y List Volume (nota no plural) para obtener alguna información e identificar su partición EFI.

Normalmente es una partición FAT32 de 100MB marcada como System. Tenga en cuenta que su disco ya debería estar usando una tabla de particiones GPT, por lo que es posible que vea bastantes particiones. Algunas de ellas son para la recuperación de emergencia… no sirven de mucho para los problemas de EFI, ¿no? Oh bien.

Note que la partición EFI, y algunas otras, no tienen letras de unidad. Si te inclinas tanto, también puedes ver los atributos de la partición GPT, que también pueden darte algunos momentos “Aha” relacionados tangencialmente. 5. Select Partition n donde n es la partición EFI. (Espero que pueda seleccionar el volumen en su lugar si lo necesita.) 6. Assign. Eso es todo. No especifiques la letra del disco; sólo Assign. 7. List Volume. Ahora debería ver una letra de unidad asignada a la partición EFI. 8. Exit DiskPart.

Y ahora… una gran advertencia. Probablemente

5
5
5
2012-08-25 20:45:34 +0000

Windows 8 aún no está en su forma final, así que es de esperar que haya problemas. Está en un área nueva para la mayoría de nosotros, donde los comandos que solíamos usar pueden no funcionar más. A los comandos listados por @soandos, agrego este que reconstruye completamente el BCD :

bootrec /rebuildbcd

Intenta también usar el menú de arranque avanzado de Windows 8 y haznos saber lo que sucede.

Si nada funciona, el artículo Reparación de Windows 7 cuando falla el arranque tiene algunos consejos sobre el uso de bcdedit para corregir errores de arranque. En cualquier caso, sería interesante ver cuál es la salida de bcdedit en tu ordenador.

[EDITAR]

Estos enlaces pueden contener algunas ideas útiles : Recuperación del cargador de arranque de Windows del DVD Problema de recuperación del gestor de arranque de Windows 7 Windows 7 no arranca de repente - Reparación del cargador de arranque de Windows 7

3
3
3
2012-11-29 01:17:10 +0000

La forma más fácil:

  • Sigue los pasos del post anterior para localizar el archivo BCD e ir a su directorio.

  • Si el archivo BCD está oculto, escribe attrib bcd -s -h -r y pulsa Intro. Esto le permitirá modificar y sobrescribir el archivo.

  • Escriba ren bcd bcd.old y presione Enter. Esto renombra el archivo BCD actual.

  • Escriba Bootrec /RebuildBCD y pulse Intro para forzar a Windows 8 a reconstruir el menú de arranque desde cero.

  • Salga del símbolo del sistema y apáguelo. Elimine el medio de recuperación de Windows y reinicie. Ya está hecho!

2
2
2
2013-02-06 11:50:32 +0000

En DISKPART sólo tenía el vol 0 o D (el DVD) y el vol 1 o C (la partición de Windows NTFS). Nada funcionó para mí hasta que hice el vol 1 ACTIVO.

Después de salir de DISKPART sólo tecleé:

bootrec /fixboot
bootrec /rebuildbcd

entonces el sistema fue reparado correctamente. No usé

bootrec /fixmbr

porque estaba usando GAG (gestor de arranque gráfico) en el MBR para el multiboot.

1
1
1
2012-12-05 14:29:49 +0000

Después de 6 horas de lucha, logré arreglar mi problema de arranque de Windows 8.

Hoy, después de un reinicio habitual, recibí el mensaje MBR not found o similar, no recuerdo más. Probé los comandos bootrec, la reparación automática de Windows (no encontraba ningún Windows instalado), un millón de otras formas y nada.

El problema fue que cuando ejecuté bootrec /rebuildbcd se normalizó, y luego cuando tuve que ingresar yes si quería guardar la configuración, recibí el mensaje, the file is not accessible because it is used by a another process.

Después de horas de quebrar la mente, finalmente lo he resuelto.

En este orden…

  • Primero, arranqué el maestro de la partición de easyup y FORMATÉ el volumen reservado del sistema que asigné como activo más tarde (en el que estaba mi carpeta de arranque). Cuando reinicié obtuve un error NTLDR missing.

  • Luego inicié en recuperación de Windows, abrí un símbolo del sistema e introdujebootrec /fixmbr, /fixboot, /scanos, /rebuildbcd(que ahora se ejecuta bien :] )

  • Salí de cmd y hice clic en reparación automática.

  • Luego, pude seleccionar Windows 8. Cuando reinicié, pude ver el logo de Windows 8.

0
0
0
2015-12-19 14:57:30 +0000

Mi escenario; no perdí la partición del sistema EFI, pero al cambiar de unidad e instalar Windows parece haber estropeado la entrada de arranque UEFI del Administrador de arranque de Windows para la primera unidad; tuve que usar la entrada UEFI que apunta directamente a la unidad para arrancar. Creo que lo arreglé corrigiendo/añadiendo el ajuste “device partition=\Device\HarddiskVolumeX” (X=2 en mi caso; mi 2ª partición es la partición del sistema EFI, mapeada a Z: con diskpart.exe):

Bcdedit /set {bootmgr} device partition=Z:

vista con: bcdedit.exe /enum firmware

-1
-1
-1
2012-08-13 00:06:38 +0000

Use:bootrec /fixmbr (actualiza el MBR, probablemente no hará nada en este caso, pero tampoco hará daño)

bootrec /fixboot para reescribir el sector de arranque de la partición del sistema.

bootrec /scanos para buscar los sistemas operativos que están en la unidad y añadirlos al cargador de arranque.

Simplemente ejecute los comandos en orden.

-4
-4
-4
2012-08-25 20:41:13 +0000

He conseguido arreglarlo usando el siguiente comando en la consola de recuperación:

bootcfg C:\Windows /l en-us