Comment utiliser BCDEdit pour des installations Windows à double démarrage?

29

Quelles sont les bcdeditcommandes nécessaires pour configurer le 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 veux revenir en arrière sur Windows 7.

J'ai mes 2 disques durs:

Capture d'écran du gestionnaire de partition Windows

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

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

Ce que j'essaie de comprendre, c'est comment utiliser bcdeditpour indiquer à la chose qui démarre Windows qu'il existe une autre installation Windows.

En cours d'exécution bcdedit, il affiche 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 le gestionnaire de démarrage Windows et le chargeur de démarrage Windows .

Documentation

Il existe de la documentation sur Bcdedit:

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

Si je devais deviner , je penserais qu'un gestionnaire de démarrage Windows indique au BIOS quel programme il doit exécuter. Ce programme donnerait à l'utilisateur un ensemble de choix de démarrage. Cela laisse le chargeur de démarrage Windows ê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 vouloir utiliser le /createparamètre:

/créer

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

bcdedit [/ nom de fichier du magasin ] / create [ id ] / d description [/ application apptype | / Hériter [ APPTYPE ] | / hériter APPAREIL | / appareil ]

Je suppose donc une syntaxe de:

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

applicationpeut ê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 osloaderest "Le chargeur de démarrage Windows" . Je ne vois pas comment cela peut faire la différence entre Windows 8 sur un disque dur et Windows 7 sur un autre.

L'autre paramètre possible lorsqu'un /createchargeur de démarrage est

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

Malheureusement, la documentation manque pour /device:

/dispositif

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

Comme je n'ai pas défini idun identificateur bien connu, je dois définir / device sur "l'option utilisée pour spécifier la nouvelle entrée de démarrage comme 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 donc un peu gêné. 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 arrosé ma machine en jouant avec BCDEdit. Ce poste aurait été bien s'il y avait beaucoup plus de détails en particulier sur la commande / set osdevice, etc. Donc , une fois que je me suis fixé ma machine, je la solution et documenté l'information est ici ... .

Je veux dire, si un gars de Microsoft ne sait même pas comment utiliser BCDEdit pour éditer son BCD, alors quelle chance ai-je?

Lecture bonus

Notes de bas de page

  • 1 Étant donné que le programme d'installation de Windows 8 aurait endommagé mon installation de Windows 7, j'ai décidé de débrancher mon disque dur «principal» pendant l'installation. Ce qui est une longue explication des raisons pour lesquelles le programme d'installation de Windows 8 n'a pas détecté l'installation existante de Windows 7. Normalement, le programme d'installation aurait automatiquement créé les entrées requises pour le double démarrage. Ce n'est pas que la raison pour laquelle je pose la question soit 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 est sans rapport avec la question. Je ne le mentionne que si quelqu'un veut savoir pourquoi la capture d'écran a 3 disques durs alors que je n'en mentionne que deux.
  • 3 J'ai arbitrairement commencé à numéroter les partitions à "zéro" ; ne pas impliquer que les partitions sont 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 dans quelle partition et dans quel dossier se trouve une installation de Windows.
  • 4 Je pose des questions sur BCDEdit. J'ai essayé Visual BCD Editor . Il semble être un éditeur visuel BCD. C'est-à-dire qu'il s'agit d'une interface graphique, mais utilise toujours la même terminologie que BCDEdit, et nécessite les mêmes connaissances que BCD ne documente pas.
  • 5 Par souci de simplicité, nous supposerons que toutes les installations de Windows sur lesquelles je souhaite effectuer un double démarrage sont Windows Vista ou version ultérieure, ce qui les rend toutes compatibles avec BCDEdit et le chargeur de démarrage binaire. L'alternative nécessiterait de plonger dans les subtilités de l'ancien ntloader. Je ne demande pas non plus un double démarrage sur Linux; ou comment démarrer sur une image de disque dur virtuel (vhd). Juste des versions modernes de Windows sur des disques durs existants sur la même machine.
Ian Boyd
la source

Réponses:

16

Ce n'est pas une réponse directe à la question avant "Arrière-plan" mais indique une solution alternative pour créer des entrées de chargeur pour démarrer deux (et plus) Windows Vista et systèmes d'exploitation ultérieurs. Veuillez voir également ma deuxième réponse ci-dessous à propos de la critique de la terminologie utilisée dans Visual BCD.

