Comment utiliser BCDEdit dans les installations Windows à double démarrage?

Quelles sont les commandes bcdedit nécessaires pour configurer un double démarrage entre différentes installations de Windows? 5

Contexte

J'ai récemment installé Windows 8 sur un disque dur séparé 1 . Maintenant que Windows 8 est installé, je souhaite démarrer deux fois sur Windows 7.

J'ai mes deux 2 disques durs:

Capture d'écran du gestionnaire de partition Windows

Donc, vous pouvez voir que j'ai mes deux disques, avec les partitions contenant Windows:

  • Windows 7 : \\PhysicalDisk0 (partition 0 3 )
  • Windows 8 : \\PhysicalDisk2 (partition 1)

Qu'est-ce que j'essaie de comprendre comment utiliser bcdedit pour indiquer ce qui démarre Windows qu'il existe une autre installation Windows là-bas.

En bcdedit exécution bcdedit maintenant, il montre la configuration actuelle:

 C:\WINDOWS\system32>bcdedit Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 description Windows Boot Manager locale en-US inherit {globalsettings} integrityservices Enable default {current} resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f} displayorder {current} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \WINDOWS\system32\winload.exe description Windows 8 locale en-US inherit {bootloadersettings} recoverysequence {ce153eb9-3786-11e2-87c0-e740e123299f} integrityservices Enable recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \WINDOWS resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f} nx OptIn bootmenupolicy Standard hypervisorlaunchtype Auto 

Je ne trouve aucune documentation sur la différence entre Windows Boot Manager et Windows Boot Loader .

Documentation

Il existe une documentation sur Bcdedit :

  • Technet: Command Line Reference – Bcdedit
  • Technet: Kit d'installation automatisée Windows – Options de ligne de commande BCDEdit
  • Livre blanc – Commandes BCDEdit pour l'environnement de démarrage (document Word)

Mais ils n'expliquent pas comment modifier les données de configuration d'amorçage binaire.

Si je devais deviner , je pense qu'un gestionnaire de démarrage de Windows indique au BIOS quel programme il devrait s'exécuter. Ce programme donnerait à l'utilisateur un ensemble de choix de démarrage. Cela laisse Windows Boot Loader être un choix de démarrage particulier, qui représente une installation particulière de Windows.

Si tel est le cas, je devrais créer une nouvelle entrée Windows Boot Loader .

Cela signifie que je pourrais utiliser le paramètre /create :

/créer

Crée une nouvelle entrée de démarrage:

Bcdedit [/ store filename ] / create [ id ] / d description [/ application apptype | / Inherit [ apptype ] | / Hériter DISPOSITIF | / Appareil ]

Je suppose donc une syntaxe de:

 >bcdedit /create /d "The old Windows 7" /application osloader 

Lorsque l' application peut être l'un des types suivants:

 Apptype Description BOOTSECTOR The boot sector application OSLOADER The Windows boot loader RESUME A resume application 

Malheureusement, la seule documentation sur osloader est "Le chargeur de démarrage Windows" . Je ne vois pas comment cela peut différencier Windows 8 sur un disque dur et Windows 7 sur un autre.

L'autre paramètre possible lorsque /create un chargeur de démarrage est

 >bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox" 

Malheureusement, la documentation manque pour /device :

/dispositif

Optionnel. Si l'identifiant n'est pas défini sur un identifiant bien connu, l'option utilisée pour spécifier la nouvelle entrée de démarrage est une entrée d'options de périphérique supplémentaire.

Comme je n'ai pas configuré d' id sur un identifiant bien connu, je dois définir / appareil sur "l'option utilisée pour spécifier la nouvelle entrée de démarrage comme une entrée d'options de périphérique supplémentaire" . Je connais tous ces mots; Ils sont tous anglais. Mais je n'ai aucune idée de ce qu'il dit; Ces mots dans cet ordre semblent absurdes.

