Virtualiser Snow Leopard ou Leopard sous Lion avec VMWare Fusion 4.x

Aujourd’hui, une astuce qui va permettre de virtualiser facilement Mac OS X 10.5 (Leopard) ou 10.6 (Snow Leopard) avec VMWare Fusion 4.11 (la dernière en date). La licence de Mac OS X ne permet de pas de virtualiser les versions clientes du système, même si parfois les développeurs ferment les yeux, comme avec la version 4.1 de VMWare Fusion… Mais comme il est parfaitement légal de virtualiser Mac OS X dans ses versions dédiés au serveur, il est possible de passer outre la limitation.

Alors cette astuce est très clairement contraire à la licence de Mac OS X : elle consiste à modifier une version classique de Mac OS X pour faire croire au logiciel de virtualisation que c’est une version serveur.

Première chose à faire, trouver un DVD de Mac OS X 10.5 ou 10.6 et en faire une image. Si c’est une version grise livrée avec une machine, il faudra d’abord la modifier pour qu’elle accepte de s’installer sur n’importe quel Mac. Ca fonctionne avec Tiger aussi, même si c’est plus compliqué de trouver un DVD avec une version x86 du système, Apple n’en a jamais vendu au détail.

Truc à savoir : faire une image disque avec l’Utilitaire de disque ne fonctionnera pas. Il va falloir passer par une méthode un peu différente. En effet, Utilitaire de disque ne copie pas la partition EFI, ici indispensable.

Première chose à faire, donc, faire une image correcte, en utilisant la ligne de commande et le Terminal. /dev/disk1 est le nom de votre lecteur optique, obtenu avec la commande diskutil list. Par défaut, l’image est placée sur le bureau.

dd if=/dev/disk1 of=~/Desktop/osx-installer.iso bs=1m

Une fois l’image sur le disque — ça peut prendre longtemps —, il faut la convertir en image DMG avec la commande suivante.

hdiutil convert ~/Desktop/osx-installer.iso -format UDRW -o ~/Desktop/osx-installer

Une fois que l’image est montée dans le Finder, il faut taper une ligne de commande. Il faut bien évidemment que votre DVD porte bien le nom « Mac OS X Install DVD », ce qui est a priori le cas.

sudo touch "/Volumes/Mac OS X Install DVD/System/Library/CoreServices/ServerVersion.plist"

Ensuite on lance VMWare Fusion, on choisit Nouveau… -> Continuer sans disque -> Utiliser le disque ou le disque image d’installation du système d’exploitation. Dans le menu déroulant, il suffit de sélectionner l’image disque précédemment modifiée. Une choix du système apparaît, il faut donc choisir le bon système, en fonction de l’OS.

L’installation devrait se lancer.

Attention : à la fin de l’installation, le système va indiquer qu’il va redémarrer dans 30 secondes. Vous avez donc 30 secondes pour cliquer sur Utilitaires dans le menu et choisir Terminal. Si vous ne le faites pas dans les 30 secondes, la machine virtuelle ne pourra plus redémarrer et vous êtes bon pour recommencer.

Il faut taper une commande : elle permet de créer le fichier qui va permettre de faire croire à VMWare Fusion que le système est une version Serveur. Sans ce fichier, le système ne démarre pas.

touch "/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist"

Il suffit ensuite de quitter le Terminal et d’attendre que le système redémarre.

Là, vous avez un système Snow Leopard ou Leopard virtualisé et parfaitement fonctionnel. Seul défaut : le système n’est pas à jour.

L’étape suivante consiste à installer les outils VMWare, pour rendre la machine virtuelle agréable. C’est assez simple je ne vais pas détailler ce point.

Maintenant, il y a une chose à savoir : les mise à jours n’aiment pas la bidouille qui consiste à modifier Mac OS X.

Si vous voulez mettre à jour le système, il va d’abord falloir supprimer le fichier ServerVersion.plist qui se trouve dans /Système/Bibliothèque/CoreServices/. Normalement, le système va vous demander le mot de passe.

Une fois que c’est fait, il faut mettre à jour le système, en cliquant sur la  et en choisissant Mise à jour de logiciels…. Il faut attendre qu’il télécharge les mises à jour et bien redémarrer quand le système le propose. Ensuite, et c’est normal, la machine virtuelle ne voudra plus démarrer.

On a maintenant besoin de l’image utilisée pour installer le système. Il faut la monter, comme dans les premières étapes.

Ensuite, dans VMware Fusion, il faut cliquer sur l’icône du CD et choisir comme source l’image en question et bien connecter le lecteur optique

Là, ça va se compliquer. Il faut chercher le fichier contenant la machine virtuelle, qui se trouve sur votre disque dur. Une fois trouvé, il faut faire un clic secondaire sur le fichier et choisir Afficher le contenu du paquet. Ensuite, il faut chercher un fichier qui porte le nom de la machine virtuelle et donc l’extension est .vmx.

Ce fichier, il faut l’éditer avec TextEdit (par exemple) et ajouter une ligne à la fin.

bios.forceSetupOnce = "TRUE"

Ensuite, il faut fermer le fichier et démarrer la machine virtuelle.

Normalement, un menu devrait apparaître. Il faut bien choisir Boot Manager et sélectionner ensuite EFI VMWare Virtual SCSI CDROM Drive.

La machine virtuelle va démarrer sur le DVD virtuel, il faut ensuite choisir la langue. Une fois que c’est fait, il faut cliquer dans le menu Utilitaire et lancer le Terminal.

Attention, le système utilise par défaut un clavier américain, pensez donc à changer la langue en cliquant sur le drapeau en haut à droite pour passer le clavier en français…

Ensuite, il faut taper une commande.

touch "/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist"

Une fois la commande tapée, il suffit de redémarrer la machine virtuelle.

Si vous avez bien suivi les instructions, la machine virtuelle devrait fonctionner avec un système à jour.

Les (derniers) points :

• VMWare n’émule pas un GPU, donc Quartz Extrême n’est pas activé, ce qui peut poser des problèmes à certaines applications. iMovie, par exemple, ne se lance pas.

• Pour les mises à jour des applications, comme iLife, pas de problèmes : ça va fonctionner.

• VMWare n’émule pas de carte son pour Mac OS X, donc il n’y a pas de son dans la machine virtuelle. La solution la plus simple est de dédier des enceintes USB ou une carte son USB à la machine virtuelle si c’est vraiment nécessaire.

• iWork ’09 ne fonctionne pas correctement dans la machine virtuelle, les logiciels se lancent mais impossible de taper du texte.

• Si Spotlight ne fonctionne pas, ce qui arrive visiblement parfois, il faut taper la ligne de commande suivante.

sudo mdutil –i on / && sudo mdutil –E /

• Un dernier conseil : garder l’image de démarrage modifiée bien au chaud, ça peut servir en cas de problème.

Pour le reste, je vous laisse jouer…