Pas de guides, appareils, objets, éléments et bla, bla, bla.

Mes antécédents (sauter si pas intéressé et aller à la solution ci-dessous):

J'ai implémenté Visual BCD Editor.

Pendant le processus d'implémentation, j'ai dû lire toutes les sources disponibles sur bcdedit et l'interface WMI BCD Provider (interface de programmation, utilisable avec C ++, C #). La documentation de Microsoft est vraiment médiocre.

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

Il y a plus de 140 (!) Éléments (propriétés) des 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 y a de nouveaux éléments - je suppose que le nombre total 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!

reagentc - installe / désinstalle l'environnement de récupération (winre.wim)

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

Solution alternative:

Bcdedit n'est presque pas nécessaire car 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 premier système d'exploitation, que pour le dernier et voila vous avez créé l'environnement de démarrage pour un système de démarrage double / multiple:

En supposant que vous êtes sous Windows 8:

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

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

Terminé !

Règle Microsoft de base pour le processus de démarrage: l'environnement de démarrage (et BCD) doit 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 existe l' utilitaire bootsect pour l'écriture de MBR et PBR (enregistrement de démarrage principal et de partition) - désormais standard dans Windows 8 (n'était disponible que dans WinRE plus tôt).

Ainsi, 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 versions ultérieures est très bien décrit 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 y a des informations plus détaillées que sur Microsoft.com. Les utilisateurs intéressés pourraient y trouver des informations très utiles et quelques notes critiques sur la documentation de bcdedit.

snayob
la source
9

Lorsque j'ai formaté 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 pu le restaurer. Je pourrais utiliser un outil GUI bcdedit comme l'outil Visual BCD Edit, mais pourquoi devrais-je avoir à installer quelque chose alors qu'il devrait y avoir une simple commande dans le programme de console bcdedit qui peut faire le travail? Après de nombreuses recherches dans les fichiers d'aide en ligne, j'ai abandonné bcdedit et j'ai trouvé la réponse ici enterrée dans des 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, le menu de démarrage de Windows s'affiche 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 pour cette partition avec:

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

Cela fait de l'OS démarré au démarrage l'entrée par défaut dans le menu de démarrage:

bcdedit / default {current}

Cela place le premier système d'exploitation par défaut au 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 du 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 devrait être étiqueté "Windows 7". Une fois démarré 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 sur une partition sur laquelle aucun système d'exploitation n'est installé:

bcdedit / export D: \ Saved_BCD_Settings \ SavedBCD

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

bcdedit / import D: \ Saved_BCD_Settings \ SavedBCD

