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


122

Instalé Windows 7 y Windows 8 en modo EFI en un disco duro hace unos días. Hoy, el gestor de arranque se perdió / corrompió.

Actualmente tengo el instalador de Windows 8 en una unidad flash e intenté usar la opción Reparación automática para reparar el gestor de arranque, pero no hizo nada. La opción de Reparación de inicio también falta en el instalador de Windows 8.

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

BCDEDIT devuelve el siguiente mensaje:

The requested system device cannot be found.

¿Qué hay de malo con las soluciones actuales?
soandos

@soandos Tuve el mismo problema. Ejecuté los comandos tuyos y harrymc, ¡y todo funciona bien ahora! Muchas gracias a los dos.
ComFreek

2
Como FYI, pero recientemente lanzamos una herramienta de reparación EFI automatizada para Windows 8: neosmart.net/blog/2013/…
Mahmoud Al-Qudsi

1
No esperaba que la gente tuviera tantos problemas con UEFI Windows 8 ... ¿Cómo se desvanece o se corrompe la partición del sistema? Ni siquiera está montado en Windows normalmente, por lo que la corrupción del sistema de archivos no puede serlo. Y todos los sistemas operativos actuales están lo suficientemente libres de errores como para no arruinar una instalación de Windows existente. De hecho, incluso Windows no arruina Linux en UEFI, sorpresa de sorpresas.
Milind R

Esto no se aplica si está utilizando discos dinámicos
rainabba

Respuestas:


183

He pasado mucho tiempo tratando de hacer que mi PC con Windows 8 se inicie nuevamente después de la clonación en un nuevo SSD e intente resumir cómo finalmente lo hice funcionar:

En primer lugar, inicie desde un disco de recuperación UEFI Windows 8 (CD / DVD / USB): descubrí que el proceso de recuperación automática no encontró la partición correcta de Windows, ni cuando logré agregarlo a la configuración de BCD lo haría de manera confiable arrancable por ejemplo, usando BCDEDIT lo conseguí para encontrar e iniciar la partición de Windows, pero se negó a iniciar en frío o no "mantuvo" la configuración después de un segundo reinicio o apagado.

Vaya a las Opciones avanzadas y ejecute el Símbolo del sistema.

Ingrese diskpartpara usar la herramienta DiskPart para asegurarse de tener todas las particiones correctas e identificar su partición EFI: la clave 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 ingresando exity en el símbolo del sistema ejecute lo siguiente:

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

bootrec /fixboot

Elimine o cambie el nombre del archivo BCD:

ren BCD BCD.bak

Use bcdboot.exepara recrear la tienda BCD:

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

El /f ALLparámetro actualiza la configuración del BIOS, incluido el firmware UEFI / NVRAM, /l en-gbes localizar el entorno local del Reino Unido / GB. La localización está predeterminada en inglés de EE. UU., O usa en-US.

Reinicia y cruza los dedos.

Esto me dio dolores de cabeza. Estuve dando vueltas por mucho tiempo. No hay mucha información confiable sobre cómo arreglar UEFI / Windows 8 al momento de escribir.

[EDITAR]

Para volver a habilitar Hyper-V, también tuve que ejecutar lo siguiente desde un símbolo del sistema del administrador dentro de Windows después de reiniciar:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn

1
Hizo esto desde una descarga de Windows 10 ISO. al principio no funcionó, pero luego ejecuté la reparación de inicio en el menú de la GUI y eso fue todo, gracias a Di-s. :-) Agradezco la ayuda :-)
Abbafei

esta receta me pareció la más prometedora, pero BFSVC Error: Could not open the BCD template store. STatus = [c000000f ]
acerté

22

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 escucharlo haciendo un ruido, mi computadora ya no se iniciaba, diciendo "por favor inserte el disco del sistema". Pensé que faltaba el gestor de arranque, ya que debía estar en el disco de 1,5 TB. Resulta que sí, pero el problema era que las guías que seguí no reconstruirían el gestor 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 (esto puede haber existido en el disco fallido), solo tenía 1 partición que llenaba todo el disco.

No quería perder todos mis datos, así que ingresé al símbolo del sistema arrancando desde mi unidad USB de instalación de Windows 8 (teniendo en cuenta que no puede iniciar la versión UEFI de esto si aparece, seleccione iniciar desde solo la unidad USB sin el UEFI que aparece ante él).

