web-dev-qa-db-fra.com

Comment puis-je réparer le chargeur de démarrage Windows 8 EFI?

J'ai installé Windows 7 et Windows 8 en mode EFI sur un disque dur il y a quelques jours. Aujourd'hui, le chargeur de démarrage est manquant/corrompu.

J'ai actuellement le programme d'installation de Windows 8 sur un lecteur flash et j'ai essayé d'utiliser l'option de réparation automatique pour réparer le chargeur de démarrage, mais il n'a rien fait. L'option Réparation du démarrage est également absente du programme d'installation de Windows 8.

Comment puis-je réparer/recréer le chargeur de démarrage EFI à partir de l'invite de commande?

BCDEDIT renvoie le message suivant:

The requested system device cannot be found.
123
Elmo

J'ai passé beaucoup de temps à essayer de redémarrer mon ordinateur Windows 8 après le clonage sur un nouveau disque SSD et à essayer de résumer comment j'ai finalement réussi à tout faire fonctionner -

Tout d’abord, démarrez à partir d’un disque de récupération UEFI Windows 8 (CD/DVD/USB) - j’ai constaté que le processus de récupération automatique ne trouvait pas la partition Windows correcte, et que j’ai réussi à l’ajouter aux paramètres BCD le rendrait réellement amorçable par exemple En utilisant BCDEDIT, je l’ai trouvée et lancée sur la partition Windows, mais elle refusait de démarrer à froid ou ne "conservait" pas les paramètres après un 2e redémarrage ou une mise hors tension.

Allez dans les options avancées et exécutez l'invite de commande.

Entrez diskpart pour utiliser l'outil DiskPart afin de vous assurer que vous disposez de toutes les bonnes partitions et pour identifier votre partition EFI. L'essentiel ici est que votre partition EFI soit au format 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

Attribuez ensuite une lettre de lecteur à la partition EFI:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Quittez DiskPart en saisissant exit et à l'invite de commande, exécutez les opérations suivantes:

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

bootrec /fixboot

Supprimez ou renommez le fichier BCD:

ren BCD BCD.bak

Utilisez bcdboot.exe pour recréer le magasin BCD:

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

Le paramètre /f ALL met à jour les paramètres du BIOS, y compris le microprogramme UEFI/NVRAM. /l en-gb doit être localisé pour les paramètres régionaux UK/GB. La localisation par défaut est US English ou utilisez en-US.

Redémarrez et croisez les doigts.

Cela m'a donné des maux de tête. Je tournais en rond pendant un long moment. Il n’ya pas beaucoup d’informations fiables sur la correction de UEFI/Windows 8 au moment de la rédaction.

[MODIFIER]

Pour réactiver Hyper-V, j'ai également dû exécuter les opérations suivantes à partir d'une invite de commande d'administrateur sous Windows après le redémarrage:

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

Les autres réponses sont utiles mais c’est ce que j’ai dû faire pour réparer le mien.

J'avais un disque dur de 1,5 TB sur lequel Windows 7 était installé. J'ai ensuite installé Windows 8 sur un SSD de 150 Go que j'ai acheté. Le disque dur 1.5 TB est tombé en panne et je pouvais l’entendre faire du bruit. Mon ordinateur ne démarrerait plus en disant "veuillez insérer un disque système". Je pensais que le chargeur de démarrage était manquant car il devait être sur le disque 1.5 TB. Il se trouve que c’était le cas, mais que le problème était que les guides que j’ai suivis ne reconstruiraient pas le chargeur de démarrage ou peu importe son nom, car je n’avais pas de partition EFI sur le plus petit disque de 150 Go (cela a peut-être existé sur le disque avait seulement 1 partition qui remplissait le disque entier.

Je ne voulais pas perdre toutes mes données, alors j’ai entré dans l’invite de commande en démarrant à partir de mon lecteur USB Windows 8 (en notant que vous ne pouvez pas démarrer la version UEFI si cela apparaît, sélectionnez de démarrer à partir du lecteur USB sans le UEFI comparaissant devant elle).

