Les suppléments invité
Le chapitre précédent traitait de la manière de commencer avec VirtualBox
et d'installer des systèmes d'exploitation dans une machine virtuelle. Pour une
utilisation interactive et sérieuse, les suppléments invité de VirtualBox vous
faciliteront beaucoup la vie, en offrant une intégration approfondie entre
l'hôte et l'invité et en améliorant la performance d'interactivité des systèmes
invités. Ce chapitre décrit en détail les suppléments invité.
Introduction
Comme indiqué au , les suppléments invité
sont conçus pour s'installer à l'intérieur d'une
machine virtuelle après qu'un système d'exploitation ait été installé. Il s'agit
de pilotes de périphériques et d'applications système qui optimisent le
système d'exploitation invité pour une meilleure performance et plus
d'utilisabilité. Merci de voir pour des détails sur les systèmes d'exploitation
entièrement supportés avec les suppléments invité par VirtualBox.
Les suppléments invité de VirtualBox pour tous les systèmes d'exploitation
invités supportés sont fournis sous forme d'un fichier unique d'image de
CD-ROM qui s'appelle
VBoxGuestAdditions.iso. Ce fichier image se
trouve dans le répertoire d'installation de VirtualBox. Pour installer les
suppléments invité sur une VM en particulier, vous montez ce fichier ISO dans
votre VM comme un CD-ROM virtuel et vous installez à partir de là.
Les suppléments invité offrent les fonctions suivantes :
Intégration du pointeur de souris
Pour dépasser la limite du support de la souris décrite au
, ceci vous offre un support
de la souris transparent. Vous n'aurez qu'un pointeur de souris et
l'appui sur la touche hôte n'est plus nécessaire pour "libérer" la
souris de sa capture par l'OS invité. Pour que cela fonctionne, un
pilote de souris spécial est installé dans l'invité pour communiquer
avec le pilote de la "vraie" souris de votre hôte et il déplace le
pointeur de la souris de l'invité en conséquence.
Dossiers partagés
Ceci fournit une manière facile d'échanger des fichiers entre
l'hôte et l'invité. Tout comme le voisinage réseau Windows ordinaire,
vous pouvez dire à VirtualBox de traiter un répertoire particulier
de l'hôte comme un dossier partagé et VirtualBox le rendra disponible
pour le système d'exploitation invité en tant que partage réseau,
que l'invité ait ou non un réseau. Pour les détails, merci de vous
reporter à .
Meilleur support graphique
Si la carte graphique virtuelle émulée par VirtualBox pour tous
les systèmes d'exploitation invités offre toutes les fonctions de
base, les pilotes graphiques personnalisés installés avec les suppléments
invité vous offrent ces modes graphiques supplémentaires élevés et
non standards ainsi qu'une performance graphique accélérée.
De plus, avec les invités Windows, Linux et Solaris, vous
pouvez redimensionner la fenêtre de la machine virtuelle si les suppléments
invité sont installés. La résolution graphique de l'invité sera
automatiquement ajustée (comme si vous aviez entré à la main une
résolution de votre choix dans les paramètres d'affichage de
l'invité). Merci de voir aussi .
Enfin, si les suppléments invité sont installés, les graphismes
3D et 2D des applications invités peuvent être accélérés ; voir
.
Fenêtres transparentes
Avec cette fonctionnalité, les fenêtres individuelles affichées
sur le bureau de la machine virtuelle peuvent se placer sur le bureau
de l'hôte comme si l'application à leur origine fonctionnait vraiment
sur l'hôte. Voir pour les
détails.
Canaux de communication hôte/invité génériques
Les suppléments invité vous permettent de contrôler et de surveiller
l'exécution de l'invité autrement que comme indiqué ci-dessus. Ce
qu'on appelle les "propriétés invité" fournit un mécanisme générique
à base de chaînes pour échanger des bits de données entre un invité
et un hôte, certains d'entre eux ayant des significations spéciales
pour contrôler et surveiller l'invité ; voir
pour les détails.
En outre, des applications peuvent être démarrées dans l'invité
à partir de l'hôte ; voir .
Synchronisation du temps
Quand les suppléments invité sont installés, VirtualBox peut
s'assurer que l'horloge système de l'invité est mieux synchronisée avec
celle de l'hôte.
Pour plusieurs raisons, il se peut que l'horloge de l'invité
tourne à un rythme légèrement plus lent que celle de l'hôte. L'hôte
pourrait recevoir des mises à jour par NTP et sa propre horloge
pourrait ne pas tourner de manière rectiligne. Une VM pourrait aussi
être mise en pause, ce qui arrête le cours du temps dans l'invité
pendant une durée plus ou moins longue. Quand le temps des horloges
séparées entre l'invité et l'hôte ne diffère que légèrement, le service de
synchronisation du temps essaie d'ajuster progressivement et
doucement l'heure de l'invité, par petites accélérations, soit pour
"rattraper", soit pour "perdre" du temps. Quand la différence est trop
importante (par exemple si la VM a été mise en pause pendant des
heures puis restaurée d'un état sauvegardé), l'heure de l'invité est
modifiée immédiatement sans ajustement progressif.
Les suppléments invité resynchroniseront l'heure régulièrement.
Voir pour savoir comment configurer
les paramètres du mécanisme de synchronisation du temps.
Presse-papier partagé
Quand les suppléments invité sont installés, le presse-papier
du système d'exploitation invité peut être éventuellement partagé
avec votre système d'exploitation hôte ; voir
.
Connexions automatiques (passer des droits)
Pour les détails, merci de voir .
Chaque version de VirtualBox, même celles mineures, inclut sa propre
version des suppléments invité. Si les interfaces par lesquelles le cœur
de VirtualBox communique avec les suppléments invité sont stables pour que
les suppléments invité déjà installés dans une VM continuent de fonctionner,
quand VirtualBox est mis à jour sur l'hôte, pour de meilleurs résultats, il
est recommandé d'avoir des suppléments invité de la même version.
À partir de VirtualBox 3.1, les suppléments invité pour Windows et Linux
vérifient donc automatiquement s'ils doivent être mis à jour. Si l'hôte fait
tourner une version plus récente de VirtualBox que celle des suppléments
invité, une notification avec des instructions complémentaires s'affiche dans
l'invité.
Pour désactiver cette vérification des mises à jour des suppléments invité
dans une machine virtuelle donnée, définissez la valeur de la propriété
invité
/VirtualBox/GuestAdd/CheckHostVersion
à 0 ; voir pour des détails.
Installer et maintenir les suppléments invité
Les suppléments invité sont disponibles pour les machines virtuelles
faisant fonctionner Windows, Linux, Solaris ou OS/2. Les sections suivantes
décrivent en détail les spécificités de chaque variante.
Suppléments invité pour Windows
Les suppléments invité de VirtualBox pour Windows sont conçus
pour s'installer dans une machine virtuelle exécutant un système d'exploitation
Windows. Les versions suivantes des invités Windows sont supportées :
Microsoft Windows NT 4.0 (tous les packs service)
Microsoft Windows 2000 (tous les packs service)
Microsoft Windows XP (tous les packs service)
Microsoft Windows Server 2003 (tous les packs service)
Microsoft Windows Server 2008
Microsoft Windows Vista (toutes les éditions)
Microsoft Windows 7 (toutes les éditions)
Microsoft Windows 8 (toutes les éditions)
Microsoft Windows Server 2012
Installation
Dans le menu "Périphériques" de la barre de menu de la machine
virtuelle, VirtualBox a un élément de menu tout prêt nommé "Insérer l'image
du CD des suppléments invité", qui monte le fichier ISO des suppléments invité
dans votre machine virtuelle. L'invité Windows devrait alors démarrer
automatiquement l'installeur des suppléments invité qui installe les
suppléments invité dans votre invité Windows. Les autres systèmes
d'exploitation invités (ou si le démarrage automatique d'un logiciel sur
CD est désactivé) exigent un démarrage manuel de l'installeur.
Pour que l'accélération Direct3D de base fonctionne dans un
invité Windows, vous devez installer les suppléments invité en "Mode
sans échec". Cela ne vaut pas pour
le pilote graphique expérimental WDDM Direct3D disponible pour les invités
Vista and Windows 7, voir pour les
détails.Le pilote expérimental WDDM a été ajouté avec
VirtualBox 4.1.
Si vous préférez monter les suppléments à la main, vous pouvez
suivre les étapes suivantes :
Démarrez la machine virtuelle dans laquelle vous avez installé
Windows.
Sélectionnez "Monter un CD/DVD-ROM" dans le menu "Périphériques"
de la barre de menus de la machine virtuelle, puis "image CD/DVD-ROM".
Ceci ouvre le gestionnaire de médias virtuels décrit au .
Dans le gestionnaire de médias virtuels, appuyez sur le bouton
"Ajouter" et parcourez le système de fichiers de votre hôte pour
trouver le fichier
VBoxGuestAdditions.iso :
Sur un hôte Windows, vous pouvez trouver ce fichier
dans le répertoire d'installation de VirtualBox (en général
sous C:\Program
files\Oracle\VirtualBox ).
Sur les hôtes Mac OS X, vous pouvez trouver ce fichier
dans le groupe de l'application VirtualBox. (Effectuez un clic
droit sur l'icône de VirtualBox dans Finder et choisissez
Afficher le contenu du paquet. S'y trouve
le fichier, dans le dossier
Contents/MacOS.)
Sur un hôte Linux, vous pouvez trouver ce fichier dans
le dossier
additions sous lequel vous avez
installé VirtualBox (normalement,
/opt/VirtualBox/).
Sur les hôtes Solaris, vous pouvez trouver ce fichier
dans le dossier
additions sous lequel vous avez
installé VirtualBox (normalement
/opt/VirtualBox).
De retour dans le gestionnaire de médias virtuels, sélectionnez
ce fichier ISO et appuyez sur le bouton "Sélectionner". Ceci montera
le fichier ISO et le présentera à votre invité Windows comme un
CD-ROM.
Sauf si vous avez désactivé la fonction "Exécution automatique" de
votre invité Windows, Windows démarrera automatiquement le programme
d'installation des suppléments invité de VirtualBox depuis l'ISO
Additions. Si vous avez désactivé la fonction d'exécution automatique,
choisissez
VBoxWindowsAdditions.exe dans le lecteur
CD/DVD dans l'invité pour démarrer l'installeur.
L'installeur ajoutera plusieurs pilotes de périphériques à la base
de données des pilotes Windows puis appellera l'assistant Nouveau matériel
détecté.
Selon votre configuration, il pourrait afficher des avertissements
selon lequel les pilotes n'ont pas de signature numérique. Vous devez
les confirmer afin qde continuer l'installation et d'installer correctement
les suppléments.
Après l'installation, redémarrez votre système d'exploitation
invité pour activer les suppléments.
Mettre à jour les suppléments invité Windows
Les suppléments invité Windows peuvent être mis à jour en lançant
de nouveau le programme d'installation comme décrit précédemment.
Ceci remplacera les pilotes des suppléments précédents par des versions
mises à jour.
Vous pouvez aussi ouvrir le gestionnaire de périphériques de Windows
et sélectionner "Mettre à jour le pilote..." pour deux périphériques :
l'adaptateur graphique de VirtualBox et
le périphérique système VirtualBox.
Pour chacun d'eux, choisissez de fournir votre propre pilote et
utilisez "Vous avez un disque" pour orienter l'assistant sur le lecteur
de CD-ROM contenant les suppléments invité.
Installation silencieuse
Avant d'effectuer une installation sans efforts des suppléments
invité de VirtualBox sur un invité Windows, il doit y avoir absolument
des Oracle CA (Certificate Authority) installés, pour empêcher des
fenêtres d'intervention de l'utilisateur qui contrarieront une
installation silencieuse.
Sur certaines versions de Windows comme Windows 2000 et Windows XP
les fenêtres d'intervention de l'utilisateur mentionnées ci-dessus
s'afficheront toujours, même après avoir importé les certificats d'Oracle.
Depuis VirtualBox 4.2, vous pouvez installer ces certificats CA
sur un invité Windows de façon automatisée en utilisant l'outil
VBoxCertUtil.exe qui se trouve sur
le CD d'installation des suppléments invité dans le dossier
cert :
Connectez-vous en tant qu'administrateur sur l'invité.
Montez le .ISO des suppléments invité de VirtualBox.
Ouvrez une fenêtre de ligne de commande sur l'invité et rendez-vous
dans le dossier cert du CD des
suppléments invité de VirtualBox.
Faites VBoxCertUtil add-trusted-publisher oracle-vbox.cer --root oracle-vbox.cer
Cela installera les certificats dans le stockage des certificats.
Si on installe les mêmes certificats plus d'une fois, une erreur
circonstanciée s'affichera.
Avant VirtualBox 4.2, il faut importer les certificats CA d'Oracle
de manière plus manuelle en utilisant l'outil
certutil.exe inclu depuis Windows
Vista. Pour des versions de Windows antérieures à Vista, vous devez
télécharger et installer certutil.exe
à la main. Les certificats n'étant pas sur le CD-ROM des suppléments
invité de VirtualBox précédant la 4.2, vous devez les extraire préalablement
d'un exécutable de VirtualBox signé.
Dans l'exemple suivant, les ertificats nécessaires seront extraits
de l'installeur des suppléments invité pour Windows sur le CD-ROM :
VeriSign Code Signing CA
Dans l'explorateur Windows, faites un clic droit sur
VBoxWindowsAdditions-<Architecture>.exe, cliquez sur
"Propriétés"
Allez sur l'onglet "Signatures numériques", choisissez
"Oracle Corporation" et cliquez sur "Détails"
Dans l'onglet "Général" cliquez sur "Afficher le Certificat"
Dans l'onglet "Chemin de Certification", sélectionnez
"VeriSign Class 3 Public Primary CA"
Cliquez sur "Afficher le certificat"
Dans l'onglet "Détails" cliquez sur "Copier vers le fichier..."
Dans l'assistant qui apparaît, choisissez "DER encoded binary (binaire
encodé DER X.509 (.CER)" et enregistrez le fichier du certificat
dans un chemin local, puis terminez l'assistant
Fermez la boîte de dialogue du certificat "Verisign Class 3 Code Signing
2010 CA"
Oracle Corporation
Dans l'explorateur Windows, effectuez un clic droit sur
VBoxWindowsAdditions-<Architecture>.exe, cliquez sur
"Propriétés"
Allez sur l'onglet "Signatures numériques", choisissez
"Oracle Corporation" et cliquez sur "Détails"
Dans l'onglet "Général", cliquez sur "Afficher le Certificat"
Dans l'onglet "Détails" cliquez sur "Copier vers le fichier ..."
Dans l'assistant qui apparaît, choisissez "DER encoded binary X.509 (.CER)"
et enregistrez le fichier du certificat dans un chemin local, terminez
l'assistant
Fermez la boîte du dialogue du certificat "Oracle Corporation"
Après avoir exporté les deux certificats ci-dessus, vous pouvez
les importer dans le trousseau des certificats en utilisant l'outil
certutil.exe :
certutil -addstore -f Root "<Chemin du fichier
du certificat exporté>"
Afin de permettre des installations invité entièrement sans efforts,
vous pouvez spécifier un paramètre en ligne de commande au lanceur de
l'installation :
VBoxWindowsAdditions.exe /S
Ceci installe automatiquement les bons fichiers et les bons pilotes
pour la plateforme correspondante (32 ou 64 bits).
Par défaut, sur une installation sans efforts sur un invité
Windows 7 ou 8, un pilote graphique XPDM va s'installer. Ce pilote
graphique ne supporte pas Windows Aero / Direct3D de l'invité - il faut
donc installer à la place le pilote graphique expérimental WDDM. Pour
sélectionner ce pilote par défaut, ajoutez le paramètre
/with_wddm de la ligne de commande quand
vous appelez l'installeur des suppléments invité Windows.
Pour que Windows Aero fonctionne correctement sur un invité,
la taille de la mémoire graphique de l'invité doit être configurée pour
être d'au moins 128 Mo.
Pour plus d'options concernant les installations d'invité sans efforts,
consultez l'aide en ligne de commande en utilisant la commande :
VBoxWindowsAdditions.exe /?
Suppléments invité pour Linux
Comme les suppléments invité Windows, les suppléments invité de
VirtualBox pour Linux sont un ensemble de pilotes de périphérique et
d'applications système qui s'installent dans le système d'exploitation invité.
Les distributions Linux suivantes sont supportées officiellement :
Oracle Linux à partir de la version 5, y compris les noyaux UEK ;
Fedora à partir de Fedora Core 4;
Redhat Enterprise Linux à partir de la version 3;
SUSE et openSUSE Linux à partir de la version 9;
Ubuntu à partir de la version 5.10.
Beaucoup d'autres distributions sont connues pour fonctionner avec
les suppléments invité.
La version du noyau Linux fournie par défaut dans SUSE et
openSUSE 10.2, dans Ubuntu 6.10 (toutes les versions) et Ubuntu 6.06
(édition serveur) contient un bogue qui peut le faire planter au démarrage
quand il tourne sur une machine virtuelle. Les suppléments invité fonctionnent
dans ces distributions.
Remarquez que certaines distributions Linux sont déjà fournies avec
tout ou partie des suppléments invité VirtualBox. Vous pouvez choisir
de garder la version des suppléments invité de votre distribution, mais
ils sont souvent obsolètes et limités dans leurs fonctionnalités, donc nous
recommandons de les remplacer par les
suppléments invité fournis avec VirtualBox. L'installeur des suppléments
invité de VirtualBox pour Linux essaie de détecter l'installation existante
et de les remplacer, mais selon la façon dont votre distribution intègre
les suppléments invité, cela peut exiger un peu d'intervention manuelle.
Il est fortement
recommandé de prendre un instantané de la machine virtuelle avant de
remplacer les suppléments invité préinstallés.
Installer les suppléments invité pour Linux
Les suppléments invité VirtualBox pour Linux sont fournis sur
le même fichier de CD-ROM virtuel que les suppléments invité pour Windows
décrits ci-dessus. Ils sont également fournis avec un programme d'installation
qui vous guide à travers le processus de paramétrage bien que du fait des
différences significatives entre les distributions Linux, l'installation
peut être légèrement plus complexe.
L'nstallation implique généralement les étapes suivantes :
Avant d'installer les suppléments invité, vous devrez
préparer votre système invité à construire les modules externes du
noyau. Ceci fonctionne comme décrit au , sauf que cette étape doit être
maintenant effectuée dans votre invité Linux
et non sur un système hôte Linux , comme décrit ici.
De nouveau, comme avec les hôtes Linux, nous recommandons
d'utiliser DKMS s'il est disponible pour le système invité. S'il n'est
pas installé, utilisez cette commande pour les systèmes Ubuntu/Debian :
sudo apt-get install dkms
ou, pour les systèmes Fedora : yum install dkms
Assurez-vous d'installer DKMS avant
d'installer les suppléments invité Linux. Si DKMS n'est pas disponible
ou pas installé, il faudra recréer à la main les modules noyau de
l'invité à chaque fois que le noyau invité sera mis à jour en utilisant
la commande /etc/init.d/vboxadd setup en tant
qu'administrateur.
Insérez le fichier de CD
VBoxGuestAdditions.iso dans le lecteur
CD-ROM virtuel de votre système invité, exactement de la même façon
que ce qui est décrit pour un invité Windows dans .
Rendez-vous dans le répertoire où est monté votre lecteur CD-ROM
et exécutez, en tant qu'administrateur :
sh ./VBoxLinuxAdditions.run
Pour votre confort, nous fournissons les
instructions pas à pas suivantes pour les copies fraîchement installées
des versions récentes des distributions Linux les plus populaires.
Après ces étapes préparatoires, vous pouvez
exécuter l'installeur des suppléments invité VirtualBox comme décrit
ci-dessus.
Ubuntu
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez apt-get update en tant qu'administrateur
suivi de apt-get upgrade
Installez DKMS en utilisant apt-get install dkms
Redémarrez votre système invité afin d'activer les mises à
jour puis poursuivez comme décrit ci-dessus.
Fedora
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez yum update en tant qu'administrateur.
Installez DKMS et le compilateur GNU C en utilisant
yum install dkms suivi de
yum install gcc
Redémarrez votre système invité afin d'activer les
mises à jour puis poursuivez comme décrit ci-dessus.
openSUSE
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez zypper update en tant
qu'administrateur.
Installez l'outil make et le compilateur GNU C en utilisant
zypper install make gcc
Redémarrez votre système invité afin d'activer les
mises à jour.
Cherchez le noyau que vous exécutez en utilisant uname -a
Un exemple serait
2.6.31.12-0.2-default qui renvoie
au noyau "par défaut". Puis installez le bon paquet de
développement du noyau. Dans l'exemple ci-dessus, il s'agirait de
zypper install kernel-default-devel
Assurez-vous que votre noyau actuel
(uname -a) et les paquets du
noyau que vous avez installés (rpm -qa
kernel\*) ont exactement le même numéro de version.
Continuez l'installation comme décrit ci-dessus.
SuSE Linux Enterprise Desktop (SLED)
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez zypper update en tant
qu'administrateur.
Installez le compilateur the GNU C en utilisant
zypper install gcc
Redémarrez votre système invité afin d'activer les
mises à jour.
Cherchez le noyau que vous exécutez en utilisant uname -a
Un exemple serait
2.6.27.19-5.1-default qui renvoie
au noyau "par défaut". Puis installez le bon paquet de
développement du noyau. Dans l'exemple ci-dessus, il s'agirait de
zypper install kernel-syms kernel-source
Assurez-vous que votre noyau actuel
(uname -a) et les paquets du
noyau que vous avez installés (rpm -qa
kernel\*) ont exactement le même numéro de version.
Continuez l'installation comme décrit ci-dessus.
Mandrake
Mandrake inclut des suppléments invité VirtualBox qui seront
remplacés si vous suivez ces étapes.
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez urpmi --auto-update
en tant qu'administrateur.
Redémarrez le système afin d'activer les mises à jour.
Installez DKMS en utilisant urpmi dkms
et assurez-vous de choisir le bon paquet kernel-devel quand
l'installeur vous le demande (utilisez uname -a
pour comparer).
Oracle Linux, Red Hat Enterprise Linux et CentOS
Pour les versions antérieures à 6, ajoutez
divider=10 aux options de démarrage
du noyau dans
/etc/grub.conf pour réduire la
charge du processeur actif.
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez yum update en tant
qu'administrateur.
Installez le compilateur GNU C et les paquets de développement
du noyau en utilisant yum install gcc suivi de
yum install kernel-devel Pour les noyaux
Oracle UEK, utilisez yum install kernel-uek-devel
pour installer les en-têtes du noyau UEK.
Redémarrez votre système invité afin d'activer les
mises à jour puis poursuivez comme décrit ci-dessus.
Si Oracle Linux ne trouve pas les paquets requis,
soit vous devez les installer à partir d'une autre source (comme
un DVD), soit utilisez le serveur public Yum d'Oracle
qui se troupe sur http://public-yum.oracle.com.
Debian
Afin de mettre à jour complètement votre système invité, ouvrez un
terminal et lancez apt-get update en tant qu'administrateur
suivi de apt-get upgrade
Installez l'outil make et le compilateur GNU C en utilisant
apt-get install make gcc
Redémarrez votre système invité afin d'activer les
mises à jour.
Déterminez la version exacte de votre noyau en utilisant
uname -a et installez la bonne
version du paquete linux-headers, par exemple en utilisant
apt-get install linux-headers-2.6.26-2-686
Intégration graphique de la souris
Dans les invités Linux et Solaris, l'intégration graphique de la
souris de VirtualBox passe par le système X Window. VirtualBox peut
utiliser la variante X.Org du système (ou XFree86 version 4.3 qui est
identique à la première version de X.Org). Au cours du processus
d'installation, le serveur d'affichage X.Org sera paramétré pour utiliser
les pilotes graphiques et de souris fournis avec les suppléments invité.
Après l'installation des suppléments invité dans une installation
neuve d'une distribution Linux ou d'un système Solaris supportés, (beaucoup
de systèmes non supportés fonctionneront correctement aussi), le mode
graphique de l'invité changera pour s'adapter à la taille de la fenêtre
VirtualBox et de l'hôte lorsqu'elle est redimensionnée. Vous pouvez aussi
demander au système invité de passer à une résolution en particulier en
envoyant une "suggestion de mode graphique" en utilisant l'outil
VBoxManage.
Plusieurs écrans invités sont supportés dans les invités utilisant
le serveur X.Org version 1.3 (qui fait partie de la version 7.3 du
système X Window version 11) ou une version supérieure. La présentation
des écrans invités peut être ajustée au besoin en utilisant les outils
fournis avec le système d'exploitation invité.
Si vous voulez mieux comprendre les détails de la manière dont les pilotes
X.Org sont paramétrés (en particulier si vous souhaitez les utiliser dans
un réglage non géré correctement par notre installeur), vous devriez lire
.
Metter à jour les suppléments invité Linux
Les suppléments invité peuvent être mis à jour simplement en refaisant
la procédure d'installation avec une image de CD-ROM mise à jour. Ceci
remplacera les pilotes par des versions mises à jour. Vous devriez
redémarrer après avoir mis à jour les suppléments invité.
Désinstaller les suppléments invité Linux
Si vous avez une version des suppléments invité installée sur
votre machine virtuelle et si vous souhaitez l'enlever sans en installer
d'autres, vous pouvez le faire en insérant l'image CD des suppléments
invité dans le lecteur de CD-ROM virtuel comme décrit ci-dessus et en
lançant l'installeur des suppléments invité actuels avec le paramètre
"uninstall" à partir de l'endroit où est monté l'image du CD sur
l'invité : sh ./VBoxLinuxAdditions.run uninstall
Si cela fonctionnera en principe sans problème, il se peut que vous
deviez faire certains nettoyages à la main sur l'invité (en particulier
du fichier XFree86Config ou xorg.conf) dans certains cas, surtout si la
version installée des suppléments ou le système d'exploitation invité
étaient très anciens ou si vous avez fait vos propres modifications du
paramétrage des suppléments invité après les avoir installé.
À partir de la version 3.1.0, vous pouvez désinstaller les
suppléments en appelant /opt/VBoxGuestAdditions-@VBOX_VERSION_STRING@/uninstall.shMerci
de remplacer
/opt/VBoxGuestAdditions-@VBOX_VERSION_STRING@
par le bon répertoire d'installation des suppléments invité.
Suppléments invité pour Solaris
Comme les suppléments invité pour Windows, les suppléments invité
de VirtualBox pour Solaris incluent un ensemble de pilotes de périphériques
et d'applications système qui peuvent s'installer dans le système d'exploitation
invité.
Les distributions Solaris suivantes sont officiellement
supportées :
Solaris 11 y compris Solaris 11 Express;
Solaris 10 (u5 et supérieur);
Il se peut que d'autres distributions fonctionnent si elles se basent
sur des versions des logiciels comparables.
Installer les suppléments invité Solaris
Les suppléments invité de VirtualBox pour Solaris sont fournis
sur le même ISO de CD-ROM que les suppléments pour Windows et Linux
décrits ci-dessus. Ils sont aussi fournis avec un programme d'installation
qui vous guide à travers le processus d'initialisation.
L'installation implique les étapes suivantes :
Monter le fichier
VBoxGuestAdditions.iso comme votre
lecteur de CD-ROM virtuel de votre invité Solaris, exactement comme
expliqué pour un invité Windows au .
Au cas où le lecteur de CD-ROM de l'invité ne se monte pas
(ce qu'on a constaté avec certaines versions de Solaris 10), exécutez
en tant qu'administrateur :
svcadm restart volfs
Rendez-vous dans le répertoire où votre lecteur de CD-ROM est
monté et exécutez en tant qu'administrateur :
pkgadd -G -d ./VBoxSolarisAdditions.pkg
Choisissez "1" et confirmez l'installation du paquet des
suppléments invité. Après la fin de l'installation, reconnectez-vous
au serveur X de votre invité pour activer suppléments invité de X11.
Désinstaller les suppléments invité Solaris
Les suppléments invité Solaris peuvent être supprimés en toute
sécurité en retirant de l'invité le paquet. Ouvrez une session de terminal
administrateur et exécutez :
pkgrm SUNWvboxguest
Mettre à jour les suppléments invité
Les suppléments invité devraient être mis à jour en désinstallant
d'abord les suppléments invité existants puis en installant les nouveaux.
Essayer d'installer de nouveaux suppléments invité sans supprimer ceux
existant n'est pas possible.
Suppléments invité pour OS/2
VirtualBox inclut aussi un jeu de pilotes qui améliore l'exécution
d'OS/2 dans une machine virtuelle. À cause de restrictions d'OS/2 lui-même,
cette variante des suppléments invité a un jeu de fonctionnalités limité ; voir pour les détails.
Les suppléments invité OS/2 sont fournis sur la même ISO de CD-ROM
que ceux des autres plateformes. Donc, montez l'ISO dans OS/2 comme décrit
précédemment. Les suppléments invité OS/2 se trouvent dans
directory \32bit\OS2.
Comme on ne fournit pas pour le moment d'installeur automatique,
merci de vous reporter au fichier readme.txt
de ce répertoire, qui décrit la façon d'installer les suppléments invité
OS/2 à la main.
Dossiers partagés
Avec la fonction "dossiers partagés", de VirtualBox, vous pouvez
accéder à des fichiers de votre système hôte depuis votre système invité.
Cela est identique à utiliser des partages réseau dans des réseaux Windows --
sauf que les dossiers partagés ne nécessitent pas de réseau mais seulement
les suppléments invité. Les dossiers partagés sont supportés avec les invités
Windows (2000 ou plus récent), Linux et Solaris.
Les dossiers partagés doivent être présents physiquement sur
l'hôte et sont alors partagés avec l'invité qui utilise
un pilote de système de fichiers spécial des suppléments invité pour dialoguer
avec l'hôte. Pour les invités Windows, les dossiers partagés sont implémentés
comme un redirecteur pseudo-réseau ; pour les invités Linux et Solaris,
les suppléments invité fournissent un système de fichiers virtuel.
Pour partager un dossier hôte avec une machine virtuelle de VirtualBox,
indiquer le chemin vers ce dossier et choisir pour lui un "nom partagé"
que l'invité peut utiliser pour y accéder. D'où: créez tout d'abord le dossier
partagé sur l'hôte, puis dans l'invité, connectez-vous-y.
Il existe plusieurs façons de paramétrer des dossiers partagés pour
une machine virtuelle en particulier :
Dans la fenêtre d'une VM en fonction, vous pouvez sélectionner
"Dossiers partagés" du menu "Périphériques" ou cliquer sur l'icône de
dossier dans la barre d'état dans le coin en bas à droite.
Si une VM est en fonction, vous pouvez configurer des dossiers
partagés dans chaque boîte de dialogue "Paramètres" d'une machine virtuelle.
En ligne de commande, vous pouvez créer des dossiers partagés en
utilisant VBoxManage, comme suit : VBoxManage sharedfolder add "nom VM" --name "sharename" --hostpath "C:\test"
Voir pour les
détails.
Il existe deux types de partages :
Les partages de VM disponibles seulement pour la VM pour laquelle
ils ont été définis ;
Partages inter-VM, qui peuvent être ajoutés et supprimés pendant
l'exécution et qui ne durent pas après l'arrêt d'une VM ; ajoutez
pour eux l'option --transient à la ligne
de commande ci-dessus.
Les dossiers partagés donnent par défaut un accès en lecture/écriture
aux fichiers de l'emplacement de l'hôte. Pour restreindre l'invité à un
accès en lecture seule, créez un dossier partagé en lecture seule. Cela peut
se faire soit en interface graphique, soit mettant l'option
--readonly lors de la création du dossier
partagé avec VBoxManage.
À partir de la version 4.0, les dossiers partagés de VirtualBox supportent
aussi les liens symboliques (symlinks), dans
les conditions suivamtes :
Le système d'exploitation hôte doit supporter les liens symboliques
(donc, un hôte Mac, Linux ou Solaris est requis).
Actuellement, seuls les suppléments invité pour Linux et Solaris
supportent les liens symboliques.
Pour des raisons de sécurité, l'OS invité n'est pas autorisé par
défaut à créer des liens symboliques. Si vous faites confiance à l'OS
invité pour ne pas abuser de la fonction, vous pouvez autoriser la
création de liens symboliques pour "nomdupartage" avec :
VBoxManage setextradata "VM name" VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename 1
Montage manuel
Vous pouvez monter des dossiers partagés depuis l'intérieur d'une VM
de la même façon que vous monteriez un partage réseau ordinaire :
Dans un invité Windows, on peut naviguer dans les dossiers
partagés qui apparaissent donc dans l'explorateur Windows. Donc,
pour connecter un dossier partagé à votre invité Windows, ouvrez
l'explorateur Windows et cherchez-le dans "Favoris réseaux" ->
"Tout le réseau" -> "Dossier partagé VirtualBox". En effectuant
un clic droit sur un dossier partagé et en sélectionnant "Connecter
un lecteur réseau" dans le menu qui apparaît, vous pouvez affecter
une lettre de lecteur à ce dossier partagé.
Sinon, sur la ligne de commande Windows, utilisez ce qui suit :
net use x: \\vboxsvr\sharename
Si vboxsvr est un nom figé
(remarquez que vboxsrv fonctionnerait
aussi), remplacez "x:" par la lettre de lecteur que vous voulez utiliser
pour le partage, et sharename par le
nom du partage spécifié avec VBoxManage.
Dans un invité Linux, utilisez la commande suivante :
mount -t vboxsf [-o OPTIONS] sharename mountpoint
Pour monter un dossier partagé au moment du démarrage, ajoutez
l'entrée suivante à /etc/fstab :
sharename pointmontage vboxsf defaults 0 0
Dans un invité Solaris, utilisez la commande suivante :
mount -F vboxfs [-o OPTIONS] nompartage mountpoint
Remplacez nompartage (utilisez
des minuscules) par le nom du partage spécifié avec
VBoxManage ou par l'interface graphique,
et pointmontage par l'endroit de l'invité où
vous voulez monter le partage (par exemple
/mnt/share). Les règles habituelles
de montage s'appliquent, c'ept-à-dire créer d'abord un répertoire s'il
n'existe pas déjà.
Voici un exemple de montage d'un dossier partagé pour l'utilisateur
"jack" sur Solaris :
$ id
uid=5000(jack) gid=1(other)
$ mkdir /export/home/jack/mount
$ pfexec mount -F vboxfs -o uid=5000,gid=1 jackshare /export/home/jack/mount
$ cd ~/mount
$ ls
sharedfile1.mp3 sharedfile2.txt
$
Par-delà les options standard fournies par la commande
mount, celles suivantes sont
disponibles :
iocharset CHARSET
pour définir l'encodage utilisé pour les opérations d'E/S.
Remarquez que sur les invités Linux, si vous ne spécifiez pas l'option
"iocharset", le pilote des suppléments invité essaiera d'utiliser
l'encodage spécifié par l'option CONFIG_NLS_DEFAULT du noyau.
Si cette option n'est pas définie, UTF-8 sera utilisé. En outre,
convertcp CHARSET
est disponible pour définir l'encodage utilisé pour le nom du dossier partagé
(utf8 par défaut) et
Les options de montage génériques (documentées dans la page de
manuel de mount) s'appliquent aussi. Celles particulièrement utiles
sont uid,
gid et
mode, car elles permettent un accès
par des utilisateurs ordinaires (en mode lecture/écriture selon les réglages)
même si l'administrateur a monté le système de fichiers.
Montage automatique
À partir de la version 4.0, VirtualBox peut monter automatiquement
des dossiers partagés avec vos options. Si le montage automatique est activé
pour un dossier partagé spécifique, les suppléments invité monteront
automatiquement ce dossier dès qu'un utilisateur se connecte à l'OS invité. Les
détails dépendent du type d'OS invité :
Avec des invités Windows,,
tout dossier monté automatiquement aura sa propre lettre de lecteur
(comme E:) selon les lettres de
lecteur disponibles dans l'invité.
Si aucune lettre de lecteur n'est libre, le montage automatique
échouera ; donc le nombre de lecteurs montés automatiquement est
limité en général à 22 ou moins avec des invités Windows.
Avec des invités Linux,, les
dossiers partagés montés automatiquement sont montés dans
le répertoire /media, avec le préfixe
sf_. Par exemple, le dossier partagé
myfiles serait monté dans
/media/sf_myfiles sur
Linux et dans /mnt/sf_myfiles sur
Solaris.
La propriété invité
/VirtualBox/GuestAdd/SharedFolders/MountPrefix
détermine le préfixe utilisé. Modifiez cette propriété invité en une
valeur différente de "sf" pour changer ce préfixe ; voir pour les détails.
L'accès aux dossiers partagés montés automatiquement n'est
autorisé que pour le groupe utilisateur
vboxsf, créé par l'installeur des
suppléments invité de VirtualBox. Donc les utilisateurs de l'invité
doivent être membres de ce groupe pour avoir un accès en lecture/écriture
ou en lecture seule si le dossier n'est pas inscriptible.
Pour modifier le répertoire de montage en autre chose que
/media, vous pouvez régler la propriété
invité /VirtualBox/GuestAdd/SharedFolders/MountDir.
Les invités Solaris se comportent
comme les invités Linux, sauf que /mnt
est utilisé comme répertoire de montage par défaut au lieu de
/media.
Pour effectuer des changements sur les dossiers partagés montés
automatiquement pendant qu'une VM est en fonction, l'OS invité doit être
relancé. (Cela ne vaut que pour les dossiers partagés montés automatiquement,
pas pour coux montés à la main.)
Glisser/Déplacer
À partir de la version 4.4, VirtualBox supporte le glisser/déplacer
d'un contenu de l'hôte à l'invité et vice versa. Pour que cela fonctionne
les derniers suppléments invité doivent être installés sur l'invité.
Le glisser/déplacer vous permet de façon transparente de copier ou
d'ouvrir des fichiers, des répertoires, et même certains formats de presse-papiers
entre eux (de l'hôte à l'invité ou de l'invité à l'hôte). Vous pouvez
ainsi effectuer des opérations de glisser/déplacer entre vhôte et une VM
comme si c'était un glisser/déplacer ordinaire sur l'OS de l'hôte.
Pour le moment, le glisser/déplacer est implémenté sur les systèmes Windows
et X-Windows, tant côté invité que côté hôtes. Comme X-Windows supporte
différents protocoles de glisser/déplacer, seul celui le plus utilisé, XDND,,
est supporté actuellement. Les applications qui utilisent d'autres protocoles
(telles que Motif ou OffiX) ne seront pas reconnues par VirtualBox.
Dans un contexte d'utilisation de glisser/déplacer, l'origine des
données s'appelle source, c'est-à-dire, le
point spécifié d'où viennent les données. De l'autre côté, il y a la
cible, qui désigne là où devraient aller les
données de la source. Le transfert de données de la source à la cible peut
se faire de plusieurs manières, comme en copiant, déplaçant ou créant des
liens.Pour le
moment, seule la copie de données est supportée. Le déplacement ou la création
de liens n'est pas encore implémenté.
Quand on transfère des données de l'hôte à l'OS invité, l'hôte est
dans ce cas la source, alors que l'OS invité est la cible. En revanche, quand
dans l'autre sens, à savoir lors d'un transfert de données de l'OS invité
vers l'hôte, l'OS invité devient cette fois la source et l'hôte est la cible.
Pour des raisons de sécurité, le glisser/déplacer peut se configurer
lors de l'exécution, individuellement pour chaque VM, en utilisant soit
l'élément "Glisser/déplacer" du menu "Périphériques" de la machine virtuelle
ou VBoxManage : Les quatre modes suivants sont disponibles :
Disabled désactive complètement
le glisser/déplacer. C'est le réglage par défaut à la création de
nouvelles VMs.
Host To Guest active le
glisser/déplacer de vhôte vers l'invité seulement.
Guest To Host active le
glisser/déplacer de l'invité à l'hôte seulement.
Bidirectional active le
glisser/déplacer dans les deux sens, de l'hôte vers l'invité et
vice versa.
Le support du glisser/déplacer dépend de l'interface
utilisée ; pour le moment, seule celle du gestionnaire VirtualBox offre
cette fonctionnalité.
Pour utiliser VBoxManage pour contrôler le mode actuel du glisser/déplacer,
voir . Les commandes modifyvm
et controlvm permettent de définir le mode
glisser/déplacer d'une VM en ligne de commande.
Formats supportés
Comme VirtualBox peut fonctionner sur divers OS hôtes et il supporte
une large gamme d'invités, certains formats de données doivent être
traduits après un transfert pour que l'OS cible (c'est-à-dire la partie qui
reçoit les données) puisse les gérer de la bonne manière.
Cependant, quand vous glissez des fichiers, on ne fait aucune
conversion de données, ainsi quand vous transférez un fichier d'un invité
Linux vers un hôte Windows, les ajouts spécifiques à Linux ne seront pas
convertis en ajouts Linux.
Les formats suivants sont gérés par le service glisser/déplacer de
VirtualBox :
Text brut, issu d'applications
telles un éditeur de texte, des navigateurs internet et des fenêtres
de terminal
Fichiers, issus de gestionnaires
de fichiers comme l'explorateur Windows, Nautilus et Finder
Répertoires, où la même
chose que pour les fichiers s'applique
L'accélération graphique matérielle
Accélération 3D matérielle (OpenGL and Direct3D 8/9)
Les suppléments invité de VirtualBox contiennent un support 3D
matériel expérimental pour les invités Windows, Linux et Solaris.
Le support OpenGL pour les invités Windows a été ajouté avec
VirtualBox 2.1 ; le support pour Linux et Solaris a suivi avec
VirtualBox 2.2. Avec VirtualBox 3.0, le support Direct3D 8/9 a été
ajouté pour les invités Windows. OpenGL 2.0 est maintenant supporté
aussi. Avec VirtualBox 4.1, le support du thème Windows Aero a été ajouté
pour les invités Windows Vista et Windows 7 (expérimental)
Avec cette fonction, si une application de votre machine virtuelle
utilise des fonctions 3D via les interfaces de programmation OpenGL ou
Direct3D 8/9, plutôt qu'une émulation logicielle (qui serait lente),
VirtualBox essaiera d'utiliser le matériel 3D de votre hôte. Cela fonctionne
pour toutes les plateformes hôtes supportées (Windows, Mac, Linux, Solaris),
pourvu que votre système d'exploitation hôte puisse utiliser votre accélération
3D matérielle au premier plan.
L'accélération 3D suppose actuellement les conditions suivantes :
elle n'est disponible que pour certains invités Windows, Linux
et Solaris. En particulier :
L'accélération 3D des invités Windows exige Windows
2000, Windows XP, Vista ou Windows 7. OpenGL et Direct3D 8/9
(pas avec Windows 2000) sont supportés
(expérimental).
OpenGL sur Linux exige un noyau 2.6.27 et supérieur et
le serveur X.org version 1.5 et supérieur. Ubuntu 10.10
et Fedora 14 ont été testées et confirmées comme opérationnelles.
OpenGL sur les invités Solaris exige le serveur X.org
version 1.5 et supérieur.
Les suppléments invité doivent être installés.
Pour l'accélération Direct3D de base fonctionne avec
les invités Windows, VirtualBox a besoin de remplacer des
fichiers système de Windows dans la machine virtuelle. Donc, le
programme d'installation suppléments invité offre l'accélération
Direct3D en option que vous devez activer explicitement. De plus,
vous devez installer les suppléments invité en mode "Sans échec".
Cela ne s'applique pas au pilote
graphique expérimental WDDM Direct3D disponible pour les invités
Vista et Windows 7, voir
pour les détails.
Le support 3D étant pour l'instant expérimental, il est désactivé par
défaut et il faut l'activer à la main
dans les paramètres de la VM (voir ).
Les systèmes invité douteux ne devraient pas être autorisés à utiliser
les fonctions d'accélération 3D de VirtualBox tout comme les logiciels
douteux de l'hôte ne devraient pas être autorisés à utiliser
l'accélération 3D. Les pilotes du matériel 3D sont en général trop
complexes pour être parfaitement sécurisés et tout logiciel
autorisé à y accéder peut être en mesure de compromettre le système
d'exploitation qui les exécute. En outre, l'activation de l'accélération
3D donne à l'invité un accès direct à une grande étendue de code
informatique supplémentaire du processus hôte de VirtualBox, donc
il pourrait être concevable de l'utiliser pour planter la machine
virtuelle.
Avec VirtualBox 4.1, le support du thème Windows Aero est ajouté pour
les invités Windows Vista et Windows. Pour activer le support du thème
Aero, le pilote graphique expérimental WDDM de VirtualBox doit être installé,
il est disponible avec l'installation des suppléments invité. Comme le pilote
graphique WDDM est pour l'instant expérimental, il n'est pas installé par
défaut et il faut le sélectionner à la main
dans l'installeur des suppléments invité en répondant "Non" dans la boîte
de dialogue "Voulez-vous installer le support Direct3D de base" qui s'affiche
quand la fonction Direct3D est sélectionnée.
Contrairement au support Direct3D de base actuel, l'installation
du pilote graphique WDDM n'exige pas
le "Mode sans échec".
Le thème Aero n'est pas activé par défaut. Pour l'activer
Dans l'invité Windows Vista, effectuez un clic droit sur le
bureau, dans le menu contextuel, sélectionnez "Personnaliser" et sélectionnez
"Couleur de fenêtre et Apparance" dans la fenêtre "Personnalisation",
dans la boîte de dialogue "Paramètres de l'apparence", sélectionnez
"Windows Aero" et appuyez sur "OK"
Dans l'invité Windows 7, effectuez un clic droit sur le bureau,
dans le menu contextuel, sélectionnez "Personnaliser" et sélectionnez
un thème Aero dans la fenêtre "Personnalisation"
Techniquement, VirtualBox implémente cela en installant un pilote 3D
matériel supplémentaire dans votre invité quand les suppléments invité sont
installés. Ce pilote agit comme un pilote 3D matériel et signale au
système d'exploitation invité que le matériel (virtuel) est capable de faire
de l'accélération matérielle 3D. Quand une application de l'invité demande
alors l'accélération matérielle via les interfaces de programmation OpenGL ou
Direct3D, elles sont envoyées vers l'hôte par un tunnel de communication
spécial fourni par VirtualBox, puis l'hôte effectue
l'opération 3D demandée via les interfaces de programmation de l'hôte.
L'accélération matérielle 2D pour les invités Windows
À partir de la version 3.1, les suppléments invité de VirtualBox
contiennent le support expérimental de l'accélération graphique 2D matériel
pour les invités Windows.
Avec cette fonctionnalité, si une application (comme un lecteur de
vidéos) de votre VM Windows utilise les couches graphiques 2D pour lire un clip
vidéo, VirtualBox essaiera d'utiliser l'accélération graphique matérielle de
votre hôte plutôt que de faire de l'interprétation de couches ni conversion
de couleurs dans le logiciel (ce qui serait lent). Cela fonctionne actuellement
avec les plateformes hôtes Windows, Linux et Mac, pourvu que votre système
d'exploitation hôte puisse utiliser l'accélération graphique 2D au premier plan.
L'accélération graphique 2D est possible aujourd'hui sous les
conditions suivantes :
Elle n'est disponible que pour des invités Windows (XP ou
supérieur).
Les suppléments invité doivent être installés.
Le support 2D étant pour l'instant expérimental, il est désactivé
par défaut et il faut l'activer à la main
dans les paramètres de la VM (voir ).
Techniquement, VirtualBox implémente ceci en montrant les possibilités
DirectDraw de la couche vidéo dans le pilote graphique des suppléments invité.
Le pilote envoie toutes les commandes de la couche à l'hôte via un tunnel
de communication spécial implémenté par VirtualBox. Côté hôte, OpenGL est
alors utilisé pour implémenter la transformation des couleurs et l'échelonage
Fenêtres transparentes
Avec la fonction "fenêtres transparentes", de VirtualBox, vous pouvez
afficher vos fenêtres d'une machine virtuelle côte à côte près des fenêtres
de votre hôte. Cette fonctionnalité est supportée pour les systèmes d'exploitation
invités suivants (si les suppléments invité sont installés) :
Les invités Windows (support ajouté à VirtualBox 1.5);
Les invités supportés Linux ou Solaris exécutant le système X
Window (ajouté avec VirtualBox 1.6).
Après que les fenêtres transparentes ait été activées (voir ci-dessous), VirtualBox
supprime l'affichage de l'arrière-plan du bureau de votre invité, ce qui
vous permet de lancer les fenêtres de votre système d'exploitation invité
de manière transparente à côté des fenêtres de votre hôte :
Pour activer le mode transparent, après avoir démarré la
machine virtuelle, appuyez sur Touche hôte (en principe contrôle droit) et
"L" simultanément. Ceci agrandira la taille de l'affichage de la VM jusqu'à
la taille de l'écran hôte et masquera l'arrière-plan du système d'exploitation
invité. Pour revenir à l'affichage normal de la VM (donc pour désactiver les
fenêtres transparentes), appuyez de nouveau sur Touche hôte et "L".
Propriétés invité
À partir de la version 2.1, VirtualBox permet de demander certaines
propriétés depuis un invité existant, si les suppléments invité de VirtualBox
sont installés et si la VM est en fonction. C'est intéressant pour deux
choses :
Un certain nombre de caractéristiques prédéfinies de la VM sont maintenues
automatiquement par VirtualBox et peuvent être répercutées sur l'hôte,
par exemple, pour gérer les performances de la VM et les statistiques.
De plus, des chaînes de données peuvent être échangées entre l'invité
et l'hôte. Cela fonctionne dans les deux sens.
Pour faire cela, VirtualBox établit un canal de communication privé
entre les suppléments invité de VirtualBox et l'hôte, et les logiciels des
deux côtés peuvent utiliser ce canal pour échanger des chaînes de données pour
des objectifs de votre choix. Les propriétés invité ne sont que des clés de
chaîne auxquelles est rattachée une valeur. Elles peuvent être définies (donc
éditées) soit par l'hôte, soit par l'invité, et on peut les lire des deux
côtés.
En plus d'établir le mécanisme général de lecture et d'écriture de
valeurs, un ensemble de propriétés invité prédéfinies est maintenu automatiquement
par les suppléments invité de VirtualBox pour permettre de récupérer des données
intéressantes de l'invité telles que le système exact de l'invité et le niveau
du service pack, la version installée des suppléments invité, les utilisateurs
connectés à l'OS invité, les statistiques réseau et davantage. Ces propriétés
prédéfinies ont toutes pour préfixe
/VirtualBox/ et sont organisées en arborescence
hiérarchique de clés.
Certaines informations de l'exécution s'affichent quand vous sélectionnez
"Boîte de dialogue d'informations sur la session" du menu "Machine" de la
machine virtuelle.
Une manière plus flexible d'utiliser ce canal est de passer par la commande
VBoxManage guestproperty ; voir
pour les détails. Par exemple,
pour voir toutes les propriétés invité disponible pour
une Vm donnée en fonction, listées avec leurs valeurs respectives, utilisez
ceci :$ VBoxManage guestproperty enumerate "Windows Vista III"
VirtualBox Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
(C) 2005-@VBOX_C_YEAR@ @VBOX_VENDOR@
All rights reserved.
Name: /VirtualBox/GuestInfo/OS/Product, value: Windows Vista Business Edition,
timestamp: 1229098278843087000, flags:
Name: /VirtualBox/GuestInfo/OS/Release, value: 6.0.6001,
timestamp: 1229098278950553000, flags:
Name: /VirtualBox/GuestInfo/OS/ServicePack, value: 1,
timestamp: 1229098279122627000, flags:
Name: /VirtualBox/GuestAdd/InstallDir,
value: C:/Program Files/Oracle/VirtualBox
suppléments invité, timestamp: 1229098279269739000, flags:
Name: /VirtualBox/GuestAdd/Revision, value: 40720,
timestamp: 1229098279345664000, flags:
Name: /VirtualBox/GuestAdd/Version, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@,
timestamp: 1229098279479515000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxControl.exe, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279651731000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxHook.dll, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279804835000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxDisp.dll, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279880611000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxMRXNP.dll, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279882618000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxService.exe, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279883195000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxTray.exe, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279885027000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxGuest.sys, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279886838000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxMouse.sys, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279890600000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279893056000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value: @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@r40720,
timestamp: 1229098279895767000, flags:
Name: /VirtualBox/GuestInfo/OS/LoggedInUsers, value: 1,
timestamp: 1229099826317660000, flags:
Name: /VirtualBox/GuestInfo/OS/NoLoggedInUsers, value: false,
timestamp: 1229098455580553000, flags:
Name: /VirtualBox/GuestInfo/Net/Count, value: 1,
timestamp: 1229099826299785000, flags:
Name: /VirtualBox/HostInfo/GUI/LanguageID, value: C,
timestamp: 1229098151272771000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.2.102,
timestamp: 1229099826300088000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/Broadcast, value: 255.255.255.255,
timestamp: 1229099826300220000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/Netmask, value: 255.255.255.0,
timestamp: 1229099826300350000, flags:
Name: /VirtualBox/GuestInfo/Net/0/Status, value: Up,
timestamp: 1229099826300524000, flags:
Name: /VirtualBox/GuestInfo/OS/LoggedInUsersList, value: username,
timestamp: 1229099826317386000, flags:
To query the value of a single property, use the "get" subcommand
like this:$ VBoxManage guestproperty get "Windows Vista III"
"/VirtualBox/GuestInfo/OS/Product"
VirtualBox Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
(C) 2005-@VBOX_C_YEAR@ @VBOX_VENDOR@
All rights reserved.
Value: Windows Vista Business Edition
Pour ajouter ou modifier des propriétés invité depuis l'invité, utilisez l'outil
VBoxControl. Cet outil est inclu dans les
suppléments invité de VirtualBox 2.2 ou supérieur. S'il est lancé avec un
invité Linux, cet outil exige les privilèges administrateur pour des raisons
de sécurité :$ sudo VBoxControl guestproperty enumerate
VirtualBox suppléments invité Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
(C) 2009-@VBOX_C_YEAR@ @VBOX_VENDOR@
All rights reserved.
Name: /VirtualBox/GuestInfo/OS/Release, value: 2.6.28-18-generic,
timestamp: 1265813265835667000, flags: <NULL>
Name: /VirtualBox/GuestInfo/OS/Version, value: #59-Ubuntu SMP Thu Jan 28 01:23:03 UTC 2010,
timestamp: 1265813265836305000, flags: <NULL>
...
Pour des besoins plus complexes, vous pouvez utiliser l'interface de
programmation de VirtualBox ; voir .
Contrôle de l'invité
À partir de la version 3.2, les suppléments invité de VirtualBox
permettent de démarrer les applications d'une VM à partir du système hôte.
Pour que cela fonctionne, l'application doit être installée dans l'invité ;
pas besoin de logiciels supplémentaires sur l'hôte. De plus, une sortie en
mode texte (sur stdout et stderr) peut s'afficher sur l'hôte pour un traitement
ultérieur avec des options pour spécifier les droits des utilisateurs et
une valeur de timeout (en millisecondes) pour limiter le temps où l'application
peut s'exécuter.
Cette fonctionnalité peut être utilisée pour automatiser le déploiement
d'un logiciel dans l'invité.
À partir de la version 4.0, les suppléments invité pour Windows permettent
une mise à jour automatique (seulement si les suppléments invité 4.0 ou
supérieurs sont déjà installés). En outre, la copie de fichiers de l'hôte vers
l'invité ainsi que la création à distance de répertoires invités est disponible.
Pour utiliser ces fonctionnalités, utilisez la ligne de commande de
VirtualBox, voir .
Transfert de mémoire
Dans des environnements serveur ayant beaucoup de VMs ; les suppléments invité
peuvent être utilisés pour partager de la mémoire physique de l'hôte entre
plusieurs VMs, réduisant la quantité totale de mémoire utilisée par les VMs.
Si l'utilisation de la mémoire est le facteur limitatif et que des ressources
processeur sont encore disponibles, cela peut aider à empaqueter davantage
de VMs sur chaque hôte.
Faire du ballon avec la mémoire
À partir de la version 3.2, les suppléments invité de VirtualBox
peuvent changer la quantité de mémoire hôte utilisée par une VM pendant
que la machine est en fonction. Vu comme cette fonction est implémentée,
elle s'appelle le "jeu de ballon de mémoire".
VirtualBox ne supporte le jeu de ballons avec la mémoire que sur
les hôtes 64 bits et il n'est pas supporté sur les hôtes Mac OS X.
En principe, pour changer la quantité de mémoire affectée à une
machine virtuelle, il faut éteindre la machine virtuelle complètement
et modifier ses paramètres. Avec le jeu de ballon de mémoire, la mémoire
affectée à une machine virtuelle peut être donnée à une autre machine
virtuelle sans devoir arrêter la machine.
Quand on veut faire du ballon avec la mémoire, les suppléments invité
de VirtualBox (qui tournent dans l'invité) affectent de la mémoire physique
du système d'exploitation invité au niveau noyau et il verrouille cette
mémoire dans l'invité. Cela garantit que l'invité n'utilisera plus cette
mémoire : aucune application de l'invité ne peut l'affecter, et le
noyau invité ne l'utilisera pas non plus. VirtualBox peut alors réutiliser
cette mémoire et la donner à une autre machine virtuelle.
La mémoire rendue disponible par ce jeu de ballon n'est pas disponible
pour être réutilisée par VirtualBox. Elle n'est pas
rendue sous forme de mémoire libre à l'hôte. Jouer au ballon avec la mémoire
à partir d'un invité en fonction n'augmentera pas la taille de la mémoire
libre non affectée de l'hôte. En effet, le jeu de ballon avec la mémoire
est donc un mécanisme de transfert de mémoire entre plusieurs machines virtuelles
pendant leur fonctionnement. Cela peut servir pour démarrer temporairement
une autre machine, ou, dans des environnements plus compliqués, pour une
gestion sophistiquée de la mémoire de nombreuses machines virtuelles en fonction
en parallèle, selon la façon dont la mémoire est utilisée par les invités.
Pour l'instant, le jeu de ballon avec la mémoire n'est supporté
que via VBoxManage. Utilisez la commande suivante pour agrandir ou réduire
la taille du ballon de mémoire dans une machine virtuelle en fonction où
les suppléments invité sont installés: VBoxManage controlvm "nom VM" guestmemoryballoon <n>où
"nom VM" est le nom ou l'UUID de la machine
virtuelle en question et <n> est
la quantité de mémoire à affecté à partir de l'invité, en mégaoctets. Voir pour plus d'informations.
Vous pouvez aussi définir un ballon par défaut qui sera automatiquement
récupéré sur la VM à chaque fois qu'elle démarrera avec la commande
suivante : VBoxManage modifyvm "nom VM" --guestmemoryballoon <n>
Par défaut, aucun ballon de mémoire n'est affecté. C'est un paramètre
de VM comme les autres paramètres de modifyvm
et donc, on ne peut les définir que quand la machine est éteinte ; voir .
Fusion de page
Alors que le jeu de ballon avec la mémoire réduit simplement la
quantité de RAM disponible pour une VM, la fusion de page fonctionne différemment :
elle évite les doublons de mémoire entre plusieurs VMs identiques et en
fonction.
Dans un environnement serveur qui exécute plusieurs VMs identiques
(comme avec des systèmes d'exploitation identiques) sur le même hôte,
beaucoup de pages de mémoire sont identiques. La technologie de fusion
de page de VirtualBox, introduite avec VirtualBox 3.2, est une technique
pour identifier efficacement ces pages de mémoire identiques et les
nouvelle de partage entre plusieurs VMs.
VirtualBox ne supporte la fusion de page que sur des hôtes 64 bits
et il n'est pas supporté sur les hôtes Mac OS X. La fusion de page
ne fonctionne aujourd'hui qu'avec des invités Windows (2000 et
supérieur).
Plus les VMs se ressemblent sur un hôte donné, plus la fusion de page
peut réduire efficacement la quantité de mémoire hôte utilisée. Il fonctionne
donc mieux si toutes les VMs d'un hôte exécutent des systèmes d'exploitation
identiques (par exemple Windows XP Pack Service 2). Plutôt que d'avoir une
copie complète de chaque système d'exploitation dans chaque VM, la fusion de
page identifie les pages mémoire identiques utilisées par les systèmes
d'exploitation et elle élimine les doublons, partageant la mémoire de l'hôte
entre plusieurs machines ("deduplication"). Si une VM essaie de modifier
une page partagée avec d'autres VMs, une nouvelle page est de nouveau affectée
pour cette VM avec une copie de la page partagée ("copie à l'écriture").
Tout ceci est entièrement transparent pour la machine virtuelle.
Il se peut que vous soyez familier de ce genre de transfert de mémire
via d'autres produits d'hypervision qui appellent cette fonction le "partage
de page" ou le "fusion d'une même page". Cependant, la fusion de page est
très différente des autres solutions, dont les approches ont plusieurs
inconvénients :
Les hyperviseurs traditionnels analysent toute
la mémoire invité et calculent les sommes de contrôle (hachages) pour
chaque page de mémoire individuelle. Puis ils cherchent des endroits
avec des hachages identiques et comparent tout le contenu
de ces pages ; si deux pages donnent le même hachage, il est très
probable que les pages soient identiques par leur contenu. Cela peut,
bien sûr, prendre du temps, surtout si le système n'est pas inactif.
La mémoire supplémentaire ne devient donc disponibles qu'après une
durée importante (cela peut prendre des heures voire des jours !). Pire,
ce genre d'algorithme de partage de page consomme en général beaucoup
de ressources et augmente la consommation par la
virtualisation jusqu'à 20%.
La fusion de page dans VirtualBox utilise une logique des
suppléments invité de VirtualBox pour identifier rapidement les cellules
mémoire les plus vraisemblablement identiques dans les VMs. Elle peut
faire la plupart des sauvegardes possibles des partages de pages
presqu'immédiatement et avec pratiquement aucune charge.
La fusion de page a aussi beaucoup moins de chances d'être
perdue avec de la mémoire identique qu'elle éliminera, pour apprendre
seulement quelques secondes plus tard que la mémoire va maintenant
changer, devant effectuer une réaffectation très gourmande et gênant
souvent le service.
Pour l'instant, la fusion de page ne peut être contrôlée qu'avec
VBoxManage et pendant qu'une VM est éteinte. Pour activer la fusion de page
pour une VM, utilisez
la commande suivante:VBoxManage modifyvm "nom VM" --pagefusion on
Vous pouvez voir l'opération de fusion de page en utilisant des
métriques.
RAM/VMM/Shared affiche la quantité totale
de pages fusionnées, tandis que la métrique par VM
Guest/RAM/Usage/Shared renverra la quantité
de mémoire fusionnée d'une VM donnée. Merci de vous reporter à pour des informations sur la manière de demander des
métriques.