Una vez en el símbolo del sistema (consulte las otras respuestas para obtener instrucciones), debe reducir la partición. Para hacer esto, ingrese los siguientes comandos, presionando Enterdespué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. Vuelva a verificar todo escribiendo list vol. Debería ver una partición de 200 MB. Ahora necesita asignarle una letra. Haga esto escribiendo assign, luego list volnuevamente para ver qué letra ha sido asignada.

Ahora que está hecho, debe copiar los archivos de arranque en esta partición recién creada:

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

Nota: debe reemplazar C:con la letra de unidad de la partición que contiene Windows y B:con la letra asignada a la partición EFI que acaba de crear.

También ingresé los siguientes comandos:

bootrec /fix

bootrec /fixmbr

Ambos volvieron exitosos, ni idea si realmente hicieron algo más que a quién le importa. Windows ahora está completamente recuperado.


2
bootrec / fix no parece ser un comando válido en Windows 8, pero de lo contrario las instrucciones funcionaron y resolvieron todos mis problemas. ¡Gracias!
Ciaran Fisher

i: es mi partición EFI (primero en el disco), pero está vacía. Cuando ejecuto bcdboot c:\windows /s i: /f ALLme sale "Error BFSVC: Error al configurar el dispositivo de aplicación emement. Estado = [c00000bb]" He estado luchando esta batalla durante meses y con cada intento, sigo terminando con una unidad flash que parece contener mi arranque EFI archivos porque puedo arrancarlo, pero si lo elimino, no puedo arrancar.
rainabba

¡Muchas gracias! Esto me salvó el día. Intenté prácticamente todo y nada funcionó. El paso que me faltaba era el formateo del volumen EFI. Una vez formateado el volumen EFI. El comando de arranque bcd funcionó correctamente y tengo mi Windows 10 funcionando nuevamente.
Sahil

+1 por decirme que elija la letra de unidad de Windows en lugar de la C habitual:
ptetteh227

+1: recuerde la opinión más importante Nota: debe reemplazar C: con la letra de unidad de la partición que contiene Windows y B: con la letra asignada a la partición EFI que acaba de crear. ¡Lucho con eso a las 13 horas! Gracias hombre, me salvas las próximas 12 horas :)
Jerzy Drożdż

9

Bien, he tenido tiempo de armar un bosquejo apropiado aquí. Es largo, pero es bastante completo y debería ayudarlo a ver lo que está sucediendo.

Primero, una forma en que esto puede suceder:

  1. Su BIOS pierde su configuración.
  2. No hay problema, todo eso está almacenado en la partición EFI.
  3. ... a excepción de la configuración SATA IDE vs AHCI, por razones obvias.
  4. ¿Estaba usando SATA-AHCI? Probablemente esté utilizando SATA-IDE ahora.
  5. ¿Intentaste arrancar antes de darte cuenta?
  6. Si lo hiciste, falló. ¿Dejaste que Windows intentara arreglarlo?
  7. Si lo hizo, BLAM, bien podría haber destruido la Base de datos de configuración de arranque.
  8. Asegúrese de estar utilizando la configuración SATA correcta que estaba utilizando la última vez.

