Introduction
Au lancement de Windows Vista, très nombreux furent ceux à regretter que ce nouveau système revu en profondeur eût un gros défaut : il n’était plus compatible avec d’anciennes applications qui fonctionnaient pourtant sans encombre sous Windows XP. Ce défaut peut en grande partie expliquer la réticence de beaucoup d’entreprises à migrer vers la nouveauté.
Pour que Windows 7 réussisse enfin à faire convaincre les sociétés d’oublier l’indéboulonnable XP, les développeurs de Microsoft ont trouvé une solution : rendre gratuitement disponible une machine virtuelle sous Windows XP à tout possesseur de Windows 7 Edition Professionnelle. Cette fonctionnalité le “Mode Windows XP”, qui ressemble un peu à bricolage de dernière minute, est-elle réellement utilisable en remplacement d’un XP réel ? Décrouvrez-le dans notre prise en main.
Clarifications
Le Mode Windows XP de 7 est téléchargeable gratuitement par n’importe quel utilisateur des éditions Professionnelle, Entreprise et Intégrale de Windows 7. Le Mode XP n’est pas utilisable sur les autres versions de 7, ni sur une version de Windows XP (sans surprise) ou Vista. Ceci posé, il nous faut clarifier la confusion plus ou moins volontairement entretenue par Microsoft : le mode Windows XP n’est pas forcément ce que l’on croit.
Par “Mode Windows XP” Microsoft ne désigne pas exactement la possibilité de faire fonctionner une machine virtuelle XP sous 7. Cette possibilité nécessite l’installation de deux composants : Windows Virtual PC et Windows XP Mode (que nous abbrévierons en WVPC et XPM par la suite).
Le premier est en réalité la nouvelle version de l’hyperviseur grand public de Microsoft, Virtual PC, dont la précédente mouture, Virtual PC 2007, était déjà gratuite pour tous les utilisateurs de Windows XP ou Vista. Windows Virtual PC est toujours gratuit, mais ne fonctionne que sur une machine sous Windows 7 (toutes éditions). Par rapport à Virtual PC 2007, Windows Virtual PC est une évolution en profondeur qui apporte notamment un bien meilleur support des périphériques USB, le partage entre OS hôte et OS invité de disques entiers (et plus seulement de dossiers), le partage du contenu du presse papier, et la séparation de chaque OS invité en autant de threads différents.
Le second est la machine virtuelle sous Windows XP SP3 en tant que telle (préactivée), sous la forme d’un disque virtuel. C’est cette image spéciale qui n’est installable que sur les éditions Windows 7 Pro, Entreprise et Intégrale. Cependant, si vous disposez d’une autre version de 7, rien ne vous empêche de créer vous même une autre machine virtuelle. Windows Virtual PC accepte officiellement Windows XP SP3, Windows Vista et Windows 7 en tant qu’OS invité. Mais seules les éditions Entreprise ou Intégrale de ces systèmes vous permettront de profiter des “applications virtuelles” dont nous vous présentons le fonctionnement plus loin.
Soulignons que Windows Virtual PC comme Windows XP Mode ne sont pour l’instant qu’en version RC. Microsoft n’a donné aucune date pour la disponibilité des versions finales. Sans doute l’éditeur se laisse-t-il le temps de collecter un maximum de remontées d’utilisateurs.
Core 2 Quad ou Pentium II ?
L’installation se déroule en deux étapes très simples : lancer l’installation de WVPC, puis celle de la machine Windows XP. Il n’y a besoin de rien d’autre, et notamment pas de posséder un CD original de Windows XP. On se retrouve ainsi avec un nouveau dossier dans le menu démarrer, intitulé “Windows Virtual PC”. Celui-ci donne accès à la machine virtuelle Windows XP, mais pas seulement comme nous le verrons par la suite.
La machine virtuelle proprement dite est présente sous plusieurs formes. Elle est présentée à l’utilisateur sous la forme d’un ficher .vmcx stocké dans le dossier c:utilisateurs*nom*ordinateurs virtuels. Ouvrir ce fichier lance directement la machine virtuelle, mais un clic droit permet également d’accéder aux réglages de ladite machine.
En fait, ce fichier vmcx s’apparente à un raccourci. Les véritables fichiers constituant la machine Windows XP sont cachés ailleurs dans c:utilisateurs*nom*AppDataLocalMicrosoftWindows Virtual PCOrdinateurs Virtuels.
Là on retrouve le disque dur virtuel au format vhd et un fichier configuration de la machine virtuelle .vmc. Windows 7 gérant nativement ce nouveau format de type VHD, il suffit de monter le disque dur virtuel via l’outil de gestion des disques pour explorer notre Windows virtuel. Un exercice pas très intéressant toutefois puisqu’on y retrouve tout simplement les habituels fichiers constituant un Windows XP SP3 classique.
Poussons un peu plus loin notre curiosité. Un petit coup d’oeil au gestionnaire de périphériques du XP invité nous permet de voir quel matériel virtuel est simulé par l’hyperviseur Windows Virtual PC. Si le processeur est bien vu comme un Core 2 Quad QX6850 à 3 GHz, Windows XP ne lui voit cependant qu’un seul coeur d’exécution au lieu de quatre. Le chipset virtuel est lui un antédiluvien Intel 443BX (datant de l’ère Pentium II). La carte graphique est à l’avenant puisqu’il s’agit d’une S3 Trio 64 dotée de 16 Mo de mémoire, et la carte son est une Sond Blaster 16. Bienvenue en 1998 !
On remarque également dans le gestionnaire de périphériques des ports série COM et parallèle LPT. Voilà qui devrait ravir ceux possédant encore des matériels utilisant ces connectiques non reconnues par Windows Vista ou 7. N’ayant pas d’imprimante parallèle sous la main nous n’avons cependant pas pu tester leur bon fonctionnement.
Utiliser XP : les trois modes
Dès le premier lancement, l’utilisation de XPM est agréable. Le lancement est très rapide (du moins sur notre machine de test, un Core 2 Quad QX6850 à 3 GHz, doté de 4 Go et d’un disque dur velociraptor 300 Go). On n’a pas le sentiment de démarrer un système d’exploitation complet, tout au plus une application un peu lourde.
La machine virtuelle se présente dans une fenêtre à part déplaçable et redimensionnable à volonté. C’est un Windows XP complet avec sa barre des tâches et son bureau. Ce système d’exploitation virtualisé est parfaitement bien intégré à l’OS hôte Windows 7 :
- le clavier et la souris passent sans hésitation de l’un à l’autre,
- le presse papier est partagé entre les deux systèmes,
- les disques durs physiques du PC apparaissent dans le système invité comme des disques réseaux partagés, affublés des mêmes lettres que sur le système hôte (par exemple D: pour le lecteur CD, E: pour une clé USB),
- la connexion réseau est automatiquement partagée en mode NAT.
On note que les raccourcis clavier usuels (Ctrl+Alt+Suppr, Windows+R, Alt-Tab, etc.) ne sont pas envoyés à la machine virtuelle lorsqu’elle est exécutée en mode fenêtré. Si l’on passe la machine virtuelle en plein écran, par contre, Windows 7 disparaît totalement : la barre des tâches de 7 est masquée par celle de XP, et les raccourcis clavier sont interprétés par XP.
Cette parfaite intégration est ce que Microsoft appelle “le mode amélioré”. Elle est réalisée par un mécanisme inattendu, mais bien connu des administrateurs systèmes : Remote Desktop Services. La machine virtuelle agit en réalité comme un serveur d’applications Remote Desktop Protocol. L’utilisateur du système hôte accède donc à la machine virtuelle en tant que client au travers d’un canal de communication RDP invisible.
Il est possible de désactiver ces optimisations, ou “fonctionnalités d’intégration” comme les baptise Microsoft. On perd alors le partage automatique des disques ou des imprimantes. C’est ce que Microsoft désigne comme “le mode basique”. Ce mode peut paraître inutile, mais il est indispensable pour installer certaines applications ne tolérant pas le passage par RDP ou par exemple pour utiliser des applications utilisant DirectX. Comme nous le verrons plus loin utiliser DirectX même en mode basique ne va pas de soi.
Utiliser XP : les trois modes (suite)
Un troisième mode de fonctionnement donne toute sa force au mode Windows XP de 7 : les applications virtuelles. Les applications virtuelles sont toutes les applications installées dans la machine virtuelle XP (et donc par exemple des applications incompatibles avec 7). Chacune est directement accessible dans le menu démarrer de 7, dans le groupe “Virtual PC”, à côté de la machine virtuelle XP. Ces applications peuvent être lancées sans que la machine virtuelle soit démarrée auparavant. Une fois lancées, ces applications apparaîssent seules dans leurs fenêtres, comme n’importe quelle autre application non virtualisée. La machine virtuelle XP reste invisible.
Ces applications virtuelles sont encore mieux intégrées au système hôte. Par exemple plutôt que de proposer d’ouvrir ou de sauvegarder des documents présents dans le disque virtuel de la machine XP comme elles le font lorsqu’elles sont lancées au sein de la machine virtuelle, les applications virtualisées accèdent directement aux dossiers standards (Mes Documents, Mes Images, etc.) du système hôte. Mieux encore, l’application virtuelle est associée automatiquement aux fichiers qu’elle seule peut ouvrir. Par exemple, si l’on installe Word uniquement sur la machine virtuelle XP, un document .doc sera ouvert automatiquement par Windows 7 dans le Word virtualisé. Enfin, et c’est une nouveauté des versions RC de XPM et WVPC, il est possible d’associer un périphérique USB à une application virtualisée. Dans les précédentes bêta, il fallait obligatoirement passer par la machine virtuelle complète.
Là encore, cette intégration quasi invisible de la virtualisation repose sur l’utilisation du protocole RDP, et plus exactement de ce que Microsoft appelle les Remote Apps. Les applications virtualisées sont exécutées sur une instance de la machine virtuelle XP qui reste invisible. Les actions de l’utilisateur (souris, clavier) sont envoyées à la VM par le système hôte via le canal RDP. Les modifications de l’affichage résultant sont renvoyées par la VM à l’hôte. En outre, pour réduire les temps de lancement, la machine virtuelle n’est pas désactivée dès que la dernière application virtuelle est fermée : elle perdure pendant 5 minutes.
Grâce à ces multiples efforts d’intégration, un utilisateur peu attentif pourrait ne jamais soupçonner qu’une machine virtuelle est installée sur son PC flambant neuf. Une belle prouesse, et à coup sûr un véritable argument pour les clients en entreprise.
Alors, parfait le mode XP de Windows 7 ? Ce n’est malheureusement pas tout à fait le cas. Des défauts et limitations agaçantes existent toujours.
Qu’est-ce qui ne marche pas ?
VT
L’un des points ayant fait couler beaucoup d’encre ces dernières semaines est la nécessité de posséder un processeur doté de fonctions de “virtualisation matérielle”. Le problème est que ces fonctions, baptisées Intel VT ou AMD-V, ne sont pas disponibles sur tous les CPU. Chez AMD la situation est assez simple, tous les processeurs actuellement en vente (à l’exception des Sempron) étant compatibles. Chez Intel, la gamme est nettement plus complexe, et il vous faudra vous assurer de la présence d’un processeur compatible dans votre machine à l’aide de l’outil ad hoc (téléchargeable ici). Mais encore cela ne suffit-il pas. Intel V et AMD-V peuvent en effet être bloqués par le BIOS. Il faut alors prendre garde à activer ces technologies au démarrage de la machine avant d’utiliser Windows Virtual PC. À défaut, l’hyperviseur refusera catégoriquement de démarrer.
DirectX
Pas question de l’utiliser pour jouer à des titres exigeant DirectX, les fonctions nécessaires ne sont pas supportées. Entêtés, nous avons tout de même tenté deux jeux pas trop exigeants : Unreal Tournament III et Quake Live. Comme prévu, si l’installation de UTIII ne pose aucun problème, son lancement est bloqué par un message d’erreur indiquant que le jeu ne peut pas afficher des graphismes 3D au travers d’une connexion Remote Desktop. Si l’on passe en mode basique, la situation s’améliore un tout petit peu : le message d’erreur disparaît et Unreal Tournament accepte de se lancer, mais plante quelques secondes plus tard.
Quake Live lui ne refuse pas le moins du monde de se lancer. Mais le jeu est malgré tout totalement inutilisable : avec notre Core 2 Quad 3 GHz et une Geforce 8800 GT, on ne dépasse pas les 5 images par seconde. Qui plus est, la souris n’est pas opérationnelle, ce qui est peu pratique dans un tel jeu. Bref, oubliez XPM pour la 3D.
Le MultiMoniteur
Dans un contexte de développements sur plusieurs OS, il peut être très intéressant d’étendre son bureau sur plusieurs moniteurs, chacun affichant un système différent. Windows Virtual PC sait créer un tel environnement multimoniteur, mais avec quelques restrictions :
– il faut que les deux moniteurs aient la même résolution
– la résolution maximale du bureau étendu est de 4096 x 2048
– le moniteur secondaire doit absolument être placé à la droite du moniteur principal.
Ces précautions prises, nous n’avons rencontré aucun problème en utilisant Windows 7 sur le moniteur principal et Windows XP en plein écran sur le moniteur secondaire. On a alors l’impression de travailler sur deux PC en même temps avec un partage total des ressources entre eux. Très agréable.
Applications ou Machine virtuelle
Il est possible d’exécuter autant d’applications virtualisées qu’on le souhaite simultanément. Il est également possible d’exécuter autant d’applications qu’on le souhaite au sein de la machine XPM ouverte. Mais on bute parfois sur une restriction : il n’est pas possible d’exécuter en même temps une machine virtuelle complète et des applications virtualisées.
Confusion dans la barre des tâches
Dernier grief ergonomique : la gestion de la barre des tâches de Windows 7 avec les applications virtualisées et les applications ouvertes dans une machine virtuelle. Lorsque plusieurs applications virtualisées sont lancées en même temps, elles appartiennent en réalité au même processus parent, vmsal.exe. Or par nature, la barre des tâches de 7 réunit dans une même icône les fenêtres d’un même processus. Toutes les applications virtualisées se trouvent donc réunies sous une même icône dans la barre, ce qui n’est pas très agréable pour qui veut passer de l’une à l’autre. De même, lorsque des applications sont lancées dans la machine virtuelle XP, elles n’apparaissent pas dans la barre des tâches de 7 : seule la machine virtuelle XP y est représentée.
Corollaire : les jump list offertes par 7 pour ces applications ne sont pas à la hauteur de leurs équivalents pour les applications exécutées nativement dans 7.
Malgré ces quelques défauts, WVPC est une très bonne solution de virtualisation pour 7, très bien intégrée et performante. En outre, il est gratuit. La tentation est donc grande de l’utiliser pour virtualiser autre chose que XP, mais est-ce possible ?
Windows Virtual PC et Linux
Microsoft assure que Virtual PC ne gère que Windows XP SP3, Vista ou 7 comme invité. Virtual PC 2007 permettant en son temps de virtualiser des distributions Linux, cette limitation aux systèmes Microsoft semble curieuse. Pour en avoir le coeur net, nous avons donc tenté la virtualisation d’une distribution Kubuntu. Surprise : l’installation se déroule comme un charme, et le bureau de KDE 4 ne tarde pas à apparaître sous nos yeux. Malheureusement, notre souris a obstinément refusé d’être reconnue par Kubuntu.
Un deuxième essai avec Mandriva Spring 2009 ne s’est pas mieux déroulé : l’installation réussit, mais l’utilisation est très compliquée par l’absence de souris. Windows Virtual PC n’est donc pas loin d’être une solution complète pour la virtualisation de Windows ou Linux sous 7, mais il reste encore un gros bug à corriger.
XP est mort, Vive XP !
Microsoft a su tirer les leçons des déboires de Vista. Avec le mode XP de Windows 7, l’éditeur propose une solution efficace à l’un des plus gros problèmes posés par la sortie de ses nouveaux systèmes d’exploitation : la non compatibilité avec de vieilles applications. Ces applications pourront maintenant être exécuées dans la machine virtuelle XP offerte gratuitement à ceux qui en auront le plus probablement besoin : les détenteurs d’une licence Professionnelle, Entreprise ou Intégrale de 7.
Cette solution qui peut ressembler à un bricolage inutilisable au quotidien au premier abord a été très bien intégrée à Windows 7. De nombreux automatismes rendent l’utilisation de la virtualisation presque totalement transparente pour un utilisateur lambda. Les entreprises pourront donc déployer Windows 7 muni du XP Mode auprès de leurs employés sans forcer ces derniers à se former sur l’utilisation d’une machine virtuelle.
Mais au delà des entreprises, même les particuliers pourraient tirer parti de Windows Virtual PC intégré dans 7. Un Windows XP isolé au sein d’une machine virtuelle offre une solution très sûre pour naviguer sur Internet (les virus contaminant la machine virtuelle ne passeront pas la barrière de l’hyperviseur). Elle pourrait aussi être un bon moyen de mettre à jour un PC sans bousculer trop violemment les habitudes d’utilisation des autres membres de la famille peut être moins technophiles…