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

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

Advertisement

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

J'ai actuellement l'installateur Windows 8 sur une clé USB et j'ai essayé d'utiliser l'option de réparation automatique pour réparer le bootloader mais cela n'a rien donné. L'option de réparation au démarrage est également absente de l'installateur Windows 8.

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

BCDEDIT renvoie le message suivant :

The requested system device cannot be found.
Advertisement

Réponses (10)

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

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

Premièrement, démarrer à partir d'un disque de récupération UEFI Windows 8 (CD/DVD/USB) - j'ai constaté que le processus de récupération automatisé ne trouvait pas la bonne partition Windows, et que lorsque j'arrivais à l'ajouter aux paramètres BCD, cela le rendait fiable e. g. en utilisant BCDEDIT, j'ai réussi à trouver et à lancer la partition Windows mais elle a refusé de démarrer à froid ou n'a pas pu “garder” les paramètres après un deuxième redémarrage ou une mise hors tension.

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

Entrez diskpart pour utiliser l'outil DiskPart afin de vous assurer que vous avez toutes les bonnes partitions et d'identifier votre partition EFI - l'essentiel est que votre partition EFI soit formatée en 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

Puis attribuez 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 l'outil DiskPart en entrant exit et à l'invite de commande, exécutez ce qui suit :

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 micrologiciel UEFI/NVRAM, /l en-gb est à localiser pour la localité UK/GB. La localisation se fait par défaut en anglais américain, ou utilisez en-US.

Reboot and cross your fingers.

Cela m'a donné des maux de tête. J'ai tourné en rond pendant un long moment. Il n'y a pas beaucoup d'informations fiables sur la correction d'UEFI/Windows 8 au moment où j'écris ces lignes.

[EDIT]

Pour réactiver Hyper-V, j'ai également dû exécuter ce qui suit depuis une invite de commande de l'administrateur dans Windows après le redémarrage :

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

Les autres réponses sont utiles mais voici ce que j'ai dû faire pour réparer la mienne.

J'avais un disque dur de 1,5 To avec Windows 7 installé dessus. J'ai ensuite installé Windows 8 sur un SSD de 150 Go que j'ai acheté. Le disque dur de 1,5 To est tombé en panne et je l'ai entendu faire un bruit, mon ordinateur ne démarrait plus, disant “veuillez insérer le disque système”. J'ai pensé que le chargeur d'amorçage était manquant, car il devait se trouver sur le disque de 1,5 To. Il s'est avéré que c'était le cas mais le problème était que les guides que j'ai suivis ne permettaient pas de reconstruire le bootloader ou quel que soit son nom car je n'avais pas de partition EFI sur le plus petit disque de 150 Go (il a pu exister sur le disque défaillant), il n'avait qu'une seule partition qui remplissait tout le disque.

Je ne voulais pas perdre toutes mes données, donc j'ai entré l'invite de commande en démarrant à partir de ma clé USB d'installation de Windows 8 (en notant que vous ne pouvez pas démarrer la version UEFI de celle-ci si elle apparaît, choisissez de démarrer à partir de la clé USB sans que l'UEFI n'apparaisse avant elle).

Une fois dans l'invite de commande (voir les autres réponses pour les instructions), vous devez réduire la partition. Pour ce faire, entrez les commandes suivantes, en appuyant sur la touche Entrée après chacune d'entre elles :

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. Faites-le en tapant assign, puis list vol à nouveau pour voir quelle lettre a été attribuée.

Maintenant que c'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

Note: vous devez remplacer C: par la lettre du lecteur de la partition qui contient Windows, et B: par la lettre attribuée à la partition EFI que vous venez de créer.

J'ai également entré les commandes suivantes :

bootrec /fix

bootrec /fixmbr

Ces deux commandes sont revenues avec succès, aucune idée s'ils ont vraiment fait quelque chose mais qui s'en soucie. Windows est maintenant entièrement récupéré.

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

Bon, j'ai eu le temps d'en faire un bon aperçu. Il est long, mais il est assez complet et devrait vous aider à voir ce qui se passe.

D'abord, une façon dont cela peut se faire :

  1. Votre BIOS perd ses réglages.
  2. Pas de problème, tout ce truc est stocké dans la partition EFI.
  3. …sauf pour le réglage SATA IDE vs AHCI, pour des raisons évidentes.
  4. Vous utilisiez 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 l'avez fait, BLAM, il se peut très bien qu'il ait détruit la base de données de configuration de démarrage.
  8. Assurez-vous que vous utilisez le bon réglage SATA que vous utilisiez la dernière fois.