Esto es lo que probablemente has hecho por ahora. SI CUALQUIERA DE ESTO NO COINCIDE, EVALÚE CUIDADOSAMENTE SI ESTO ES HECHO SU PROBLEMA, y LEA esto para obtener ideas, pero no lo SIGA sin pensarlo primero.

  1. HOPEFULLYMENTE ignoró toda la basura sobre la fijación del Registro de inicio maestro (MBR), la tabla de particiones, los indicadores de partición y otra basura que NO SE APLICA a un escenario de inicio EFI. En absoluto . En el mejor de los casos, podría reconstruir por completo una nueva solución de arranque NO EFI no relacionada . Sin embargo, eso podría no ser trivial porque:

  2. Se ha dado cuenta de que Windows está seguro de que no tiene una Base de datos de configuración de arranque, pero desafortunadamente no tiene ni idea o está muy seguro de a dónde va; no puede saber cuál.

  3. Usted sabe que la tienda de arranque es normalmente (en algún lugar) \ Boot \ BCD y que el archivo está OCULTADO; verlo usando "dir / a: hs".

  4. Te has familiarizado un poco con BCDEDIT.EXE y descubriste que te permitirá "simular" una base de datos de configuración de arranque en un archivo provisional usando "/ CREATESTORE" (y no lo llames "BCD"), eso puede usar explícitamente el archivo de ensayo con la opción "/ STORE", que puede agregar una entrada de menú para el Administrador de arranque de Windows usando "/ CREATE {bootmgr}", y que DEBERÍA poder importarlo usando "/ IMPORT" ...

  5. ... pero cuando intentas hacer esto, no puedes. Examinas la opción / SYSSTORE, que suena bien, pero no puedes usar otra tienda porque es "ambigua". Tienes el presentimiento de que sabe dónde está la tienda, o debería estar, pero no puedes encontrarla.

  6. Intentó utilizar "MOUNTVOL" para montar la partición EFI, pero ni siquiera aparece en la lista, por lo que no puede.

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

  1. Windows puede decir que está configurado para EFI (ha arrancado el DVD a través de un arranque UEFI, tiene una partición EFI, etc.).

  2. Por lo tanto, sabe DÓNDE BUSCAR el archivo BCD; sin embargo, de alguna manera tiene la ubicación incorrecta (no este problema, pero similar) o el BCD se ha eliminado.

  3. Aparentemente, porque sabe dónde DEBE estar, esto se rompe / SYSSTORE, y en realidad, ese es probablemente un comportamiento correcto, porque de lo contrario lo pondría en el lugar equivocado.

  4. Por lo que puedo decir, MOUNTVOL oculta deliberadamente la partición EFI (o de alguna manera es incapaz de darse cuenta). Esto impide montar el sistema de archivos, lo que impide encontrar el subdirectorio correcto, verificar que la base de datos existe, etc.

Entonces, aquí, finalmente, es lo que debes hacer al respecto. La buena noticia es que probablemente ahora sea mucho más simple de lo que espera.

  1. De hecho, debe montar la partición EFI.

En realidad, tengo el presentimiento de que no es estrictamente correcto: sospecho que la partición EFI ya está montada por algún subsistema interno, razón por la cual BCDEDIT se pone de mal humor: no ve la base de datos, pero sabe a dónde debería ir. Sin embargo, lo que no tiene es una letra de unidad. ¿Entonces lo que hay que hacer?

Bueno ... ¿qué tan atrás van tus raíces DOS? ¿Recuerdas el comando ASIGNAR? Adivina qué.

  1. Inicie DISKPART.

  2. Si no está familiarizado con DISKPART, la forma en que funciona básicamente es una jerarquía de conjuntos; debe seleccionar exactamente un elemento en un nivel para pasar al siguiente. Entonces, "LISTA DE DISCOS", y luego "SELECCIONAR DISCO n" donde n es lo que sea apropiado para usted.

  3. Use "LIST PARTITION" y "LIST VOLUME" (nota no plural) para obtener una idea e identificar su partición EFI.

Suele ser una partición FAT32 de 100 MB marcada "SYSTEM". Tenga en cuenta que su disco ya debería estar usando una tabla de particiones GPT, por lo que puede ver bastantes particiones. Algunos de estos son para la recuperación de emergencia: mucho bien que hacen para los problemas de EFI, ¿eh? Oh bien.

Tenga en cuenta que la partición EFI, y algunas otras, no tienen letras de unidad. Si está tan inclinado, también puede ver los atributos de partición GPT, lo que también puede proporcionarle algunos momentos "Aha" relacionados tangencialmente.

  1. "SELECCIONAR PARTICIÓN n" donde n es la partición EFI. (Espero que pueda seleccionar el volumen si lo necesita).

  2. "ASIGNAR". Eso es. No especifique una letra de unidad; solo "ASIGNAR".

  3. "LISTA DE VOLUMEN". Ahora debería ver una letra de unidad asignada a la partición EFI.

  4. DISCO "SALIR".

Y ahora ... una gran advertencia gorda. Probablemente irá directamente a S: (o lo que haya obtenido de ASSIGN) y notará una partición / Boot. "¡AHA!" Tu dirás. "¡No hay un archivo BCD aquí!" Primero ... recuerda que el archivo está oculto. Segundo ... cava un poco más y notarás que mientras haya:

S: \ EFI \ Arranque

también hay:

S: \ EFI \ Microsoft \ Boot

Debe verificar ambos para ver si hay problemas.

S: \ EFI \ Boot es para la placa base y contiene el CARGADOR de arranque de Windows (y posiblemente otras cosas para otros sistemas operativos). Esto tiene este nombre porque la placa base no tiene idea de si vas a tener Windows o no, y necesita una ruta fija que tenga sentido.

  1. Inspeccione S: \ EFI \ Boot. Para Windows 7 Professional, 64 bits, debería ver:

bootx64.efi

Si ha instalado un shell EFI (siempre es una buena idea), también puede ver "shellx64.efi".

NOTA: Los usuarios de Linux de arranque dual que usan "chainloader + 1" NO VERÁN una entrada adicional aquí.

  1. Inspeccionar S: \ EFI \ Microsoft \ Boot usando tanto "dir" y "dir a: h". Para Windows 7 Professional, de 64 bits, debería ver un montón de plantillas de idioma ("en_US", etc.) y los siguientes archivos:

bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002

... excepto que probablemente no veas BCD, ¿verdad? Pero esos archivos de copia de seguridad parecen tentadores.

  1. Determine qué archivo de copia de seguridad desea usar. Los cambios recientes que le faltan no son tan importantes como su capacidad para iniciar el sistema, así que elija el que esté más intacto. Probablemente verá uno grande y uno bastante pequeño. El pequeño ya está dañado y es un artefacto del proceso de reparación fallido; no lo use. Si ambos son grandes, use el anterior. EN CUALQUIER CASO, haga COPIAS DE RESPALDO ADICIONALES DE LOS RESPALDOS en otro lugar.

  2. Copie la copia de seguridad que ha decidido usar en "BCD".

  3. Salga del shell, apague limpiamente y reinicie.

  4. Dile a Windows que se inicie NORMALMENTE. En este punto, debería comenzar.

P: ¿Qué sucede si no TIENES un BCD de respaldo?

A: Bueno, eso realmente no debería suceder. Probablemente significa que está en el directorio incorrecto, admite EFI pero no lo estaba utilizando, o de alguna manera reconstruyó su partición EFI completa sin todos los materiales necesarios de Windows (posible, especialmente cuando se utilizan varias versiones de Windows). En ese caso, deberá copiar los materiales EFI del DVD, luego modificar o reconstruir la Base de datos de configuración de arranque utilizando BCDEDIT.

P: ¿Puede darme un ejemplo de un escenario en el que "BCDEDIT / SYSSTORE" se pueda utilizar para hacer algo en un sistema EFI?

A: Hasta ahora, no.

De todos modos, espero que esto ayude a resolver algunos problemas para las personas, o al menos les haga pensar. Como un punto final muy importante, tenga en cuenta que puede montar e inspeccionar su partición EFI en Windows normalmente utilizando la técnica DISKPART ASSIGN anterior. Debe hacer esto al menos una vez, para obtener una copia de seguridad completa de su partición EFI, ANTES de encontrarse con este tipo de problemas. Recomiendo una copia de seguridad en un subdirectorio en su unidad C: y otra en una unidad flash USB.

Lo siento, eso es muy largo. Necesito convertir esto en un artículo apropiado en algún momento, pero hay tantas personas que están tan frustradas que sentí la necesidad de documentar mi experiencia tan completa y rápidamente como pude.

Saludos, Matt "Breakpoint" Heck


1
En realidad, MOUNTVOL te permite montar el ESP. Utiliza la letra MOUNTVOL: / S.
Yuhong Bao

Entonces, cuando monta esa partición EFI y no encuentra nada, ¿cómo proceder? Estaba pensando que eso bcdboot c:/windows /s i: /f ALLo algo así me ayudaría a comenzar, pero eso solo me da un error "BFSVC: Error al configurar el dispositivo de aplicación de elementos. Estado = [c00000bb]"
rainabba

A pesar de ver ese error cada vez, ahora parece que tengo la carpeta EFI en esa unidad donde no la tenía antes. Todavía no puedo hacer mucho más sin errores y no puedo arrancar, pero eso es algo al menos.
rainabba

Decidí probar otra ruta por completo. Conecté otra unidad flash, la limpié, le di una letra de unidad y luego repetí usándola como destino en lugar de mi partición EFI. En resumen, no he arrancado en mi instalación de Windows, sino fuera de esa unidad flash. NO pude arrancar mi partición EFI a pesar de tener los archivos, ya que es la primera partición (EFI, fat32, tiene los archivos) en mi primer disco. Por el lado positivo, esta es una forma interesante de mantener a alguien fuera de mi sistema Solo saco esta "clave" de mi sistema y no arranca.
rainabba

5