Je suis un peu bloqué. Je ne veux pas être comme Dan Stolts de Microsoft, qui a détruit ses disques durs en essayant d'utiliser BCDEdit :

Je n'ai trouvé aucun contenu particulièrement utile lorsque j'ai tué ma machine en jouant avec BCDEdit. Cette publication aurait été correcte s'il y avait beaucoup plus de détails surtout sur la commande / set OSDevice, etc. Donc, une fois que j'ai réparé ma machine, j'ai documenté la solution et l'information est là …

Je veux dire, si un gars Microsoft ne peut même pas comprendre comment utiliser BCDEdit pour éditer son BCD, alors, quelle chance puis-je avoir?

Bonus de lecture

  • Options de ligne de commande BCDEdit
  • Bcdedit
  • Le système Server 2008 R2 ou Windows 7 ne démarrera PAS après avoir effectué des modifications au gestionnaire de démarrage à l'aide de BCDEdit
  • Visual BCD Editor 4
  • Windows 7 et Windows 8 RTM Dual Boot Setup

Notes de bas de page

  • 1 Étant donné que l'installateur de Windows 8 aurait endommagé mon installation de Windows 7, j'ai décidé de débrancher mon disque dur "principal" pendant l'installation. Quelle est une longue explication de la raison pour laquelle le programme d'installation de Windows 8 n'a pas détecté l'installation existante de Windows 7. Normalement, le programme d'installation aurait créé automatiquement les entrées requises pour le démarrage automatique. Non pas que la raison pour laquelle je pose la question est importante.
  • 2 Il y a vraiment trois disques, mais le troisième n'est qu'un stockage en vrac. L'existence d'un 3ème disque dur n'est pas pertinente pour la question. Je ne le mentionne que si quelqu'un veut savoir pourquoi la capture d'écran comporte 3 disques durs lorsque je n'en mentionne que deux.
  • 3 J'ai arbitrairement commencé la numérotation des partitions à "zéro" ; Ne pas impliquer que les partitions soient numérotées à partir de zéro. Je ne mentionne que les partitions parce que je ne vois pas comment un chargeur de démarrage pourrait faire son travail sans savoir quelle partition et quel dossier, une installation de Windows se trouve dans.
  • 4 Je demande à propos de BCDEdit. J'ai essayé Visual BCD Editor . Il semble être un éditeur BCD visuel . C'est-à-dire que c'est une interface graphique, mais utilise toujours la même terminologie que BCDEdit, et exige la même connaissance que BCD ne documente.
  • 5 Pour des raisons de simplicité, nous supposons que toute installation de Windows que je souhaite démarrer deux fois est Windows Vista ou version ultérieure, ce qui les rend tous compatibles avec le BCDEdit et le chargeur de démarrage binaire. L'alternative nécessiterait approfondir les subtilités de l'ancien ntloader . Je ne demande pas non plus sur le double démarrage vers Linux; Ou comment démarrer sur une image du disque dur virtuel (vhd). Juste des versions modernes de Windows sur les disques durs existants dans la même machine.

Ce n'est pas une réponse directe à la question avant «Contexte», mais indique une solution alternative pour créer des entrées de chargeur pour démarrer deux (et plus) Windows Vista et des systèmes d'exploitation ultérieurs. Voir aussi ma deuxième réponse ci-dessous sur la critique sur la terminologie utilisée dans Visual BCD.

Pas de guids, dispositifs, objets, éléments et blah, blah, blah.