Voici ce que vous avez probablement fait maintenant. Si l'un d'entre eux ne correspond pas, ÉVALUEZ ATTENTIVEMENT CE QUI EST EN FAIT VOTRE PROBLÈME, et LISEZ ceci pour avoir des idées, mais ne le SUIVEZ pas sans réfléchir d'abord.

  1. Vous avez HEUREUSEMENT ignoré toutes les conneries concernant la correction du Master Boot Record (MBR), de la table de partition, des drapeaux de partition et autres déchets qui NE S'APPLIQUENT PAS à un scénario de démarrage EFI. A TOUT. Au mieux, vous seriez en mesure de reconstruire complètement une nouvelle solution de démarrage NON-EFI, sans rapport. Mais cela n'est peut-être pas sans importance, car :
  2. Vous avez compris que Windows est certain de ne pas avoir de base de données de configuration de démarrage, mais malheureusement, il est soit complètement ignorant, soit TRÈS certain de l'endroit où il va - vous ne pouvez pas dire lequel.
  3. Vous êtes conscient que le magasin d'amorçage est normalement (somewhere)\Boot\BCD et que le fichier est CACHÉ ; visualisez-le en utilisant dir /a:hs.
  4. Vous vous êtes un peu familiarisé avec BCDedit.exe et vous avez compris qu'il vous permettra de “maquiller” une base de données de configuration de démarrage dans un fichier de mise en scène en utilisant /CreateStore (et veuillez ne pas le nommer “BCD”), que vous pouvez explicitement utiliser le fichier de mise en scène avec l'option /Store, que vous pouvez ajouter une entrée de menu pour le gestionnaire de démarrage de Windows en utilisant /Create {bootmgr}, et que vous DEVEZ pouvoir l'importer en utilisant /Import
  5. …mais quand vous essayez de le faire, vous ne pouvez pas. Vous regardez dans l'option /SysStore, qui semble correcte, mais vous ne pouvez pas l'utiliser dans un autre magasin parce qu'elle est “ambiguë”. Vous avez l'intuition qu'il sait où se trouve le magasin - ou devrait se trouver - mais vous ne pouvez pas le trouver.
  6. Vous avez essayé d'utiliser MountVol pour monter la partition EFI, mais elle n'apparaît même pas dans la liste, donc vous ne pouvez pas.

Si TOUT cela s'applique assez bien à 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 boot UEFI, vous avez une partition EFI, etc.).
  2. Il sait donc OÙ REGARDER pour le fichier BCD - cependant, soit il a en quelque sorte un mauvais emplacement (pas ce problème, mais similaire), soit le BCD a été supprimé.
  3. Apparemment, parce qu'il sait où il DOIT être, cela casse /SysStore– et en fait, c'est probablement un comportement correct, parce que sinon vous l'auriez mis au mauvais endroit.
  4. D'après ce que je peux dire, MountVol cache délibérément la partition EFI (ou est d'une manière ou d'une autre incapable de la remarquer). Cela empêche de monter le système de fichiers, ce qui empêche de trouver le bon sous-répertoire, de vérifier que la base de données existe, etc.

Voici donc, pour finir, ce que vous devez faire à ce sujet. La bonne nouvelle est que c'est probablement beaucoup plus simple que vous ne l'espérez maintenant.

  1. Vous devez en effet monter la partition EFI.

En fait, j'ai l'impression que ce n'est pas strictement correct - je soupçonne fortement que la partition EFI est déjà montée par un sous-système interne, c'est pourquoi BCDedit devient grincheux - il ne voit pas la base de données, mais il sait où elle doit aller. Ce qu'il n'a pas, cependant, c'est une lettre de lecteur. Alors… que faire ?

Eh bien… jusqu'où remontent vos racines DOS ? Vous souvenez-vous de la commande Assign ? Devinez quoi. 2. Commencez DiskPart. 3. Si vous n'êtes pas familier avec DiskPart, la façon dont cela fonctionne est essentiellement une hiérarchie d'ensembles ; vous devez sélectionner exactement un élément à un niveau pour passer au suivant. Donc, List Disk, et ensuite Select Disk nn est ce qui vous convient. 4. Utilisez List Partition et List Volume (notez le non pluriel) pour avoir un aperçu et identifier votre partition EFI.

