Skip to main content

Un auto-entrepreneur passionné à votre service,

Pour votre projet de site internet et vos dépannages informatiques

Comment réparer le BCD de Windows 10

Article publié le 19 Juillet 2021
Dernière modification 3 Janvier 2024

Des tas de choses peuvent corrompre la séquence de démarrage de Windows 10 : l'utilisation d'un logiciel tiers instable, un malware, la mise à jour d'un firmware ou encore la mise en œuvre d'un tweak du fichier BCD récupéré sur le web et promettant de meilleures performances. Et une fois l'irréparable commis, vous allez découvrir qu'il existe d'autres solutions pour récupérer Windows sans passer par une réinstallation complète du système.

Quel que soit le système d'exploitation, les PC de bureau et les ordinateurs portables démarrent suivant deux méthodes : le traditionnel BIOS-MBR et l'UEFI-GPT qui est plus récent et qui tend à se démocratiser avec les PC plus récents et les dernières versions de Windows, Linux et Mac OS X. Sans trop rentrer dans les détails techniques, détaillons brièvement le processus de démarrage. Lorsqu'un PC démarre, le processus de POST (Power-On Self Test) se lance et va suivre la séquence de démarrage paramétré dans le bios. Le bios cherche alors le Master Boot Record (MBR ou zone d'amorçage) du premier disque amorçable qui n'est autre que le premier secteur adressable contenant la table des partitions. Grâce à cette table, la partition active est identifiée et le bios peut alors charger le secteur de boot en mémoire (bootstrap) pour ensuite exécuter le bootmgr.exe qui récupérera le contenu du fichier BCD ou le Boot Configuration Data, à savoir la description des entrées du menu de démarrage qui apparaît au démarrage du PC si plusieurs versions de Windows sont installées (ou via la touche F8), mais aussi le chemin vers le chargeur de démarrage Windows ou winload.exe. Un petit exécutable dont le rôle est de charger le noyau système, les pilotes, les services nécessaires au démarrage de Windows et d'assurer l'ouverture de la session utilisateur. Une tâche dont s'acquitte également le fichier winresume.exe pour démarrer un système Windows à l'état d'hibernation ou de veille prolongée. Vous comprendrez donc mieux les erreurs de type Windows failed to start, File: \windows\ system32\winresume.exe, Status: OxcOOOOOOf... 

Pour ce qui est du processus UEFI (Unified Extensible Firmware Interface), plusieurs particularités sont à souligner.

Premièrement, ce type de firmware ne fonctionne qu'avec le GPT (GUID Partition Table) qui est le nouveau standard permettant de décrire la table de partition d'un disque. Alors que le MBR se limite tout au plus à 4 partitions par disque avec une taille de partition ne pouvant dépasser les 2.2 To, le GPT est lui capable de gérer jusqu'à 128 partitions pouvant atteindre une taille de 256 To chacune ! Autre particularité, deux GPT cohabitent sur le même disque : l'un primaire se situant au début du disque, et l'autre secondaire se situant à la fin du disque et qui n'est autre qu'une sauvegarde du premier. Contrairement au MBR qui intègre un code d'amorçage, l'UEFI charge directement le chargeur d'amorçage EFI Boot Loader enregistré sous la forme d'un fichier .efi. Si aucun fichier .efi n'est spécifié dans la séquence d'amorçage, l'UEFI recherchera alors par défaut un fichier \efi\ boot\bootx64.efi sur chaque disque GPT. C'est donc ce dernier qui permettra de récupérer les paramètres BCD pour ensuite exécuter le chargeur de démarrage Windows winload.efi qui à l'image du fichier winload.exe, se situe dans le répertoire \Windows\System32\.

Ainsi, en mode UEFI/GPT, une installation Windows est par défaut partagée en quatre partitions distinctes: une partition réservée Microsoft (Microsoft Reserved Partition ou MSR), une partition Windows, une partition Système EFI (EFI System Partition ou ESP) ainsi qu'une partition Récupération (l'Environnement de récupération Windows).

