sy/va:n coudev://e

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

Quitter la version mobile