Il s'agit généralement d'une partition FAT32 de 100 Mo marquée System. N'oubliez pas que votre disque devrait maintenant utiliser une table de partitions GPT, vous pourriez donc voir un certain nombre de partitions. Certaines d'entre elles sont destinées à la récupération d'urgence - elles font beaucoup de bien pour les problèmes EFI, non ? Remarquez que la partition EFI, et quelques autres, n'ont pas de lettres de lecteur. Si vous le souhaitez, vous pouvez également consulter les attributs de la partition GPT, ce qui peut vous donner quelques moments “Aha” tangentiellement liés aussi. 5. Select Partition n où n est la partition EFI. (Je suppose que vous pourriez sélectionner le volume à la place si vous en avez besoin.) 6. Assign. C'est tout. Ne spécifiez pas de lettre de lecteur ; seulement Assign. 7. List Volume. Vous devriez maintenant voir une lettre de lecteur assignée à la partition EFI. 8. Exit DiskPart.

Et maintenant… un gros avertissement. Vous allez probablement allez directement à S : (ou ce que vous avez obtenu de Assign) et remarquez une partition Boot. “AHA !” Vous direz. “Il n'y a pas de fichier BCD ici !” D'abord… souvenez-vous que ce fichier est caché. Deuxièmement… creusez un peu plus, et vous remarquerez que bien qu'il y ait S:\EFI\Boot et aussi S:\EFI\Microsoft\Boot

Vous devez vérifier ces deux fichiers pour voir s'il y a des problèmes.S:\EFI\Boot est pour la motherboard, et contient le LOADER de démarrage de Windows (et éventuellement d'autres choses pour d'autres systèmes d'exploitation). Il porte ce nom parce que la carte mère n'a aucune idée si vous allez avoir Windows ou non, et a besoin d'un chemin fixe qui a du sens. 9. Inspectez S:\EFI\Boot. Pour Windows 7 Professionnel, 64 bits, vous devriez voir : bootx64.efi Si vous avez installé un shell EFI (toujours une bonne idée), vous pourriez voir en plus shellx64.efi.

NOTE : Les utilisateurs de Linux à double démarrage utilisant chainloader+1 ne verront pas d'entrée supplémentaire ici. 10. Inspectez S:\EFI\Microsoft\Boot en utilisant les deux dir et dir a:h. Pour Windows 7 Professional, 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 BCD, n'est-ce pas ? Mais ces fichiers de sauvegarde sont vraiment tentants. 11. Déterminez quel fichier de sauvegarde vous voulez utiliser. Quels que soient les changements récents qui lui manquent, ils sont loin d'être aussi importants que votre capacité à démarrer le système, alors choisissez celui qui est le plus intact. Vous en verrez probablement un grand et un assez petit. Le petit est déjà corrompu, et est un artefact du processus de réparation échoué - ne l'utilisez pas. Si les deux sont grands, utilisez le plus ancien. DANS TOUS LES CAS, faites des COPIES DE SUPPLÉMENT _ DES SUPPLÉMENTS_ ailleurs. 12. Copiez la sauvegarde que vous avez décidé d'utiliser sur BCD. 13. Sortez du shell, fermez proprement, et redémarrez. 14. Dites à Windows de démarrer NORMALEMENT. A ce stade, il devrait démarrer.

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

R : Eh bien, cela ne devrait vraiment pas se produire. Cela signifie probablement que vous êtes dans le mauvais répertoire, que vous supportez EFI mais que vous ne l'utilisiez pas, ou que vous avez reconstruit votre partition EFI entière sans tout le matériel Windows requis (possible, surtout si vous utilisez plusieurs versions de Windows). Dans ce cas, vous devrez copier le matériel EFI du DVD, puis modifier ou reconstruire la base de données de configuration de démarrage en utilisant BCDedit.

Q : Pouvez-vous me donner un exemple de scénario où BCDedit /SysStore peut être utilisé pour faire n'importe quoi sur un système EFI ?

R : Jusqu'à présent, non.