Une fois dans l'invite de commande (voir les autres réponses pour des instructions), vous devez réduire la partition. Pour ce faire, entrez les commandes suivantes en appuyant sur Enter après chacun:

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

Ces commandes créeront la partition EFI. Vérifiez tout en tapant list vol. Vous devriez voir une partition de 200 Mo. Vous devez maintenant lui attribuer une lettre. Pour ce faire, saisissez assign, puis list vol pour voir quelle lettre a été attribuée.

Maintenant ceci est fait, vous devez copier les fichiers de démarrage sur cette partition nouvellement créée:

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

Remarque: vous devez remplacer C: par la lettre de lecteur de la partition contenant Windows et B: par la lettre affectée à la partition EFI que vous venez de créer.

J'ai aussi entré les commandes suivantes:

bootrec /fix

bootrec /fixmbr

Ces deux-là sont revenus avec succès, aucune idée s'ils ont vraiment fait autre chose que celui qui s'en soucie. Windows est maintenant complètement récupéré.

21
Paul

D'accord, j'ai eu le temps de préparer un plan détaillé ici. C'est long, mais c'est assez complet et devrait vous aider à voir ce qui se passe.

Tout d'abord, cela peut arriver d'une façon:

  1. Votre BIOS perd ses paramètres.
  2. Aucun problème, tout cela est stocké dans la partition EFI.
  3. ... sauf pour le paramètre SATA IDE vs AHCI, pour des raisons évidentes.
  4. Utilisiez-vous SATA-AHCI? Vous utilisez probablement SATA-IDE maintenant.
  5. Avez-vous essayé de démarrer avant de comprendre cela?
  6. Si vous l'avez fait, cela a échoué. Avez-vous laissé Windows essayer de le réparer?
  7. Si vous le faisiez, BLAM aurait peut-être détruit la base de données de configuration de démarrage.
  8. Assurez-vous que vous utilisez le paramètre SATA correct que vous utilisiez la dernière fois.

Voici ce que vous avez probablement déjà fait. SI CELA DE CELUI-CI NE CORRESPOND PAS, ÉVALUEZ SOIGNEUSEMENT SI CECIIS EN FAIT VOTRE PROBLÈME, et LISEZ ceci pour des idées mais ne le suivez pas sans y penser au préalable.

  1. HOPEFULLY a ignoré toute la merde liée à la correction de l'enregistrement de démarrage principal (MBR), de la table de partition, des indicateurs de partition et de toute autre erreur qui NE S'APPLIQUE PAS dans un scénario de démarrage EFI. AT ALL . Au mieux, vous seriez en mesure de reconstruire complètement une nouvelle solution de démarrage, non liée , NON-EFI. Cela pourrait ne pas être trivial, cependant, parce que:

  2. Vous avez compris que Windows est certain de ne pas disposer d'une base de données de configuration de démarrage, mais malheureusement, elle est soit totalement ignorante, soit TRÈS certaine de son utilisation - vous ne pouvez pas savoir exactement laquelle.

  3. Vous savez que le magasin de démarrage est normalement (quelque part)\Boot\BCD et que le fichier est HIDDEN; visualisez-le avec "dir/a: hs".

  4. Vous vous êtes un peu familiarisé avec BCDEDIT.EXE et vous êtes rendu compte qu'il vous permettra de "simuler" une base de données de configuration de démarrage dans un fichier intermédiaire à l'aide de "/ CREATESTORE" (sans le nommer "BCD"), vous pouvez utiliser explicitement le fichier intermédiaire avec l'option "/ STORE", ajouter une entrée de menu pour le gestionnaire de démarrage Windows à l'aide de "/ CREATE {bootmgr}" et DEVRAIENT pouvoir l'importer à l'aide de "/ IMPORT" ...

  5. ... mais quand vous essayez de faire cela, vous ne pouvez pas. Vous examinez l'option/SYSSTORE, ce qui semble bien, mais vous ne pouvez pas le faire utiliser un autre magasin car il est "ambigu". Vous pensez qu'il sait où se trouve le magasin - ou devrait être - mais vous ne le trouvez pas.

  6. Vous avez essayé d’utiliser «MOUNTVOL» pour monter la partition EFI, mais cela n’apparaît même pas dans la liste, vous ne pouvez donc pas.

