Beaucoup de blog expliquent déjà comment installer un système d’exploitation dans un fichier vhd.
Cependant, si le système d’exploitation “maître” n’est pas installé dans un VHD est que celui-ci doit être réinstallé (par exemple, Windows 7 RC à réinstaller, et 2008 R2 dans un VHD), son entrée bcdedit sera supprimée et il va falloir le réintégrer.
Ce post explique comment redéclarer l’enregistrement bcdedit d’un Windows 2008 R2 en vhd après une réinstallation du système d’exploitation “maitre” (Windows 7):
Depuis le système d'exploitation opérationnel (dans mon cas Windows 7 RTM), lancer la commande
diskpart
puis, en fonction de l'emplacement du fichier .vhd correspondant à l'OS à rattacher, saisir les commandes suivantes:
select vdisk file=d:\dossier\fichier.vhd
attach vdisk
exit
Le contenu du vhd doit désormais être visible depuis l'explorateur de fichier.
Maintenant que le vdisk est monté, il est nécessaire de l'ajouter (le déclarer) dans le bcdedit.
On commence par créer une nouvelle entrée dans le boot en dupliquant l'entrée courante:
bcdedit /copy {current} /d "Nom du système d'exploitation à afficher au boot"
effectuer un copier/coller du CLSID correspondant à cette entrée. (éventuellement relancer la commande bcdedit de manière à réafficher le CLSID)
enfin, saisir
bcdedit /set {le CLSID} device vhd=[d:]\dossier\fichier.vhd
bcdedit /set {le CLSID} osdevice vhd=[d:]\dossier\fichier.vhd
bcdedit /set {le CLSID} detecthal on
ou {le CLSID} est à remplacer par le CLSID copié ci-dessus.
Attention: les crochets autour de la lettre du disque ([d:]) sont obligatoires.
Il est maintenant possible de redémarrer la machine. La nouvelle entrée apparaitra dans le menu.
Attention: si le .vhd héberge un Windows 2008 (R2) avec hyper-v, une étape supplémentaire sera nécessaire. Voir mon post "réactivation d’hyper-v dans bcdedit"