Quoi qu'il en soit, j'espère que cela aidera à résoudre certains problèmes pour les gens, ou au moins les fera réfléchir. Pour terminer, il est très important de noter que vous pouvez monter et inspecter votre partition EFI sous Windows normalement en utilisant la technique DiskPart : Assign ci-dessus. Vous devriez le faire au moins une fois, pour obtenir une sauvegarde complète de votre partition EFI, _ AVANT_ que vous ne rencontriez ce genre de problème. Je recommande une sauvegarde dans un sous-répertoire de votre disque C:, et une autre sur une clé USB.

Désolé, c'est trop long. Il faudra bien que je transforme cet article en un véritable article à un moment donné, mais il y a tellement de gens qui sont tellement frustrés que j'ai ressenti le besoin de documenter mon expérience aussi complètement et rapidement que possible.

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

Windows 8 n'est pas encore sorti sous sa forme définitive, il faut donc s'attendre à des problèmes. Vous êtes dans un domaine nouveau pour la plupart d'entre nous, où les commandes que nous utilisions auparavant ne fonctionnent peut-être plus. Aux commandes listées par @soandos, j'ajoute celle-ci qui reconstruit complètement le BCD :

bootrec /rebuildbcd

Essayez aussi d'utiliser le menu de démarrage avancé de Windows 8 et faites-nous savoir ce qui se passe.

Si rien ne fonctionne, l'article Réparer Windows 7 quand ils ne démarrent pas donne 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.

[EDIT]

Ces liens peuvent contenir quelques idées utiles : Récupération du chargeur de démarrage de Windows à partir du DVD Problème de récupération du gestionnaire de démarrage de Windows 7 Windows 7 ne démarre plus soudainement - Réparation du chargeur de démarrage de Windows 7

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

La manière la plus simple :

  • Suivez les étapes du post ci-dessus pour localiser le fichier BCD et allez dans son répertoire.

  • Si le fichier BCD est caché, tapez attrib bcd -s -h -r et appuyez sur Entrée. Cela vous permettra de modifier et d'écraser le fichier.

  • Tapez ren bcd bcd.old et appuyez sur la touche Entrée. Cela renomme le fichier BCD actuel.

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

  • Quittez l'invite de commande et arrêtez-vous. Retirez le support de récupération de Windows et redémarrez. Vous avez terminé !

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

Sous DISKPART, je n'avais que le volume 0 ou D (le DVD) et le volume 1 ou C (la partition NTFS de Windows). Rien ne fonctionnait pour moi jusqu'à ce que je rende le vol 1 ACTIF.

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

bootrec /fixboot
bootrec /rebuildbcd

puis 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 le MBR pour le multiboot.

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

Après 6 heures de lutte, j'ai réussi à corriger 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 de bootrec, la réparation automatique de Windows (il ne trouvait aucun Windows installé), un million d'autres moyens et rien.

Le problème était que lorsque j'ai exécuté bootrec /rebuildbcd, ça s'est passé normalement, et ensuite lorsque j'ai dû entrer yes si je voulais 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 craquage mental, j'ai finalement résolu le problème.

Dans cet ordre…

  • Tout d'abord, j'ai démarré le maître de partition easeup et FORMÉ le volume réservé du système que j'ai assigné comme actif plus tard (dans lequel se trouvait mon dossier de démarrage). Lorsque j'ai redémarré, j'ai obtenu une erreur NTLDR missing.

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

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

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

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

Mon scénario : je n'ai pas perdu la partition système EFI, mais le changement de disque et l'installation de Windows semblent avoir fait échouer l'entrée UEFI du gestionnaire d'amorçage de Windows pour le premier disque ; j'ai dû utiliser l'entrée UEFI qui pointe directement sur le disque pour démarrer. Je pense l'avoir corrigé en corrigeant / ajoutant le paramètre “device partition=\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} device partition=Z :

view with : bcdedit.exe /enum firmware

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

Utilisez:bootrec /fixmbr (met à jour le MBR, ne fera probablement rien dans ce cas, mais ne fera pas de mal non plus)

bootrec /fixboot pour réécrire le secteur de démarrage de la partition système.

bootrec /scanos pour rechercher les OS qui sont sur le disque et les ajouter au bootloader.

Exécutez simplement les commandes dans l'ordre.

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

J'ai réussi à le réparer en utilisant la commande suivante dans la console de récupération :

bootcfg C:\Windows /l en-us
Advertisement