Si TOUT cela s'applique assez étroitement à vous, voici ce qui PEUT se passer:

  1. Windows peut dire que vous êtes configuré pour EFI (vous avez démarré le DVD via un démarrage UEFI, vous avez une partition EFI, etc.).

  2. Il sait donc où chercher le fichier BCD - cependant, l'emplacement est incorrect (pas ce problème, mais similaire) ou le BCD a été supprimé.

  3. Apparemment, comme il sait où il DEVRAIT être, cela rompt/SYSSTORE-- et en fait, c'est probablement le comportement correct, car sinon vous le placeriez au mauvais endroit.

  4. Autant que je sache, MOUNTVOL cache délibérément la partition EFI (ou est en quelque sorte incapable de la remarquer). Cela empêche de monter le système de fichiers, ce qui empêche de trouver le sous-répertoire correct, de vérifier que la base de données existe, etc.

Alors, enfin, voici ce que vous devez faire à ce sujet. La bonne nouvelle est que c'est probablement beaucoup plus simple que ce que vous espérez maintenant.

  1. Vous devez en effet monter la partition EFI.

En fait, j'ai une intuition qui n'est pas strictement correct - je soupçonne fortement que la partition EFI est déjà montée par un sous-système interne, ce qui explique pourquoi BCDEDIT devient grincheux - ce n'est pas le cas voir la base de données, mais elle sait où elle devrait aller. Quoi qu'il en soit, cependant, il s'agit d'une lettre de motivation. Alors que faire?

Eh bien ... jusqu'où vont vos racines DOS? Vous souvenez-vous de la commande ASSIGN? Devine quoi.

  1. Démarrez DISKPART.

  2. Si vous n'êtes pas familier avec DISKPART, son fonctionnement repose essentiellement sur une hiérarchie de jeux. vous devez sélectionner exactement un élément à un niveau pour passer au suivant. Donc, "LIST DISKS", puis "SELECT DISK n" où n est ce qui vous convient.

  3. Utilisez "LIST PARTITION" et "LIST VOLUME" (remarque non plurielle) pour obtenir un aperçu et identifier votre partition EFI.

Il s’agit généralement d’une partition FAT32 de 100 Mo portant la mention "SYSTEM". N'oubliez pas que votre disque doit déjà utiliser une table de partitions GPT, de sorte que vous pouvez voir un nombre assez important de partitions. Certaines d'entre elles sont destinées à la récupération d'urgence - beaucoup de bien qu'elles apportent aux problèmes d'EFI, hein? Tant pis.