Windows 8 aún no está disponible en forma final, por lo que es de esperar problemas. Estás en un área nueva para la mayoría de nosotros, donde los comandos que solíamos usar ya no funcionan. A los comandos enumerados por @soandos, agrego este que reconstruye completamente el BCD:

bootrec /rebuildbcd

Intente también utilizar el menú de arranque Avanzado de Windows 8 y díganos qué sucede.

Si nada funciona, el artículo Reparación de Windows 7 cuando no se inician 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 su computadora.

[EDITAR]

Estos enlaces pueden contener algunas ideas útiles:

Recuperación del cargador de arranque de Windows desde el DVD
Problema de recuperación del Administrador de arranque de
Windows 7 Windows 7 no arranca de repente - Reparación del cargador de arranque de Windows 7


He agregado algunos enlaces que podrían ser útiles, aunque pertenecientes a Windows 7.
harrymc

3

La forma más fácil:

  • Siga los pasos de la publicación anterior para ubicar el archivo BCD e ir a su directorio.

  • Si el archivo BCD está oculto, escriba attrib bcd -s -h -ry presione Enter. Esto le permitirá modificar y sobrescribir el archivo.

  • Escribe ren bcd bcd.oldy presiona Enter. Esto cambia el nombre del archivo BCD actual.

  • Escribe Bootrec /RebuildBCDy presiona Enterpara obligar a Windows 8 a reconstruir el menú de inicio desde cero.

  • Salga del símbolo del sistema y cierre. Retire Windows Recovery Media y reinicie. Ya terminaste!


2

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

Después de salir de DISKPART, solo escribí:

bootrec /fixboot
bootrec /rebuildbcd

entonces el sistema fue reparado adecuadamente. Yo no uso

bootrec /fixmbr

porque estaba usando GAG (gestor de arranque gràfico) en MBR para arranque múltiple.


1

Después de 6 horas de dificultades, logré solucionar mi problema de arranque de Windows 8.

Hoy, después de un reinicio habitual, recibí el mensaje MBR not foundo algo similar, ya no me acuerdo. Probé bootreccomandos, reparación automática de Windows (no pudo encontrar Windows instalado), un millón de otras formas y nada.

El problema fue que cuando ejecuté bootrec /rebuildbcdque fue normaly, y luego, cuando tuve que entrar yessi quiero 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 agrietamiento mental, finalmente lo he resuelto.

En este orden...

  • Primero, inicié el maestro de partición easyup y FORMATEÉ el volumen reservado del sistema que asigné como activo más tarde (en el que estaba mi carpeta de inicio). Cuando reinicié, recibí un error NTLDR missing.

  • Entonces pateé en la recuperación de Windows, abrir un símbolo del sistema y entré bootrec /fixmbr, /fixboot, /scanos, /rebuildbcd(que ejecuta ahora bien:])

  • Salí cmde hice clic en reparación automática.

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


2
Atención: esta respuesta parece ser un disco MBR. En un disco GPT, diskpart.exe devuelve este mensaje al marcar un volumen activo: "El comando ACTIVE solo se puede usar en discos MBR fijos".
zacharydl

0

Mi escenario; No perdí la partición del sistema EFI, pero cambiar las unidades e instalar Windows parece haber arruinado la entrada de arranque UEFI de Windows Boot Manager para la primera unidad; tuvo que usar la entrada UEFI que apunta a la unidad directamente para arrancar. Creo que lo arreglé corrigiendo / agregando la configuración de "partición del dispositivo = \ Device \ HarddiskVolumeX" (X = 2 en mi caso; mi segunda partición es la partición del sistema EFI, asignada a Z: con diskpart.exe):

Bcdedit / set {bootmgr} partición del dispositivo = Z:

ver con: bcdedit.exe / enum firmware


-1

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

bootrec /fixboot para volver a escribir el sector de arranque de la partición del sistema.

bootrec /scanos para buscar los sistemas operativos que están en la unidad y agregarlos al gestor de arranque.

Simplemente ejecute los comandos en orden.


¿Downvoter quiere comentar?
soandos

1
El bootrec /fixmbrcomando no se aplica al problema o situación del autor.
Ramhound

-4

Me las arreglé para solucionarlo utilizando el siguiente comando en la consola de recuperación:

 bootcfg C:\Windows /l en-us

2
Esta herramienta es solo para boot.ini, que es para Windows XP y versiones anteriores.
Elmo

1
Esto no pertenece a los cargadores de arranque EFI.
Mahmoud Al-Qudsi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.