P2V d’un volume GPT et EFI sous Windows Server 2008 – LA solution

Après plusieurs semaines de recherches et de tests pour virtualiser correctement (et facilement, de préférence) une installation de Windows 2008 sur un volume GPT, et sur une machine EFI, je suis en mesure de vous donner LA solution qui fonctionne!

En effet, les Disk2VHD, et autres méthodes hasardeuses comme celle de Bizconn P2VLite ne fonctionnent pas. Oubliez aussi la méthode Double-Take Replication, longue à mettre en œuvre, et nécessitant une seconde licence Windows Server 2008 pendant la migration (puisque 2 instances de Windows 2008 lancées en même temps).

La solution simple, c’est Computer Associates ARCserve D2D : http://www.arcserve.com/fr/products/ca-arcserve-d2d.aspx

Le but n’est pas de faire de la publicité pour le produit (je ne suis pas commissionné dessus), mais voici les étapes à effectuer pour que votre migration fonctionne naturellement et sans effort:

1. Télécharger et installer D2D version 16 (prendre celle avec le dernier patch) et l’installer sur la machine à virtualiser.
2. Lancer une sauvegarde de la machine vers un disque NAS, par exemple
3. Sur la VM de destination (préalablement configurée en EFI), booter sur l’ISO D2DBMR (D2D Bare Metal Recovery) et suivre l’assistant pour sélectionner l’image à restaurer et lancer le processus de restauration.
4. Rebootez la VM : et Hop! c’est fini et fonctionnel (manquera plus que les VMware Tools pour être heureux)

4 étapes simples pour arriver au résultat recherché désespérément pendant plusieurs semaines!

Edit : Il semblerait que VMware Converter 5.1 résolve ce problème. Je mettrai à jour ce billet dès que testé.VMware Converter 5.5 fonctionne convenablement pour faire un P2V d’une machine EFI avec disque GPT.

P2V sur un volume GPT

Comment perdre 1 journée à virtualiser une machine?

C’est très facile : prenez une machine un peu récente (avec un UEFI, au hasard), sur laquelle vous avez eu la bonne idée d’installer un Windows 2008 R2 et virtualisez-là.

VMware Converter, Xen Converter, SCVMM : vous pouvez y aller, c’est un vrai bonheur! Soit l’outil vous dit gentiment d’aller vous faire cuire un œuf car “Chez nous, on ne gère pas le GPT”, soit on vous dit que le système de destination doit gérer l’EFI pour que cela fonctionne.

Et bien voilà, maintenant que le problème est posé, il va falloir trouver une solution pour virtualiser cette machine vers un VMware vSphere 5, avec des hôtes ESXi 5 – donc, compatible EFI.

Concrètement, après plusieurs dizaines de recherches sur “Google n’est plus mon pote”, il s’avère:

  1. Microsoft eux-mêmes, indiquent qu’il faut d’abord convertir le volume GPT en volume MBR pour pouvoir virtualiser la machine (http://support.microsoft.com/kb/2705349)
  2. Bon, et comme la vie est mal faite, Microsoft indique que la conversion GPT vers MBR passe par… une suppression des partitions!
  3. Contournement proposé par l’éditeur : créer une image de la partition avec l’outil Disk2VHD de SysInternals (http://live.sysinternals.com/disk2vhd.exe), monter ce disque virtuel sur une VM HyperV, et lancer l’outil de réparation qui va bien pour régler le fameux problème d’UNMOUNTABLE BOOT VOLUME  qui s’en suivra.

Bon, et bien, avec tout ça, on devrait pouvoir s’en sortir!

Malheureusement, nous ne travaillons pas avec de l’HyperV, mais avec de l’ESXi. Et du coup, une étape complémentaire vient s’ajouter : convertir le disque VHD en VMDK.

Mais heureusement, il y a des outils pour ça : WinImage par exemple.

Malgré tout cela, cette méthode ne permet pas d’obtenir un résultat satisfaisant. De plus, même si cette méthode fonctionnait, elle aurait un gros problème : son temps d’exécution.

Mise à jour Jeudi 31 Mai 2012:

Une idée pour virtualiser “à chaud” et sans trop d’étapes:

  1. Utiliser Disk2VHD de SysInternals pour créer une image du volume GPT à virtualiser
  2. Créer un fichier de définition de VM VirtualPC (fichier .VMC) contenant des informations basiques sur la VM
  3. Avec VMware Converter, convertir la VM VirtualPC vers l’infrastructure VMware ESXi 5 (ou vSphere 5) sans démarrer la VM créée.
  4. Enfin, modifier la VM dans VMware pour lui donner un EFI (au lieu du BIOS), la bonne version d’OS, les bons éléments de RAM etc.
  5. Allumer un cierge, démarrer la VM et prier

Je pense que la réparation de Windows sera nécessaire pour ajouter les bons pilotes au niveau du noyau (un post de continuum sur les communautés VMware parle de l’utilisation du contrôleur LSI SAS de VMware, dans sa méthode pour la virtualisation de Windows 2008 et GPT à froid).

Mise à jour Finale:

Toutes les méthodes trouvées sur Internet ne fonctionnent malheureusement pas. Par contre, une solution existe, basée sur ARCserve D2D : LA Solution pour virtualiser une machine GPT/EFI sous VMware