Windows utilise un magasin de données nommé BCD pour gérer les applications et les paramètres qui se lancent au démarrage. Le BCD remplace le fichier Boot.ini des anciennes versions de Windows et offre plus d’options de personnalisation et de dépannage. BCDEdit est un outil en ligne de commande qui permet d’accéder et de modifier le BCD. Il est inclus avec Windows Vista et les versions ultérieures. BCDEdit sert à créer, supprimer, modifier ou copier des entrées du BCD, ainsi qu’à activer ou désactiver certaines options de démarrage, comme le mode sans échec ou la journalisation du démarrage.
Dans cet article, nous allons vous montrer comment utiliser bcdedit pour modifier le démarrage de Windows. Nous allons voir les commandes de base, les identifiants des entrées du BCD, les types de données et les valeurs possibles. Nous allons aussi vous donner quelques exemples d’utilisation courante de bcdedit pour résoudre des problèmes ou optimiser le démarrage de Windows.
Comment accéder à bcdedit ?
Pour utiliser bcdedit, vous devez disposer des privilèges d’administration sur votre ordinateur. Vous devez aussi ouvrir une invite de commandes en mode administrateur.
- Cliquez sur le menu Démarrer et tapez cmd dans la zone de recherche
Faites un clic droit sur Invite de commandes et choisissez Exécuter en tant qu’administrateur.
Taper bcdedit /? pour afficher la liste des commandes disponibles- Pour obtenir une aide détaillée sur une commande particulière, tapez bcdedit /? <commande>, où <commande> est le nom de la commande que vous voulez consulter. Par exemple, bcdedit /? createstore affiche une aide détaillée pour la commande createstore.
Comment lister les entrées du BCD ?
Pour lister les entrées du BCD, vous pouvez utiliser la commande bcdedit /enum. Cette commande affiche les informations suivantes pour chaque entrée :
- L’identifiant : il s’agit d’un code unique qui permet d’identifier l’entrée. Il peut être sous la forme {XXXX-XXXX-XXXX-XXXX}, où XXXX sont des chiffres hexadécimaux, ou sous la forme {nom}, où nom est un nom standard défini par Windows. Les identifiants standards les plus courants sont :
- {bootmgr} : il correspond au gestionnaire de démarrage de Windows (Windows Boot Manager), qui affiche le menu de démarrage et charge l’OS sélectionné.
- {current} : il correspond à l’OS sélectionné au démarrage de Windows.
- {default} : il correspond à l’OS sélectionné par défaut au démarrage de Windows.
- {ntldr} : il correspond à un OS en ntldr (Windows Legacy OS Loader), par exemple Windows XP.
- Le type d’appareil : il indique si l’entrée correspond à un appareil physique (partition) ou logique (fichier).
- Le chemin d’accès : il indique le chemin d’accès au fichier exécutable ou au secteur de démarrage associé à l’entrée.
- Les options : il s’agit des paramètres supplémentaires qui modifient le comportement de l’entrée. Par exemple, description permet de changer le nom affiché dans le menu de démarrage, timeout permet de changer le temps d’attente avant le démarrage automatique, etc.
Vous pouvez aussi utiliser la commande bcdedit /v pour afficher des informations plus détaillées sur les entrées du BCD, comme la date de création, la date de modification ou le GUID.
Comment créer une nouvelle entrée dans le BCD ?
Pour créer une nouvelle entrée dans le BCD, vous pouvez utiliser la commande bcdedit /create. Cette commande crée une entrée avec un identifiant généré aléatoirement et un type d’application spécifié. Le type d’application peut être l’un des suivants :
- {bootmgr} : pour créer une entrée de type gestionnaire de démarrage.
- {memdiag} : pour créer une entrée de type outil de diagnostic de la mémoire.
- {ntldr} : pour créer une entrée de type chargeur d’OS en ntldr.
- {legacy} : pour créer une entrée de type chargeur d’OS en mode hérité.
- {resume} : pour créer une entrée de type reprise après mise en veille prolongée.
- {emssettings} : pour créer une entrée de type paramètres du service d’urgence.
- {badmemory} : pour créer une entrée de type liste des adresses mémoire défectueuses.
- {dbgsettings} : pour créer une entrée de type paramètres de débogage.
Par exemple, pour créer une entrée de type chargeur d’OS en ntldr, vous pouvez taper la commande suivante :
bcdedit /create /d “Windows XP” /application ntldr
Cette commande affiche l’identifiant généré pour la nouvelle entrée, par exemple {cbd971bf-b7b8-4885-951a-fa03044f5d71}. Vous pouvez ensuite utiliser cet identifiant pour modifier les autres paramètres de l’entrée, comme le chemin d’accès ou les options.
Comment modifier une entrée existante dans le BCD ?
Pour modifier une entrée existante dans le BCD, vous pouvez utiliser la commande bcdedit /set. Cette commande permet de changer la valeur d’un type de données pour une entrée spécifiée par son identifiant. Le type de données peut être l’un des suivants :
- device : pour changer le type d’appareil associé à l’entrée.
- path : pour changer le chemin d’accès au fichier exécutable ou au secteur de démarrage associé à l’entrée.
- description : pour changer le nom affiché dans le menu de démarrage pour l’entrée.
- locale : pour changer la langue utilisée pour l’entrée.
- inherit : pour faire hériter à l’entrée les paramètres d’une autre entrée.
- recoverysequence : pour spécifier l’identifiant d’une entrée à utiliser en cas d’échec du démarrage.
- recoveryenabled : pour activer ou désactiver la récupération automatique en cas d’échec du démarrage.
- osdevice : pour changer le type d’appareil contenant les fichiers système de l’OS associé à l’entrée.
- systemroot : pour changer le chemin d’accès au dossier racine de l’OS associé à l’entrée.
- resumeobject : pour spécifier l’identifiant d’une entrée de type reprise après mise en veille prolongée.
- nx : pour activer ou désactiver la protection contre l’exécution des données (DEP) pour l’entrée.
- pae : pour activer ou désactiver l’extension d’adresse physique (PAE) pour l’entrée.
- detecthal : pour activer ou désactiver la détection automatique du matériel (HAL) pour l’entrée.
- winpe : pour indiquer si l’entrée correspond à un environnement Windows PE (préinstallation).
- ems : pour activer ou désactiver le service d’urgence (EMS) pour l’entrée.
- debug : pour activer ou désactiver le mode débogage pour l’entrée.
- debugtype : pour spécifier le type de débogage à utiliser pour l’entrée (serial, 1394 ou usb).
- debugport : pour spécifier le port série à utiliser pour le débogage par port série.
- baudrate : pour spécifier le taux de transfert en bauds à utiliser pour le débogage par port série.
- 1394channel : pour spécifier le canal à utiliser pour le débogage par port IEEE 1394.
- usbbusparams : pour spécifier les paramètres du bus USB à utiliser pour le débogage par port USB.
- sos : pour activer ou désactiver l’affichage des informations de pilote lors du démarrage.
- bootlog : pour activer ou désactiver la journalisation du démarrage dans le fichier %WINDIR%\ntbtlog.txt.
- nocrashautoreboot : pour désactiver le redémarrage automatique en cas d’écran bleu.
- usefirmwarepcisettings : pour utiliser les paramètres PCI du firmware au lieu des paramètres de Windows.
- groupsize : pour spécifier la taille du groupe de processeurs pour le démarrage parallèle.
- groupaware : pour activer ou désactiver la prise en compte du groupe de processeurs lors du démarrage parallèle.
- numproc : pour spécifier le nombre de processeurs à utiliser pour le démarrage.
- truncatememory : pour spécifier la quantité maximale de mémoire à utiliser pour le démarrage.
- removememory : pour spécifier la quantité de mémoire à retirer pour le démarrage.
- increaseuserva : pour augmenter la quantité de mémoire virtuelle adressable par les applications en mode utilisateur.
- testsigning : pour activer ou désactiver le chargement des pilotes non signés numériquement.
- nointegritychecks : pour activer ou désactiver la vérification de l’intégrité des pilotes signés numériquement.
- loadoptions : pour spécifier les options de chargement à transmettre au chargeur d’OS.
- hypervisorlaunchtype : pour activer ou désactiver le lancement de l’hyperviseur lors du démarrage.
- hypervisordebugtype : pour spécifier le type de débogage à utiliser pour l’hyperviseur (serial, 1394 ou usb).
- hypervisordebugport : pour spécifier le port série à utiliser pour le débogage de l’hyperviseur par port série.
- hypervisorbaudrate : pour spécifier le taux de transfert en bauds à utiliser pour le débogage de l’hyperviseur par port série.
- hypervisorchannel : pour spécifier le canal à utiliser pour le débogage de l’hyperviseur par port IEEE 1394.
- hypervisorusbbusparams : pour spécifier les paramètres du bus USB à utiliser pour le débogage de l’hyperviseur par port USB.
- bootstatuspolicy : pour spécifier la politique à appliquer en cas d’échec du démarrage précédent (ignoreallfailures, ignoreshutdownfailures, displayallfailures ou rebootonfailure).
- bootems : pour activer ou désactiver la redirection d’urgence (EMS) lors du démarrage.
Pour modifier une entrée avec la commande bcdedit /set, vous devez indiquer l’identifiant de l’entrée et le type de données à modifier, ainsi que la valeur à attribuer. Par exemple, pour changer le nom affiché dans le menu de démarrage pour l’entrée {current}, vous pouvez taper la commande suivante :
bcdedit /set {current} description “Windows 10”
Vous pouvez aussi utiliser les identifiants standards {bootmgr}, {default} ou {ntldr} au lieu des identifiants générés aléatoirement, si vous connaissez le type d’entrée que vous voulez modifier. Par exemple, pour changer le temps d’attente avant le démarrage automatique du gestionnaire de démarrage, vous pouvez taper la commande suivante :
bcdedit /set {bootmgr} timeout 10
Comment supprimer une entrée du BCD ?
Pour supprimer une entrée du BCD, vous pouvez utiliser la commande bcdedit /delete. Cette commande supprime l’entrée spécifiée par son identifiant, ainsi que toutes les entrées qui en dépendent. Par exemple, pour supprimer l’entrée {cbd971bf-b7b8-4885-951a-fa03044f5d71} que nous avons créée précédemment, vous pouvez taper la commande suivante :
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
Vous pouvez aussi utiliser l’option /cleanup pour supprimer toutes les entrées orphelines du BCD, c’est-à-dire les entrées qui ne sont pas référencées par le gestionnaire de démarrage ou par une entrée d’OS. Par exemple, pour supprimer toutes les entrées orphelines du BCD, vous pouvez taper la commande suivante :
bcdedit /delete /cleanup
Comment copier une entrée du BCD ?
Pour copier une entrée du BCD, vous pouvez utiliser la commande bcdedit /copy. Cette commande crée une nouvelle entrée avec les mêmes paramètres que l’entrée spécifiée par son identifiant, mais avec un nouvel identifiant généré aléatoirement. Vous pouvez ensuite modifier les paramètres de la nouvelle entrée selon vos besoins. Par exemple, pour copier l’entrée {current} et lui donner un nouveau nom, vous pouvez taper les commandes suivantes :
bcdedit /copy {current} /d “Windows 10 – Copie” bcdedit /set {ID} description “Windows 10 – Copie”
Où {ID} est l’identifiant généré pour la nouvelle entrée.
Comment restaurer le BCD à son état d’origine ?
Si vous avez modifié le BCD et que vous rencontrez des problèmes de démarrage, vous pouvez restaurer le BCD à son état d’origine en utilisant la commande bcdedit /import. Cette commande restaure le contenu du magasin système à partir d’un fichier de sauvegarde généré précédemment avec la commande bcdedit /export. Cette commande supprime toutes les entrées existantes dans le magasin système avant l’importation.
Par exemple, si vous avez créé un fichier de sauvegarde du BCD nommé backup.bcd dans le dossier C:\, vous pouvez restaurer le BCD à partir de ce fichier en tapant la commande suivante :
bcdedit /import C:\backup.bcd
.
FAQ
Quelle est la différence entre bcdedit et bootrec ?
BCDEdit est un outil qui permet de modifier le contenu du BCD, tandis que bootrec est un outil qui permet de réparer le démarrage de Windows en cas de corruption du BCD ou du secteur de démarrage. Bootrec utilise bcdedit en interne pour reconstruire le BCD.
Comment accéder à bcdedit si Windows ne démarre pas ?
Si Windows ne démarre pas, vous pouvez accéder à bcdedit en utilisant un support d’installation de Windows (DVD ou clé USB) ou un disque de réparation système. Vous devez alors choisir l’option Réparer l’ordinateur, puis accéder à l’invite de commandes.
Comment créer un dual-boot avec bcdedit ?
Pour créer un dual-boot avec bcdedit, vous devez avoir deux partitions contenant chacune un OS compatible avec le BCD (Windows Vista ou ultérieur). Vous devez ensuite créer une entrée dans le BCD pour chaque OS, en spécifiant le type d’appareil, le chemin d’accès et les options appropriés. Vous pouvez aussi modifier l’entrée {bootmgr} pour changer l’OS par défaut ou le temps d’attente avant le démarrage automatique.
Comment supprimer un dual-boot avec bcdedit ?
Pour supprimer un dual-boot avec bcdedit, vous devez supprimer l’entrée correspondant à l’OS que vous ne voulez plus utiliser dans le BCD, ainsi que toutes les entrées qui en dépendent. Vous devez aussi modifier l’entrée {bootmgr} pour changer l’OS par défaut si nécessaire. Vous pouvez ensuite formater ou supprimer la partition contenant l’OS supprimé.
Comment activer le mode sans échec avec bcdedit ?
Le mode sans échec est une option de démarrage qui permet de lancer Windows avec un nombre limité de pilotes et de services. Il est utile pour diagnostiquer et résoudre des problèmes de démarrage ou de stabilité. Pour activer le mode sans échec avec bcdedit, vous devez modifier l’entrée correspondant à l’OS que vous voulez démarrer en mode sans échec, en ajoutant l’option safeboot avec la valeur minimal, network ou dsrepair selon le type de mode sans échec que vous voulez utiliser. Par exemple, pour activer le mode sans échec minimal pour l’entrée {current}, vous pouvez taper la commande suivante :
bcdedit /set {current} safeboot minimal
Pour désactiver le mode sans échec, vous devez supprimer l’option safeboot de l’entrée. Par exemple, pour désactiver le mode sans échec pour l’entrée {current}, vous pouvez taper la commande suivante :
bcdedit /deletevalue {current} safeboot
Conclusion
BCDEdit est un outil puissant et flexible pour modifier le démarrage de Windows. Il permet de créer, supprimer, modifier ou copier des entrées du BCD, ainsi que d’activer ou désactiver certaines options de démarrage. Il est utile pour résoudre des problèmes de démarrage, optimiser les performances du système ou créer des configurations personnalisées.Toutefois, BCDEdit est aussi un outil complexe et potentiellement dangereux. Il faut être prudent lors de son utilisation et bien comprendre les conséquences des modifications apportées au BCD. Il est recommandé de faire une sauvegarde du BCD avant de le modifier, et de se référer à la documentation officielle de Microsoft pour plus de détails sur les commandes, les identifiants, les types de données et les valeurs possibles. Si vous rencontrez des difficultés pour démarrer votre PC après avoir modifié le BCD, vous pouvez essayer de réinitialiser le BIOS de votre PC grâce au Clear CMOS.