Mon contexte (ignorer si vous n'êtes pas intéressé et passer à la solution ci-dessous):

J'ai implémenté Visual BCD Editor.

Au cours du processus de mise en œuvre, j'ai dû lire toutes les sources disponibles sur l'interface Bcdedit et WMI BCD Provider (interface de programmation, peut être utilisée avec C ++, C #). La documentation de Microsoft est vraiment médiocre.

Dans le BCD, il existe des objets (chargeurs, paramètres, éléments du périphérique). Il n'y a pas de documentation sur les connexions entre les objets malgré les dépendances.

Il existe plus de 140 (!) Éléments (propriétés) d'objets BCD dans Windows 7. Je ne connais pas la signification de certains éléments – il n'y a tout simplement pas de documentation.

Dans Windows 8, il existe de nouveaux éléments – je suppose que le nombre total s'approche maintenant de 180 (!!). Pas de documentation.

D'autre part, il existe deux utilitaires très puissants pour manipuler le BCD: bcdboot et reagentc.

Bcdboot – crée / corrige le chargeur par défaut également BCD et l'environnement de démarrage dans son ensemble!

Reacentc – installes / deinstalls environnement de récupération (winre.wim)

Les deux outils ne sont pas très bien documentés.

Solution alternative:

Il n'y a presque pas besoin de bcdedit en utilisant uniquement bcdboot, vous pouvez créer des chargeurs pour Windows Vista et les systèmes d'exploitation Windows ultérieurs – vous créez un chargeur pour le système d'exploitation le plus ancien, que pour le dernier et voilà, vous avez créé l'environnement de démarrage pour un système de démarrage double / multi:

En supposant que vous êtes dans Windows 8:

1. bcdboot f: \ windows (cela correspond à Windows 7 comme sur l'image en question)

2. bcdboot c: \ windows (cela correspond à Windows 8)

Terminé !

Règle Microsoft de base pour le processus de démarrage: l'environnement de démarrage (et BCD) devrait toujours être sur [premier disque + partition active]. (Sur l'image – Disque 2 => Premier disque dans la séquence de démarrage du BIOS!)

Enfin, il y a l'utilitaire bootect pour écrire MBR et PBR (enregistrement de démarrage de base et de partition) – maintenant standard dans Windows 8 (était disponible uniquement dans WinRE plus tôt).

Donc, en utilisant uniquement bootsect et bcdboot, toutes les entités de démarrage pour un système à double démarrage peuvent être créées / corrigées.

Je pense que le processus de démarrage pour Vista et plus tard est décrit très bien sur de nombreux sites Internet, même sur Microsoft.com.

Remarque:

L'un des meilleurs sites sur Windows BCD est le site de Geoff Chappell : il existe des informations plus détaillées sur Microsoft.com. Les utilisateurs intéressés pouvaient trouver des informations assez utiles là-bas et des notes critiques sur la documentation de bcdedit.

Lorsque j'ai formé mon lecteur C: pour réinstaller Windows, l'enregistrement de démarrage principal a été supprimé et le programme d'installation de Windows 7 n'a pas réussi à le restaurer. Je pourrais utiliser un outil GUI bcdedit comme l'outil Visual BCD Edit, mais pourquoi devrais-je installer quelque chose quand il devrait y avoir une commande simple dans le programme bcdedit consol qui peut faire le travail? Après beaucoup de recherches dans les fichiers d'aide en ligne, j'ai abandonné avec bcdedit et trouvé la réponse ici enterrée dans les digressions. Pour créer une entrée de démarrage pour la deuxième partition, vous devez utiliser bcdboot

En supposant que vous êtes dans C: \ Windows:

1. bcdboot e: \ windows

2. bcdboot c: \ windows

Lorsque vous redémarrez, vous recevrez le menu de démarrage Windows avec deux entrées pour Windows 7. Si vous sélectionnez l'entrée qui démarre dans C: \ Windows, vous pouvez renommer l'entrée de cette partition avec:

Bcdedit / set {current} description "Windows 7 (Partition 1)"

Cela fait que le système d'exploitation démarre au démarrage l'entrée par défaut dans le menu de démarrage:

Bcdedit / default {current}

Cela place le système d'exploitation par défaut au premier élément de démarrage dans le menu de démarrage

Bcdedit / displayorder {default} / addfirst

Ou vous pouvez faire du système d'exploitation au démarrage le premier élément dans le menu de démarrage:

Bcdedit / dispalyorder {current} / addfirst

Maintenant, redémarrez et sélectionnez le deuxième élément dans le menu de démarrage qui doit être intitulé "Windows 7". Une fois lancé dans E: \ Windows, renommez le système d'exploitation démarré au démarrage:

Bcdedit / set {current} description "Windows 7 (Partition 2)"

Testez que le menu de démarrage fonctionne correctement et enregistrez les données bcd dans une partition qui ne dispose pas d'un système d'exploitation installé sur celui-ci:

Bcdedit / export D: \ Saved_BCD_Settings \ SavedBCD

Si vous gâchez plus tard, vous pouvez restaurer le menu de démarrage bcd avec:

Bcdedit / import D: \ Saved_BCD_Settings \ SavedBCD

Quelques notes sur le critique dans la question originale concernant l'utilisation de la même terminologie dans Visual BCD que Microsoft utilise pour bcdedit.

Le concept BCD est développé par Microsoft. Il est livré avec sa propre terminologie. Je ne pense pas pouvoir le changer. Je peux l'étendre seulement.

Microsoft a donné deux façons d'accéder / éditer BCD:

  1. En utilisant bcdedit.exe – interface de ligne de commande
  2. Interface BCD WMI Provider – interface programmée

Les deux interfaces parlent d'objets et d'éléments BCD. Il s'agit d'un concept général utilisé aussi bien dans la programmation / les ordinateurs que dans d'autres domaines humains. Nous pourrions aller même à la philosophie qui utilise la terminologie des objets, des propriétés et des relations pour décrire le monde et l'univers.

L'accès au fournisseur BCD WMI est plus flexible car il donne au programmeur la possibilité d'accéder à tous les objets et éléments de BCD et à fonctionner librement sur eux.

Visual BCD utilise pleinement l'interface BCD WMI Provider et met en œuvre l'accès de la même manière que l'on utilise pour accéder au registre Windows en utilisant regedit.exe. En outre, l'outil automatise deux tâches principales: la création de chargeurs et la réparation à double démarrage . Aucun autre outil n'offre une telle fonctionnalité automatique à un seul clic . Je dirais qu'il s'agit d'une nouvelle terminologie et d'un nouveau niveau d'abstraction . Je ne changerais pas la base que Microsoft a créée, je ne peux que construire dessus.

Les utilisateurs novateurs basés sur un bouton et une opération complexe sont effectués! Aucun fond n'est nécessaire! Vous n'avez même pas à savoir combien de versions Windows vous avez installées – l'outil tente de les trouver toutes, puis créez des chargeurs pour eux si les chargeurs correspondants ne sont pas déjà présents dans BCD – la terminologie utilisée – "Créer des chargeurs Windows manquants" – I Pense que tout le monde qui parle anglais pourrait comprendre / cliquer / confirmer une telle opération ou est-ce que je me trompe?

La complexité des objets et des éléments dans BCD est naturelle car le concept couvre le démarrage des systèmes d'exploitation Windows plus récents et anciens ainsi que des systèmes d'exploitation externes tels que Linux, Unix, etc. De plus, il s'agit d'un concept général pour le démarrage MBR et le démarrage EFI sur une variété de périphériques.

La partie la plus complexe de BCD est le concept de l'appareil . Vous disposez d'un périphérique de partition, d'un périphérique ramdisk, d'un périphérique de fichier, d'un périphérique de localisation – vous devez passer du temps à le comprendre et je ne pense pas que ce soit pour l'utilisateur normal de Windows. Les forums sont complets avec des questions sur les partitions de disque qui est un sujet beaucoup moins complexe. De nombreux utilisateurs de Windows ne connaissent même pas la différence entre la partition primaire et la partition logique, par exemple. Vous devez connaître les partitions si vous souhaitez démarrer deux ou plusieurs fois. Vous devez acheter des terrains si vous voulez construire une deuxième maison.

Le concept BCD est identique depuis Vista: seuls les nouveaux éléments sont définis dans Windows 7/8.

Je pense que la structure de registre pour BCD est choisie car Windows implémente cette interface et c'est une interface transactionnelle fiable prouvée au cours des années. Si le concept de registre Windows en général est un bon ou un mauvais concept, il y a un autre sujet.

C'est au programmateur / développeur de créer une interface plus conviviale. J'ai commencé par donner la même interface – un équivalent GUI de bcdedit – plus tard, l'interface peut être extraite sur un niveau supérieur basé sur les modèles d'utilisation. Une vue structurée de BCD est déjà implémentée. C'est la couche d'abstraction de base.

Le prochain niveau d'abstraction serait de se concentrer sur les relations entre les objets car ce sujet n'est pas couvert par Microsoft. Pas une tâche facile. La nouvelle terminologie vient avec abstraction.

Vous avez besoin d'une commande BCDEdit /set pour configurer le volume de démarrage. Ajoutez ensuite l'entrée au menu du système d'exploitation Windows Boot Manager en appelant la commande BCDEdit /displayorder .

Bcdedit / set {ntldr} démarrage du périphérique

Il identifiera également la partition d'OS ou la commande suivante

Bcdedit / set {ntldr} partition de périphérique = C:

La ligne suivante rend l'entrée amorçable en l'ajoutant au menu

Bcdedit / displayorder {ntldr} / addlast

Vous pouvez vérifier que la nouvelle entrée apparaîtra dans le menu de démarrage en exécutant la commande bcdedit /enum ACTIVE et en recherchant l'entrée Windows Legacy OS Loader.

Remarque : /create command est utilisé pour ajouter un OS non-Microsoft pour démarrer l'entrée du chargeur.

Pour plus d'informations à ce sujet, vous pouvez lire cet article source


En ce qui concerne votre question sur " Différence entre Windows Boot loader et Boot Manager "

De wikipedia

Le processus de démarrage de Windows NT commence lorsque l'ordinateur trouve un chargeur de démarrage Windows, une partie du système d'exploitation Windows responsable de trouver Microsoft Windows et de le démarrer. Sur les systèmes IA-32 ou x64, le chargeur de démarrage s'appelle Windows Boot Manager (BOOTMGR). Avant Windows Vista cependant, le chargeur de démarrage était NTLDR.

Voir aussi sur technet .


Visual BCD Editor est une version graphique avancée de l'utilitaire Windows bcdedit.

C'est le premier outil GUI à implémenter l'édition complète du magasin de données de configuration de démarrage (BCD) Windows 7 / Vista.

Page de téléchargement pour l'éditeur BCD visuel.

Essayez une option de réparation dans l'outil.

En réponse à la question spécifique de l'auteur réitérée dans les commentaires (même si elle diffère de sa question initiale concernant les séquences bcdedit.exe pour accomplir la même):

Peut-être presque quelque chose d'aussi simple que msconfig, sauf qu'il vous permet de naviguer vers une autre installation de Windows et cela l'ajoutera pour vous.

EasyBCD est exactement ce que vous recherchez (gratuit pour un usage personnel). Il s'agit d'un outil de gestion de démarrage double visuel pour Windows, et l'ajout d'une nouvelle entrée Windows est avec un point-et-clic, exactement comme vous l'avez décrit .

Il y a beaucoup de ressources sur EasyBCD en ligne, donc je ne vais pas répéter tout ici. Fondamentalement, EasyBCD complète la complexité de bcdedit.exe et l'étend avec ses propres modules de démarrage pour vous permettre de configurer deux bottes avec d'autres versions (plus récentes ou anciennes) de Windows, ainsi que Linux, BSD et plus encore.

Divulgation complète: je suis l'auteur principal de EasyBCD.