Installer les "Guest Additions" dans une machine virtuelle
Le principe des "Guest Additions" est de placer, au sein du noyau du système d'exploitation de la machine virtuelle, un certain nombre de routines de bas niveau qui communiquent avec la couche d'abstraction matérielle du logiciel de virtualisation.
On obtient ainsi une amélioration des performances d'accès aux périphériques physiques (à la carte graphique notamment) et une meilleure intégration avec le système hôte (partage du presse-papier et de la souris, par exemple). Elles ne sont pas indispensables et n'existent pas pour tous les type de systèmes invités[1].
Chaque version de VirtualBox apporte sa version des Guest Additions (qu'on peut traduire par modifications complémentaires pour les systèmes invités) sous la forme d'un fichier image ISO nommé "VBoxGuestAdditions.iso" déposé dans son répertoire d'installation.
christophe@Ubuntu:~$ cd /usr/share/virtualbox christophe@Ubuntu:/usr/share/virtualbox$ ls -al VBoxGuestAdditions.iso -rw-r--r-- 1 root root 33779712 2009-11-30 12:41 VBoxGuestAdditions.iso
Pour les installer dans le système invité, il faut dans un premier temps monter l'image ISO comme un CD-ROM. Il est possible de faire cela par le gestionnaire de support virtuel, par le menu de la fenêtre de la machine virtuelle où, comme c'est indiqué sur le menu, par le raccourci Host+D :
L'image ISO des Guest Additions apparait alors sur le bureau.
En l'ouvrant, on trouve un script d'installation nommé "autorun.sh" qui convient de lancer dans un terminal :
Après avoir autorisé le lancement par la saisie de votre mot de passe (le script intègre un "sudo"), l'installation se déroule avec une dialogue qui peut légèrement varier suivant qu'il s'agit d'une première installation ou d'une ré-installation.
Il faut en effet savoir que les Guest Additions doivent être réinstallées dans les cas suivants :
- chaque fois que la version du noyau du système invité est modifiée,
- chaque fois que la version majeure de VirtualBox change sur le système hôte,
- parfois pour le changement de la version mineure de VirtualBox sur le système hôte si les Guest Additions font l'objet de corrections.
Ci dessous, une trace liée à un changement de version majeure de VirtualBox :
Verifying archive integrity... All good. Uncompressing VirtualBox 3.1.0 Guest Additions for Linux........ VirtualBox Guest Additions installer You appear to have a version of the VBoxGuestAdditions software on your system which was installed from a different source or using a different type of installer. If you installed it from a package from your Linux distribution or if it is a default part of the system then we strongly recommend that you cancel this installation and remove it properly before installing this version. If this is simply an older or a damaged installation you may safely proceed. Do you wish to continue anyway? [yes or no] yes Building the VirtualBox Guest Additions kernel modules Building the main Guest Additions module ...done. Building the shared folder support module ...done. Building the OpenGL support module ...done. Doing non-kernel setup of the Guest Additions ...done. You should restart your guest to make sure the new modules are actually used Installing the Window System drivers Installing X.Org Server 1.6 modules ...done. Setting up the Window System to use the Guest Additions ...done. You may need to restart the hal service and the Window System (or just restart the guest system) to enable the Guest Additions. Installing graphics libraries and desktop services components ...done. Press Return to close this window...
Il est nécessaire de redémarrer le système invité pour profiter des apports liés aux Guest Additions :
- L'intégration du pointeur de souris; au lieu des deux curseurs, dont l'un reste comme enfermé dans la fenêtre du système invité, un seul pointeur agit indifféremment sur les fenêtres de l'hôte et celles de l'invité, ce qui est bien plus confortable.
- Le presse papier partagé, mono ou bidirectionnel (à configurer pour chaque machine virtuelle); l'enchainement entre un copier et un coller fonctionne entre les deux machines au lieu d'être cantonnés à une seule.
- La taille de fenêtre flottante; le système invité occupe toute la fenêtre mise à sa disposition par le système hôte (raccourci Host+G) jusqu'au mode plein écran (raccourci Host+F).
Grâce à ces Guest Additions, l'intégration est bien meilleure et les performances sont accrues, ce qui permet d'envisager de consacrer un des bureaux de l'hôte à l'exécution d'un machine virtuelle en plein écran comme on peut le voir sur cette image :
Notes
[1] On appelle hôte le système qui tourne sur la machine physique, et invité celui qui fait fonctionner la machine virtuelle.
Publié le jeudi 3 décembre 2009 par Christophe Catarina