L'OUTIL DE RÉPARATION ULTIME : L'INVITE DE COMMANDES

Lorsqu'un problème de démarrage survient, le cas le plus simple est celui où il reste possible d'accéder à l'environnement de récupération via la touche F1 ou F8 lors de l'affichage de l'erreur. Il suffit alors de sélectionner l'option Outil de redémarrage système pour laisser Windows tenter de corriger automatiquement votre problème de démarrage système. Mais autant être honnête, cette solution ne fonctionne que trop rarement. Et le plus souvent, vous serez amené à créer une clé USB Windows amorçable à l'aide de l'excellent outil
Rufus (https:// rufus.ie/fr/) pour pouvoir accéder à la console de récupération Windows.

La deuxième solution consiste à sélectionner l'option Dépannage, Options avancées et Invite de commandes avant de saisir les commandes suivantes et de redémarrer votre PC :

  • bootrec /fixmbr (cette commande n'écrase pas le MBR existant, mais l'analyse et remplace les parties corrompues)
  • bootrec /fixboot (écrit un nouveau secteur de boot sur la partition système active)
  • bootrec /rebuildbcd (détecte toutes les installations Windows sur les disques connectés et vous propose d'ajouter les entrées manquantes si besoin)

Si vous rencontrez un message d'accès refusé, c'est que vous utilisez un mode UEFI/GPT, la commande bootrec n'étant supportée qu'avec le mode BIOS-MBR décrit plus haut. Mais si la dernière commande ne renvoie aucune installation de Windows, vérifiez que la partition système hébergeant Windows est bien active.

Pour ce faire, vous devrez lancer l'outil DiskPart à l'aide de la commande du même nom, qui permet de gérer les disques et les partitions comme créer, supprimer, étendre des partitions ou convertir un disque GPT en MBR. Vous devrez alors sélectionner le disque hébergeant votre installation Windows à l'aide des commandes list disk, et sel disk n (où n est le numéro de votre disque système), puis sélectionner la partition Windows via les commandes list volume, sel volume x (où x caractérise le numéro de la partition système), vous assurer qu'elle est bien active à l'aide de la commande active avant de quitter l'outil diskpart via exit et de relancer la commande bootrec /rebuildbcd.

Pour le mode UEFI/GPT, la procédure n'est pas beaucoup plus complexe et s'effectue toujours à l'aide de l'invite de commandes et de l'utilitaire DiskPart. Les premières étapes restent les mêmes à savoir sélectionner le disque où est installé Windows à l'aide des mêmes commandes list disk, sel disk n, et list volume.
Mais c'est cette fois la partition EFI qui utilise généralement un système de fichiers FAT32, qu'il faut repérer et sélectionner avant de lui attribuer une lettre non utilisée au choix, la partition EFI étant par défaut masquée, grâce à la commande assign letter = h. Une fois la lettre attribuée, quittez l'outil diskpart à l'aide de la commande exit. Si vous êtes naturellement curieux, vous pouvez basculer vers la partition EFI via un simple H:, vous déplacer dans les différents dossiers à l'aide de la commande cd <nom_du_dossier> et en découvrir le contenu via la commande dir. Si vous êtes du genre peu à l'aise avec l'invite de commandes, une petite astuce consiste à taper la commande compmgmt.msc pour utiliser le gestionnaire de stockage Windows en mode graphique. Vous pourrez alors effectuer les mêmes étapes à l'aide de l'interface utilisateur avant de le refermer. En mode UEFI/GPT, c'est l'outil bcdboot qui va nous permettre de copier les fichiers c:\Windows\boot\EFI dans la partition EFI. Exécutez pour cela la commande bcdboot C:\Windows /l fr-fr /s H: /f UEFI C représentant la lettre de votre partition système et /s H: la lettre de votre partition EFI où copier les fichiers d'environnement de démarrage. L'option /l fr-fr permet de spécifier le paramètre régional (à adapter si besoin), le paramètre /f UEFI indiquant tout simplement le type de microprogramme à utiliser.

Vous pouvez maintenant redémarrer et profiter à nouveau de votre Windows.