Notez que la partition EFI et quelques autres n'ont pas de lettres de lecteur. Si vous le souhaitez, vous pouvez également afficher les attributs de la partition GPT, ce qui peut également vous donner quelques moments "Aha" liés de manière tangentielle.

  1. "SELECT PARTITION n" où n est la partition EFI. (J'espère que vous pourrez sélectionner le volume à la place si vous en avez besoin.)

  2. "ATTRIBUER". C'est tout. Ne spécifiez pas une lettre de lecteur; juste "ASSIGN".

  3. "LISTE VOLUME". Vous devriez maintenant voir une lettre de lecteur affectée à la partition EFI.

  4. "EXIT" DISKPART.

Et maintenant ... un gros avertissement. Vous allez probablement aller directement à S: (ou à tout ce que vous avez obtenu de ASSIGN) et remarquer une partition/Boot. "AHA!" Tu diras. "Il n'y a pas de fichier BCD ici!" D'abord ... rappelez-vous que ce fichier est caché. Deuxièmement ... Creusez un peu plus, et vous remarquerez qu'il y a:

S:\EFI\Boot

il y a aussi:

S:\EFI\Microsoft\Boot

Vous devez vérifier ces deux problèmes.

S:\EFI\Boot est destiné à la mère , et contient le chargeur Windows BootLOADER(et éventuellement d’autres éléments pour d’autres systèmes d’exploitation). Cela a ce nom parce que la carte mère n’a aucune idée si vous allez avoir Windows ou pas, et a besoin d’un chemin fixe qui a du sens.

  1. Inspectez S:\EFI\Boot. Pour Windows 7 Professionnel 64 bits, vous devriez voir:

bootx64.efi

Si vous avez installé un shell EFI (c'est toujours une bonne idée), vous pouvez également consulter "shellx64.efi".

REMARQUE: les utilisateurs Linux à double amorçage utilisant "chainloader + 1" NE verront PAS une entrée supplémentaire ici.

  1. Inspectez S:\EFI\Microsoft\Boot en utilisant both "dir" et "dir a: h". Pour Windows 7 Professionnel, 64 bits, vous devriez voir un tas de modèles de langue ("en_US", etc.) et les fichiers suivants:

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

... sauf que vous ne voyez probablement pas le BCD, n'est-ce pas? Mais ces fichiers de sauvegarde ont l’air tentant.

  1. Déterminez le fichier de sauvegarde que vous souhaitez utiliser. Quels que soient les récents changements manquants, ils sont loin d’être aussi importants que votre capacité à démarrer le système, alors optez pour celui qui est le plus intact. Vous en verrez probablement une grande et une assez petite. Le petit est déjà corrompu et est un artefact du processus de réparation ayant échoué - ne l'utilisez pas. S'ils sont tous deux grands, utilisez le plus ancien. Dans tous les cas, créer des copies de sauvegarde supplémentaires des sauvegardes ailleurs.

  2. Copiez la sauvegarde que vous avez décidé d'utiliser sur "BCD".

  3. Quittez le shell, arrêtez-le proprement et redémarrez.

  4. Dites à Windows de démarrer normalement. À ce stade, cela devrait commencer.

Q: Que faire si vous n'avez pas de BCD de sauvegarde?

R: Bien, cela vraiment ne devrait pas arriver. Cela signifie probablement que vous êtes soit dans le mauvais répertoire, que vous prenez en charge EFI mais que vous ne l'utilisez pas, ou que vous avez reconstruit votre partition EFI entière sans tous les éléments Windows requis (possible, notamment avec plusieurs versions de Windows). Dans ce cas, vous devrez copier les documents EFI à partir du DVD, puis modifier ou reconstruire la base de données de configuration de démarrage à l'aide de BCDEDIT.

Q: Pouvez-vous me donner un exemple de scénario dans lequel "BCDEDIT/SYSSTORE" peut être utilisé pour tout faire sur un système EFI?

A: Jusqu'ici, non.

Quoi qu'il en soit, espérons que cela aide à résoudre certains problèmes des personnes, ou du moins les fait réfléchir. Dernier point très important, veuillez noter que vous pouvez monter et inspecter votre partition EFI sous Windows normalement en utilisant la technique DISKPART ASSIGN ci-dessus. Vous devez le faire au moins une fois pour obtenir une sauvegarde complète de votre partition EFI:AVANTvous rencontrez ce type de problème. Je recommande une sauvegarde dans un sous-répertoire de votre lecteur C: et une sur un lecteur flash USB.

Désolé, c'est tellement long. Je dois en faire un article approprié à un moment donné, mais il y a tellement de personnes qui sont SO frustrées que j'ai ressenti le besoin de documenter mon expérience aussi complètement et rapidement que possible.

Cordialement, Matt "Breakpoint" Heck

9
Matt Heck

Windows 8 n’est toujours pas sous sa forme définitive, des problèmes sont donc à prévoir. Vous êtes dans une région nouvelle pour la plupart d'entre nous, où les commandes que nous utilisions auparavant risquent de ne plus fonctionner. Aux commandes listées par @soandos, j'ajoute celle-ci qui reconstruit complètement le BCD:

bootrec /rebuildbcd

Essayez également d’utiliser le menu de démarrage avancé de Windows 8 et dites-nous ce qui se passe.

Si rien ne fonctionne, l'article Réparation de Windows 7 lorsqu'ils ne parviennent pas à démarrer a quelques conseils sur l'utilisation de bcdedit pour corriger les erreurs de démarrage. Il serait en tout cas intéressant de voir quelle est la sortie de bcdedit sur votre ordinateur.

[MODIFIER]

Ces liens peuvent contenir des idées utiles:

Récupération du chargeur de démarrage Windows à partir du DVD
Problème de récupération du gestionnaire de démarrage de Windows 7
Windows 7 ne démarre pas soudainement - Réparation du chargeur de démarrage de Windows 7

5
harrymc

Le moyen le plus simple:

  • Suivez les étapes du message ci-dessus pour localiser le fichier BCD et accéder à son répertoire.

  • Si le fichier BCD est masqué, tapez attrib bcd -s -h -r et appuyez sur Enter. Cela vous permettra de modifier et d’écraser le fichier.

  • Tapez ren bcd bcd.old et appuyez sur Enter. Ceci renomme le fichier BCD actuel.

  • Tapez Bootrec /RebuildBCD et appuyez sur Enter forcer Windows 8 à reconstruire le menu de démarrage à partir de zéro.

  • Quittez la commande Invite et arrêtez-vous. Supprimez le support de récupération Windows et redémarrez. Vous avez terminé!

3
Rodolfo Philipp

Sous DISKPART, je n'avais que le volume 0 ou D (le DVD) et le volume 1 ou C (la partition Windows NTFS). Rien n'a fonctionné pour moi jusqu'à ce que je fasse le volume 1 ACTIVE.

Après avoir quitté DISKPART, j'ai seulement saisi:

bootrec /fixboot
bootrec /rebuildbcd

alors le système a été correctement réparé. Je n'ai pas utilisé

bootrec /fixmbr

parce que j'utilisais GAG (gestor de arranque gràfico) sur MBR pour le multiboot.

2
Halberdier

Après 6 heures de lutte, j'ai réussi à résoudre mon problème de démarrage de Windows 8.

Aujourd'hui, après un redémarrage habituel, j'ai reçu le message MBR not found ou similaire, je ne m'en souviens plus. J'ai essayé les commandes bootrec, la réparation automatique de Windows (il ne pouvait trouver aucun Windows installé), un million d'autres méthodes et rien.

Le problème était quand j’ai exécuté bootrec /rebuildbcd cela s’est passé normalement, et puis quand j’ai dû entrer yes si je veux sauvegarder la configuration, j’ai reçu le message the file is not accessible because it is used by a another process.

Après des heures de réflexion, je l'ai finalement résolu.

Dans cet ordre...

  • Premièrement, j'ai démarré le maître de partition easeup et FORMATED le volume réservé réservé au système que j'ai assigné comme actif plus tard (dans lequel se trouvait mon dossier de démarrage). Quand j'ai redémarré, j'ai eu une erreur NTLDR missing.

  • Ensuite, j'ai démarré la récupération Windows, ouvert une invite de commande et entré bootrec /fixmbr, /fixboot, /scanos, /rebuildbcd (qui s'exécute maintenant correctement:])

  • J'ai quitté cmd et cliqué sur réparation automatique.

  • Ensuite, j'ai pu sélectionner Windows 8. Lorsque j'ai redémarré, j'ai pu voir le logo Windows 8.

1
Roko

Mon scénario; Je n'ai pas perdu la partition système EFI, mais le changement de lecteur et l'installation de Windows semblent avoir gâché l'entrée de démarrage UEFI du gestionnaire de démarrage Windows pour le premier lecteur; a dû utiliser l'entrée UEFI qui pointe directement sur le lecteur pour démarrer. Je pense que je l'ai corrigé en corrigeant/en ajoutant le paramètre "partition de périphérique =\Device\HarddiskVolumeX" (X = 2 dans mon cas; ma 2ème partition est la partition système EFI, mappée sur Z: avec diskpart.exe):

Bcdedit/set {bootmgr} partition de périphérique = Z:

voir avec: firmware bcdedit.exe/enum

0
James Risto