Motorcycleboy
la source
Mon Motorcycleboy vous répétez juste ma réponse donnée il y a un mois. -1.
snayob
@snayob, j'apprécie vos réponses (+1), mais Motorcycleboy va un peu plus en détail sur les commandes après avoir créé les bootentries. Maintenant, quelque chose qui manque dans cette discussion est ce que la commande équivalente bcdeditest pour bcdboot e:\windows(voir ici pour la question)
Davor Josipovic
Je ne pense pas qu'il existe un équivalent des commandes bcdedit pour "bcdboot e: \ windows" car bcdboot copie et répare tout l'environnement de démarrage (bootmgr + \ dossier de démarrage + réparations BCD + ajoute une entrée pour le système d'exploitation spécifié)
snayob
{current}ne marche pas.
Orient
5

Quelques notes sur un critique dans la question d'origine sur 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 seulement l'étendre.

Microsoft a proposé deux méthodes pour accéder / modifier BCD:

  1. à l'aide de bcdedit.exe - interface de ligne de commande
  2. Interface du fournisseur BCD WMI - interface de programmation

Les deux interfaces parlent d'objets et d'éléments BCD. Il s'agit d'un concept général utilisé aussi bien en programmation / informatique que dans d'autres domaines humains. On pourrait même aller jusqu'à 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 à chaque objet et élément de BCD et de les utiliser librement.

Visual BCD utilise pleinement l'interface du fournisseur BCD WMI et implémente l'accès de la même manière que nous sommes utilisés pour accéder au registre Windows à l'aide de regedit.exe. De plus, 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 en un clic . Je dirais que c'est une nouvelle terminologie et un nouveau niveau d'abstraction . Je ne changerais pas la base que Microsoft a créée, je ne peux que la construire.

Les utilisateurs novices cliquent simplement sur un bouton et une opération complexe est effectuée! Aucun fond n'est nécessaire! Vous n'avez même pas besoin de savoir combien de versions de Windows vous avez installées - l'outil essaie de les trouver toutes, puis de créer 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 parlant anglais pourrait comprendre / cliquer / confirmer une telle opération ou je me trompe?

La complexité des objets et des éléments dans BCD est naturelle car le concept couvre le démarrage de systèmes d'exploitation Windows plus récents et plus anciens ainsi que des systèmes d'exploitation étrangers 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é d'appareils.

La partie la plus complexe de BCD est le concept d'appareil . Vous avez un périphérique de partition, un périphérique ramdisk, un périphérique de fichier, localisez le périphérique - vous devez passer un peu de temps à le comprendre et je ne pense pas que ce soit pour l'utilisateur Windows normal. Les forums regorgent de questions sur les partitions de disque, ce qui est un sujet beaucoup moins complexe. De nombreux utilisateurs de Windows ne connaissent même pas la différence entre la partition principale et la partition logique par exemple. Vous devez connaître les partitions si vous souhaitez effectuer un démarrage double / multiple. Vous devez acheter un terrain si vous voulez construire une deuxième maison.

Le concept BCD est le même 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 déjà cette interface et c'est une interface transactionnelle fiable qui a fait ses preuves au fil des ans. Si le concept de registre Windows en général est un bon ou un mauvais concept, c'est un autre sujet.

C'est au programmeur / 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 abstraite à un niveau supérieur en fonction des modèles d'utilisation. Une vue structurée de BCD est déjà implémentée. Il s'agit de la couche d'abstraction de base.

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

snayob
la source
je comprends que BCD enveloppe un système très puissant, avec beaucoup d'options complexes. D'un autre côté, je pense que j'ai une question très simple, que beaucoup de gens ont posée au fil des ans - mais qui n'a jamais pu être résolue. "J'ai Windowsici et un autre Windowslà-bas. Comment puis-je démarrer entre eux?". Plutôt qu'un tutoriel complet sur toutes les options de BCDEdit, j'espérais pour les commandes qui ne peuvent résoudre que ce problème (apparemment simple). Peut-être presque quelque chose d'aussi simple que cela msconfig, sauf qu'il vous permet de naviguer vers une autre installation de Windows et de l'ajouter pour vous.
Ian Boyd
Je dois dire que votre outil est beaucoup plus puissant que EasyBCD.
Milind R
3

Vous avez besoin d'une BCDEdit /setcommande 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 BCDEdit /displayordercommande.

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

Il identifiera également la partition de l'autre système d'exploitation ou la commande suivante

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

La ligne suivante rend l'entrée démarrable 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 ACTIVEet en recherchant l'entrée Windows Legacy OS Loader.

Remarque : la /createcommande est utilisée pour ajouter un système d'exploitation non Microsoft à l'entrée du chargeur de démarrage.

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


Concernant votre question sur " Différence entre le chargeur de démarrage Windows et le gestionnaire de démarrage "

De wikipedia

Le processus de démarrage de Windows NT démarre lorsque l'ordinateur trouve un chargeur de démarrage Windows, une partie du système d'exploitation Windows chargée de rechercher Microsoft Windows et de le démarrer. Sur les systèmes IA-32 ou x64, le chargeur de démarrage est appelé Gestionnaire de démarrage Windows (BOOTMGR). Cependant, avant Windows Vista, 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.

Il s'agit du premier outil GUI à implémenter la modification complète du magasin de données de configuration de démarrage (BCD) Windows 7 / Vista.

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

Essayez de réparer l'option dans l'outil.

avirk
la source
À propos de Windows Boot Manager : Windows Boot Manager est essentiellement un mini-système d'exploitation qui contrôle votre expérience de démarrage et vous permet de choisir l'application de démarrage à exécuter. Il existe différentes applications de démarrage (par exemple, le chargeur de démarrage Windows) et chacune fait quelque chose de différent. Par exemple, une application Windows Boot Loader charge Windows. [...] Par exemple, si vous avez deux versions différentes de Win7 installées sur des partitions différentes, vous verrez deux entrées du chargeur de démarrage Windows. (extrait d' ici )
Davor Josipovic
3

Bien que vieux, je veux ajouter aux réponses, car plusieurs des réponses ci-dessus contiennent des informations incorrectes. Ils fonctionnent probablement, mais vous n'avez certainement pas besoin d'un programme externe, ni même bcdbootde le faire. Pour référence, les informations correctes sont les suivantes:

Arrière-plan BCD rapide s'il est nouveau

BCD est la configuration de démarrage de Windows. Il contient de nombreuses sections, chacune identifiée par un nom (appelé la "description") et un identifiant qui ressemble un peu à ceci: "{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}".

Il existe plusieurs "identifiants connus", et bcdedit les utilisera utilement là où il le peut, (sauf si vous utilisez l' option /v (verbose) avec /enum). Ils ressemblent à ceci: "{bootmgr}", "{memdiag}". Ce ne sont que des noms abrégés pour les identifiants complets, mais ils sont plus faciles à utiliser. Vous pouvez utiliser l'un ou l'autre.

Vous pouvez lister ces sections avec la commande suivante (le « tous » est facultative , mais sans elle , vous ne verrez pas une liste complète): bcdedit /enum all.

Sortie typique:

C:\Windows\system32>bcdedit /enum all

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {92b1a1b0-c023-11e3-b3f1-ec4d94108574}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {92b1a1b2-c023-11e3-b3f1-ec4d94108574}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {92b1a1b0-c023-11e3-b3f1-ec4d94108574}
nx                      OptIn

De même, pour faciliter l'identification des périphériques, il utilisera un format similaire \Device\HarddiskVolume2, mais reconnaîtra la partition par sa lettre ("C:") si une est attribuée.

La liste produite par /enum allcommence par une section facultative du gestionnaire de démarrage du firmware (si votre carte mère a EFI). Son nom abrégé est "{fwbootmgr}" . Il contrôle le choix de démarrage EFI initial (que ce soit pour utiliser le gestionnaire de démarrage Windows habituel ou des périphériques spécifiques). En général, vous pouvez ignorer {fwbootmgr} s'il est présent.

En dessous se trouve le "Windows Boot Manager" (identifiant "{bootmgr}" ). C'est celui avec lequel vous travaillerez. Il contient la configuration du menu de base ou tout ce que vous obtenez au démarrage (si le gestionnaire de démarrage Windows fonctionne et qu'il peut trouver BCD en premier lieu).

Sous {bootmgr} se trouvent un certain nombre de sections "Windows Boot Loader" et éventuellement d'autres sections, chacune contrôlant une action ou une option de démarrage.

Configuration du double démarrage à l'aide de bcdedit (vous n'avez besoin de rien d'autre)

Pour effectuer un double amorçage, vous indiquez à bcdedit /copyune bonne entrée connue du chargeur d'amorçage Windows pour votre premier système d'exploitation.

  • /copy pour copier une entrée existante
  • {current}est l' identifiant de l'entrée que vous souhaitez copier. C'est un raccourci pour l'élément de démarrage actuel. Si ce n'est pas celui que vous souhaitez effectuer un double démarrage, utilisez l'identifiant correct pour celui que vous souhaitez. Le texte de description de chaque entrée vous aidera à trouver celle que vous souhaitez.
  • /d "Description for copied entry sera la description du nouvel article

Il fera une copie de cette entrée, lui donnera la description indiquée et répondra avec le nouvel identifiant qu'il a donné à la copie:

bcdedit /copy {current} /d "Copy of my current Windows Boot Loader"

The entry was successfully copied to {5599a3fc-e4ee-11e7-a5f3-c86000d0b92a}.

Cela crée une entrée indépendante avec le bon nom, vous devez maintenant lui dire quoi faire. Comme presque rien n'a changé dans les systèmes d'exploitation récents, vous pouvez simplement configurer l'appareil et l'osdevice sur votre partition Win7, et cela fonctionnera probablement. Si nécessaire, regardez la sortie de / enum lorsque vous démarrez normalement dans Win7 et copiez les entrées auxquelles il semble s'attendre. Mais généralement, il suffit d'attribuer temporairement une lettre à votre deuxième système d'exploitation, comme "Q", puis la commande est: bcdedit /set {NEW_IDENTIFIER} device partition=Q:ou quelque chose, et la même chose pour osdevice. bcdedit triera les lettres de lecteur, voir ci-dessous. Vous pouvez supprimer la lettre du lecteur temporaire une fois qu'elle a été utilisée dans bcd.

Ajoutez-le ensuite à la liste des entrées de {bootmgr} en utilisant bcdedit /displayorder {NEW_ID} /addlast, et - surtout - dites à bcd d'afficher un menu de démarrage en utilisant bcdedit /set {bootmgr} displaybootmenu Yes.

Terminé.

Remarque - il est sûr d'utiliser des lettres de lecteur "impaires" ou "incorrectes" dans BCD, et il est sûr si la sortie de / enum les contient également.

Pour être clair, vous n'avez pas à vous soucier que votre nouvel appareil soit identifié comme Q: (ou quoi que ce soit) quand il "devrait être C:". bcdedit stocke l'ID du disque dur, pas la lettre. C'est simplement accepter et afficher Q: pour être utile. Si un appareil a une lettre, il affichera la lettre par défaut au lieu de l'ID de l'appareil, pour votre facilité. Vous pouvez le voir en supprimant ou en affectant la lettre du 2e OS dans DISKPART ou DISKMGMT.MSC et la sortie de / enum reviendra immédiatement à un \ Device à la place. Il a en fait enregistré l'ID de disque dur correct, et lorsqu'il est utilisé pour démarrer, Windows trouvera cet appareil - la lettre est simple et jamais réellement enregistrée.

Stilez
la source
D'où venez-vous {0743bb44-fda6-11e3-90c8-e3ee27f3aec6}? Vous avez déjà copié le {current} chargeur de démarrage Windows ; de quelle autre chose faites-vous une copie? (Pas le gestionnaire de démarrage Windows, je suppose)
Ian Boyd
Merci. Je peux confirmer que cela a fonctionné comme ceci Windows 10 version 1903 (build 18362). J'ai eu une image de la partition Windows 10 OS NTFS que j'ai restaurée sur une partition sur une autre machine, j'ai redémarré à partir du support d'installation vers Windows Recovery et affecté une lettre de pilote à l'aide de diskpart. Puis a fait le bcdedit / copie de la {default} (pas de {current} dans WinRE) et bcdedit / set de périphérique et osdevice vers le nouveau lecteur. Au redémarrage, on m'a donné le choix des systèmes d'exploitation à exécuter et cela a très bien redémarré l'ancienne image. C'était Windows 10, qui est un démarrage très flexible indépendamment du changement complet de matériel.
Marko Kohtala
2

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

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

EasyBCD est exactement ce que vous recherchez (gratuit pour un usage personnel). Il s'agit d'un outil de gestionnaire de double démarrage visuel pour Windows, et l'ajout d'une nouvelle entrée Windows se fait par un simple pointer-cliquer, exactement comme vous l'avez décrit .

Il y a beaucoup de ressources sur EasyBCD en ligne, donc je ne vais pas tout répéter ici. Fondamentalement, EasyBCD résume la complexité de bcdedit.exeet l'étend avec ses propres modules de chargeur de démarrage pour vous permettre de configurer des démarrages doubles avec d'autres versions (plus récentes ou plus anciennes) de Windows, ainsi que Linux, BSD, etc.

Divulgation complète: je suis le principal auteur d'EasyBCD.

Mahmoud Al-Qudsi
la source
-1
bcdedit
bcdboot
bcdedit /create

Cela peut être pointé vers un fichier comme le fichier .vhd mais créé en tant que partition de disque et initialisé et attaché, ou monté à la volée et redémarré en tant que système d'exploitation. L'OS peut être caché dans une autre partition. une autre partition peut être cachée dans une autre partition et le système d'exploitation à l'intérieur. lorsque vous exécutez bcdeditpour être pointé vers un autre fichier .vhd, peu importe où il se trouve. Il se charge. Mon instructeur l'a montré en classe mais a échoué ou refusé de donner d'autres explications bcdedit. Mais cela fonctionne pour cacher et exploiter un système d'exploitation entièrement fonctionnel.

  1. bcdboot e:\windows
  2. bcdboot c:\windows
uber-rajan
la source