VirtualBox

| Percherie | luigifab |

VirtualBox est un logiciel de virtualisation de systèmes d'exploitation. En utilisant les ressources matérielles de l'ordinateur (système hôte), VirtualBox permet la création d'un ou de plusieurs ordinateurs virtuels dans lesquels s'installent d'autres systèmes d'exploitation (systèmes invités).

Les systèmes invités fonctionnent en même temps que le système hôte, mais seul ce dernier a accès directement au véritable matériel de l'ordinateur. Les systèmes invités exploitent du matériel générique, simulé par un « faux ordinateur » (machine virtuelle) créé par VirtualBox.

VirtualBox permet de faire fonctionner plus d'un système d'exploitation en même temps en toute sécurité. En effet, les systèmes invités n'interagissent pas directement avec le système hôte, et n'interagissent pas entre eux. Le champ d'action des systèmes invités est confiné, limité à leur propre machine virtuelle.

N'hésitez pas à commenter cet article ! Commentez

- Titre : VirtualBox

- Auteurs : Percherie, luigifab

- Parution : 25 septembre 2013

- Licence : Le contenu de cet article est rédigé par Percherie et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2013 Developpez.com.

Sommaire

- I. Terminologie

- II. Configuration requise

- III. Installation

- III-A. Installation par les dépôts officiels d'Ubuntu

- III-B. Installation depuis le dépôt d'Oracle (version la plus à jour)

- IV. Utilisation

- IV-A. Lancement du logiciel

- IV-B. Principales commandes

- IV-C. Créer une machine virtuelle

- IV-D. Configurer une machine virtuelle

- IV-E. Installer un système invité

- IV-F. Système invité en 64 bits

- IV-G. Périphériques USB (VirtualBox 4)

- IV-H. Activation de l'USB 2

- IV-H-1. Installation en mode graphique

- IV-H-2. Installation en lignes de commandes

- IV-I. Démarrer sur une clé USB

- IV-I-1. Prérequis

- IV-I-2. Création du lien vers sa clé

- IV-I-3. Import dans VirtualBox

- IV-J. Partage de dossiers depuis l'hôte

- V. Optimisations

- V-A. Améliorer l'émulation

- V-B. Carte réseau virtuelle

- V-C. Résolution d'écran avec un live CD

- V-D. Masquer la barre d'état et la barre de menus

- VI. Utilisation avancée

- VI-A. Les instantanés

- VI-A-1. Exemple

- VI-B. Exécution d'une machine

- VI-C. Utilisation d'un disque dur physique

- VI-D. Compresser un disque dur virtuel

- VI-D-1. Méthode simple

- VI-D-2. En utilisant CloneZilla

- VI-D-3. Copier un disque virtuel

- VI-D-4. Redimensionner un disque virtuel

- VI-D-5. Agrandir la taille du disque

- VI-D-6. Réduire la taille du disque

- VI-E. Copier une machine virtuelle

- VI-F. Prise de contrôle à distance

- VI-F-1. Sur l'ordinateur hébergeant le système invité

- VI-F-2. Sur le client distant

- VI-F-3. Modifier le dossier de la machine VDI

- VI-F-4. Grâce à RemoteBox

- VI-G. Monter un disque VDI

- VII. Problèmes connus

- VII-A. Codes d'erreurs

- VII-A-1. VBOX_E_INVALID_OBJECT_STATE

- VII-A-2. VERR_FILE_NOT_FOUND

- VII-A-3. VERR_VM_DRIVER_NOT_INSTALLED

- VII-A-4. VERR_VM_DRIVER_NOT_ACCESSIBLE

- VII-A-5. VERR_VMX_IN_VMX_ROOT_MODE

- VII-A-5-a. NS_ERROR_FAILURE (0x80004005)

- VII-B. Codes d'erreur (version PUEL uniquement)

- VII-B-1. VERR_VM_DRIVER_NOT_INSTALLED

- VII-B-2. VERR_VM_DRIVER_VERSION_MISMATCH

- VII-B-3. VERR_VMX_IN_VMX_ROOT_MODE

- VII-C. Les ports USB ne fonctionnent pas

- VII-C-1. Ubuntu 10.10

- VII-C-2. Ubuntu 10.04 et 10.10

- VII-D. Message « Spawning session… »

- VII-E. Écran noir après l'accueil d'un CD

- VII-F. Écran bleu Windows

- VII-G. Écran noir Windows

- VII-H. Obtenir le plein écran sous Vista

- VII-I. Fenêtre transparente

- VII-I-1. En désactivant les effets de bureau

- VII-I-2. En modifiant la commande à exécuter

- VII-J. Perte du réseau après une mise à jour du kernel sur le système hôte GNU/Linux

- VII-K. Défilement très lent sur Ubuntu Server

- VII-L. Imprimante non fonctionnelle sur le système invité

- VII-M. Iphone 4 non reconnu

- VII-N. Can't open /etc/init.d/functions

- VII-O. Souris incontrôlable

- VII-P. Boot EFI impossible

- VIII. Désinstallation

- IX. Voir aussi

- IX-A. Sites officiels et ressources

- IX-B. Quelques tutoriels

- IX-C. Tutoriels vidéo

I - Terminologie

Certains termes techniques concernant le domaine de la virtualisation sont employés dans ce document. En voici quelques-uns :

- le système hôte (host) est le système d'exploitation principal de votre ordinateur, c'est notamment lui qui permet de faire fonctionner VirtualBox ;

- le système invité (guest) est le système d'exploitation installé à l'intérieur d'une machine virtuelle ;

- la machine virtuelle est un ordinateur virtuel créé par VirtualBox ;

- la touche hôte est la touche permettant de capturer le pointeur de la souris dans la machine virtuelle ou de la libérer vers le système d'exploitation hôte. Dans VirtualBox, par défaut, il s'agit de la touche Ctrl en bas à droite de votre clavier.

Voir aussi sur Wikipédia : Virtualisation, Système d'exploitation.

II - Configuration requise

Afin de pouvoir utiliser VirtualBox sur votre machine, vous devez posséder au minimum la configuration suivante :

- Processeur : 1 GHz (simple cœur) ;

- Mémoire vive : 513 Mio ;

- Disque dur : 116 Mio d'espace disque libre ;

- Carte graphique : peu importe ?

Notons qu'il faudra également activer la virtualisation dans le bios.

Ceci étant la configuration minimale, elle n'est pas forcément adaptée à toutes les utilisations.
En effet, pour pouvoir utiliser certains systèmes d'exploitation ou logiciels via VirtualBox, il vous faudra une configuration plus solide.

Le tableau récapitulatif suivant donne quelques exemples de configuration minimale en fonction du système d'exploitation utilisé sur une machine virtuelle. Est indiquée entre parenthèses la mémoire qui devra être dédiée à la machine virtuelle.

Système d'exploitation

Processeur

Mémoire vive

Espace disque libre

Ubuntu

1 GHz

1 Gio (512 Mio)

5 Gio

Kubuntu

1 GHz

1 Gio (512 Mio)

5 Gio

Xubuntu

1 GHz

768 Mio (384 Mio)

5 Gio

Lubuntu

1 GHz

512 Mio (256 Mio)

4 Gio

INX Is Not X

1 GHz

256 Mio (128 Mio)

0 Mio

Windows XP

1 GHz

1 Gio (384 Mio)

3 Gio

Windows Vista

2 GHz

1 Gio (512 Mio)

7 Gio

Windows 7

1,5 GHz

1 Gio (512 Mio)

8 Gio

Bien que VirtualBox occupe environ 116 Mio d'espace disque, les machines virtuelles requièrent un « énorme » fichier pour pouvoir enregistrer le disque dur virtuel ; c'est pourquoi l'espace disque libre requis est si important. Cependant, si vous n'utilisez pas de disque dur virtuel (comme avec INX Is Not X), ne tenez pas compte de l'espace disque libre requis supplémentaire.

Mac OS X peut être installé dans une machine virtuelle de VirtualBox. Cependant, cette machine virtuelle doit être créée au-dessus d'un OS fonctionnant dans un ordinateur de marque Apple.

III - Installation

VirtualBox et KVM
Il n'est pas recommandé d'installer et utiliser en même temps VirtualBox et KVM. Ceci peut provoquer des problèmes de fonctionnement des deux systèmes de virtualisation allant de sérieux ralentissement jusqu'à une impossibilité de charger une machine virtuelle, voire causer un arrêt du système hôte. Pour plus d'informations, consultez le document : Kernel Virtual Machine.

VirtualBox n'est désormais plus disponible qu'en version libre1Jusqu'à la version 3.0, une distinction pouvait être faite entre l'édition intégrée aux dépôts officiels et celle fournie par Oracle. Depuis, la version proposée par Oracle est aussi un logiciel libre. Deux méthodes sont proposées pour installer VirtualBox :

- une première méthode s'effectue à partir des dépôts de logiciels officiellement gérés par Ubuntu. Cette édition de VirtualBox est empaquetée et certifiée par l'équipe d'Ubuntu pour fonctionner dans chaque version du système Ubuntu. Cependant, aucune nouvelle version de VirtualBox n'est proposée quand des mises à jour sont publiées par Oracle - seuls des correctifs de sécurité sont distribués pour cette édition ;

- une seconde méthode s'effectue à partir des dépôts de logiciels gérés par Oracle. Cette édition de VirtualBox est empaquetée et certifiée par l'équipe d'Oracle pour fonctionner dans chacun des systèmes Ubuntu et Debian. Lorsque des mises à jour sont publiées, elles sont immédiatement mises à disposition et proposées en tant que mise à jour dans votre système Ubuntu.

III-A - Installation par les dépôts officiels d'Ubuntu

Pour installer VirtualBox tel qu'empaqueté par l'équipe d'Ubuntu, installez le paquet virtualbox. C'est un « métapaquet » qui va installer toutes les dépendances nécessaires pour avoir une installation fonctionnelle de VirtualBox. Les versions installées par cette méthode sont les suivantes :

- dans Ubuntu 12.04 LTS : VirtualBox 4.1.12 ;

- dans Ubuntu 12.10 : VirtualBox 4.1.18 ;

- dans Ubuntu 13.04 : VirtualBox 4.2.10.

Pour optimiser VirtualBox, consultez le paragraphe traitant de l'amélioration de l'émulation. Pour le support de l'USB 2, consultez le paragraphe traitant des Périphériques USB.

III-B - Installation depuis le dépôt d'Oracle (version la plus à jour)

Pour installer l'édition de VirtualBox telle que proposée par Oracle, vous devez ajouter son dépôt à votre liste de sources de logiciels ainsi que sa clé de signature. Puis, vous procédez à l'installation de VirtualBox.

Les adresses des dépôts pour chaque version d'Ubuntu sont les suivantes :

Version

Adresse du dépôt

Ubuntu 13.04

deb http://download.virtualbox.org/virtualbox/debian raring contrib

Ubuntu 12.10

deb http://download.virtualbox.org/virtualbox/debian quantal contrib

Ubuntu 12.04 LTS

deb http://download.virtualbox.org/virtualbox/debian precise contrib

Pour procéder à l'installation, suivez les instructions suivantes :

- dans une fenêtre de terminal, exécutez la commande suivante afin de récupérer les clés de signature du dépôt de VirtualBox :

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

- ajoutez le dépôt d'Oracle compatible avec votre version d'Ubuntu à votre liste de sources de logiciels en exécutant la commande suivante dans un terminal:

echo "deb http://download.virtualbox.org/virtualbox/debian `lsb_release -sc` contrib" | sudo tee -a /etc/apt/sources.list.d/virtualbox.list

- rechargez la liste des paquets disponibles pour installation en exécutant la commande suivante dans un terminal ;

sudo apt-get update

- installez le paquet virtualbox-4.2.

La même procédure que ci-dessus peut être exécutée en une seule ligne de commande :

echo "deb http://download.virtualbox.org/virtualbox/debian `lsb_release -sc` contrib" | sudo tee -a /etc/apt/sources.list.d/virtualbox.list && wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - && sudo apt-get update && sudo apt-get install virtualbox-4.2

Et voilà ! N'oubliez pas de rajouter votre compte dans le groupe « vboxusers » pour avoir accès à l'USB dans vos machines virtuelles.

IV - Utilisation

IV-A - Lancement du logiciel

Le lanceur de VirtualBox OSE est accessible depuis le menu Applications → Accessoires → VirtualBox.
Celui de la version Oracle est accessible depuis le menu Applications → Outils systèmes → Oracle VM VirtualBox.

IV-B - Principales commandes

La Touche Hôte est par défaut la touche Ctrl droite (votre clavier a deux touches Ctrl, il faut utiliser la touche Ctrl de droite !).

- Fichier → Gestionnaire de supports virtuels, pour gérer les images de disque dur virtuel, CD-ROM et disquette ;

- Machine → Nouveau, pour créer une nouvelle machine virtuelle ;

- Machine → Préférences, pour configurer une machine virtuelle ;

- touche Hôte + F, affichage d'un système invité en plein écran ;

- touche Hôte + Q, fermeture de la machine avec différents choix (sauvegarde, extinction, fermeture brutale) ;

- touche Hôte + R, effectuer un « reset » sur un système invité ;

- touche Hôte + H, extinction de la machine ;

- touche Hôte + Suppr., exécute Ctrl + Alt + Suppr sur un système invité Windows.;

- touche Hôte + F1 à F6, basculer entre les terminaux sur un invité Linux.

IV-C - Créer une machine virtuelle

La création de machine virtuelle est identique sur tous les systèmes hôtes (GNU/Linux, MacOS, MS Windows, etc.).

Avoir Windows comme système invité est en général destiné à faire tourner des applications sans équivalent GNU/Linux, qu'il est impossible d'avoir par Wine et qui réclament de l'espace disque. La taille de base proposée (10 Go) ne suffira donc pas dans ce cas.
Pour ne pas se retrouver dans la situation de récréer un disque plus grand par la suite (avec toutes les manipulations que cela implique), il vaut mieux, avec l'option « image dynamique », créer un disque volumineux ( ≥ 40 Go qui n'occupera que l'espace nécessaire). Ceci bien sûr si la taille de votre disque dur le permet.

IV-D - Configurer une machine virtuelle

La configuration de machine virtuelle est identique sur tous les systèmes hôtes (GNU/Linux, MacOS, MS Windows, etc.).

IV-E - Installer un système invité

Partant du principe que vous utilisez un système hôte Ubuntu, il y a de fortes probabilités que vous souhaitiez installer un système invité Windows pour vos derniers jeux et logiciels qui ne fonctionnent pas avec Wine ou PlayOnLinux.

Pour des raisons de performances, il est recommandé d'installer Windows XP qui est une version relativement légère de Windows et assez récente pour supporter les derniers logiciels. Si vous possédez une licence pour les versions suivantes (Vista et 7), leur installation et utilisation demandera plus d'espace disque et de ressources, mais reste tout à fait exploitable.

IV-F - Système invité en 64 bits

Pour pouvoir utiliser un système invité en 64 bits, il est nécessaire que l'ordinateur supporte la virtualisation matérielle (VT-x [vmx] ou AMD-V [svm]). Pour le savoir, il suffit par exemple de saisir la commande suivante dans un terminal (pas de réponse = pas de virtualisation matérielle) :

egrep '(vmx|svm)' /proc/cpuinfo

Veuillez noter qu'il est tout à fait possible de lancer un système invité en 64 bits sur un système hôte en 32 bits (source forum fedora-fr).

IV-G - Périphériques USB (VirtualBox 4)

Lors de la première utilisation, pour utiliser les périphériques USB dans le système invité, il faut :

- permettre l'utilisation des ports USB pour VirtualBox en indiquant les comptes qui appartiendront au groupe vboxusers. Si vous souhaitez ajouter un utilisateur spécifique, remplacez la variable $USER par le nom de l'utilisateur en question ;

sudo usermod -G vboxusers -a $USER

- lors du lancement de la machine virtuelle, dans les menus de la machine elle-même (dans Devices > USB Devices) vérifiez que le périphérique USB est bien présent et cochez-le s'il ne l'est pas ;

- redémarrez votre session pour prendre en compte les modifications.

Si vous ajoutez un Filtre Périphérique USB et qu'il est activé, le montage se fera automatiquement. Un périphérique n'est disponible que dans un système à la fois (système hôte ou un des systèmes invités).
Par exemple, si vous démarrez votre système invité alors que votre clé USB est en cours de transfert sur votre système hôte, ce transfert sera interrompu de manière « sauvage » (sans éjection). Cette fonction automatique est donc à utiliser selon vos besoins.

IV-H - Activation de l'USB 2

IV-H-1 - Installation en mode graphique

L'USB 2 par rapport à l'USB 1 ou 1.1 permet des transferts de données plus rapides. Depuis VirtualBox 4, l'utilisation des périphériques USB 2 est disponible après l'installation d'un pack d'extension fourni par Oracle :

- VirtualBox 4.1.2 : http://dlc.sun.com.edgesuite.net/virtualbox/4.1.2/Oracle_VM_VirtualBox_Extension_Pack-4.1.2.vbox-extpack ;

- VirtualBox 4.1.8 : http://dlc.sun.com.edgesuite.net/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack ;

- VirtualBox 4.2.12 : http://dlc.sun.com.edgesuite.net/virtualbox/4.2.16/UserManual.pdf;

- autre version : http://download.virtualbox.org/virtualbox.

L'utilisation d'un pack d'extension doit impérativement correspondre à la version de votre installation VirtualBox qui est consultable dans le menu Aide → À propos de VirtualBox…

Après le téléchargement du pack d'extension correspondant à votre version de VirtualBox, l'ajout doit se faire depuis le logiciel :

- ouvrez le menu Fichier → Paramètres… (raccourcis clavier Ctrl + G) ;

- allez à la rubrique Extensions ;

- cliquez sur l'icône Ajouter Extension située sur la droite de la fenêtre ;

- sélectionnez l'extension précédemment téléchargée (probablement située dans votre dossier téléchargement) ;

- validez son installation ;

- validez la Licence VirtualBox en défilant en jusqu'en bas de ladite licence ;

- entrez votre mot de passe d'utilisateur si vous êtes administrateur.

Après l'installation du pack d'extension, l'activation de l'USB 2 doit se faire sur toutes les machines virtuelles, via leurs paramètres respectifs à la rubrique USB.

IV-H-2 - Installation en lignes de commandes

- Téléchargement du pack d'extension USB en récupérant la version de VirtualBox :

version=$(VBoxManage --version|cut -dr -f1|cut -d'_' -f1) && wget -c http://download.virtualbox.org/virtualbox/$version/Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack

- Installation du pack téléchargé en fonction de la version de VirtualBox :

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack

- Si vous le souhaitez, suppression des fichiers téléchargés :

rm *.vbox-extpack

Si l'étape n° 1 ne fonctionne pas, il est probable qu'un paquet essentiel soit manquant. Vous pouvez l'installer en utilisant la commande

sudo apt-get install build-essential dkms linux-source linux-headers-`uname -r`

IV-I - Démarrer sur une clé USB

IV-I-1 - Prérequis

- Une clé USB Bootable.

- Avoir amélioré l'émulation.

- Savoir identifier un périphérique USB (sous la forme /dev/sdx).

IV-I-2 - Création du lien vers sa clé

- Ajoutez au groupe « disk » les utilisateurs souhaités :

sudo usermod -G disk -a $USER

- Puis redémarrez votre session pour prendre en compte le changement.

- Ouvrez un terminal et tapez la commande suivante : remplacez /dev/sdx par votre périphérique

sudo VBoxManage internalcommands createrawvmdk -filename ~/Téléchargements/usb.vmdk -rawdisk /dev/sdx

- Modifiez le propriétaire du fichier :

sudo chown $USER ~/Téléchargements/usb.vmdk

Le programme a créé un fichier nommé « usb.vmdk » dans votre dossier Téléchargements.

IV-I-3 - Import dans VirtualBox

- Dans VirtualBox, aller dans la configuration de votre machine virtuelle rubrique Stockage.

- Ajoutez un disque dur primaire.

- Choisissez un disque existant en sélectionnant le fichier usb.vmdk précédemment créé.

- Au démarrage de la machine virtuelle, démarrez depuis le disque que vous venez d'ajouter.

Si vous avez un message d'erreur, il est possible que vous ne fassiez pas partie du groupe « disk ». Si vous venez de vous ajouter au groupe, fermez votre session et reconnectez-vous.

IV-J - Partage de dossiers depuis l'hôte

- Améliorez l'émulation.

- Dans VirtualBox, configurez la machine virtuelle souhaitée.

- Dans Dossiers partagés. Ajoutez un dossier partagé(1).

- Dans la nouvelle fenêtre, sélectionnez votre dossier et configurez son accès.

- Lancez votre machine virtuelle.

- Dans l'interface « réseau » ou « dossier partagé » correspondant à votre système, recherchez virtualbox Shared Folders pour retrouver vos partages réseau VirtualBox.

Pour monter « en dur » votre dossier (par exemple dans votre $HOME), il suffit de rajouter cette ligne dans /etc/fstab :

<nom dossier> /home/<votre username>/Partage   vboxsf  defaults       0  0

V - Optimisations

V-A - Améliorer l'émulation

VirtualBox propose des pilotes adaptés pour les systèmes invités comme Windows ou ceux basés sur GNU/Linux. Ceux-ci permettent :

- un affichage graphique plus rapide (avec gestion de l'accélération 2D et 3D) et automatiquement adapté à la résolution graphique du système hôte ;

- le partage du presse-papier ;

- le partage de répertoires ;

- une capture/libération dynamique du curseur lorsque celui-ci se déplace entre système hôte et système invité.

Ce jeu de pilotes s'appelle les additions invitées (en anglais : guest additions). Comme leur nom l'indique, c'est uniquement dans le système invité que les additions invitées doivent être installées ; le système hôte n'en a pas besoin.

Après installation des additions invitées, vous devez arrêter puis réamorcer votre système invité. Tant que le réamorçage de votre système invité n'est pas effectué, les additions invitées demeurent inactives.

L'installation se fait sur une machine en cours de fonctionnement :

- dans le menu Périphériques → Installer les additions invité… ;

- avec le raccourci touche hôte + D.

VirtualBox va monter automatiquement une image ISO fournie avec l'émulateur. Si un message indique que les additions ne sont pas disponibles, vous pouvez au choix :

- accepter le téléchargement proposé ;

- Installer le paquet virtualbox-guest-additions-iso.

Après le téléchargement ou l'installation du paquet, recommencer l'installation des additions invitées.

Si lors de l'installation vous avez une erreur lors de l'installation comme « The headers for the current running kernel were not found. », vérifiez que vous avez bien installé les trois paquets suivants (dmks est important) avec cette commande :

sudo apt-get install build-essential linux-headers-`uname -r` dkms

Si la carte son ne fonctionne pas avec un système invité Windows Vista ou Windows 7, installez les pilotes de la carte son Realtek AC'97.

V-B - Carte réseau virtuelle

VirtualBox offre plusieurs manières de gérer l'accès au réseau du système invité :

- non attaché : équivaut à une interface Ethernet sur laquelle aucun câble n'est connecté ;

- NAT : permet d'activer l'accès à Internet dans la majorité des cas, cependant il peut avoir certaines limites lors du partage de dossier ;

- accès par pont : les machines virtuelles peuvent communiquer totalement entre elles vers l'extérieur via la machine hôte ;

- réseau interne : relie entre elles plusieurs machines virtuelles du même hôte isolées de l'extérieur (pas d'accès Internet) ;

- réseau privé hôte : relie entre elles par connexion réseau plusieurs machines virtuelles présentes sur le même hôte ;

- pilotes génériques : relie entre elles différentes machines virtuelles avec la même interface réseau générique via deux méthodes (tunnel UDP et Virtual Distributed Ethernet).

Ces options sont disponibles dans les paramètres du système invité.

Afin d'alléger cette page, veuillez consulter :

- la page VirtualBox et le partage Réseau si vous souhaitez accéder ou partager des dossiers sur votre réseau ;

- la page VirtualBox et le réseau si vous souhaitez accéder à Internet depuis votre machine virtuelle ;

Les pages de la doc citée précédemment sont à restructurer, même chose pour la description des modes d'accès réseau.

V-C - Résolution d'écran avec un live CD

Lorsque l'on utilise un live CD Ubuntu sous VirtualBox, la résolution d'écran est limitée à 800x600.
Pour obtenir une meilleure résolution :

- Éditer le fichier /etc/X11/xorg.conf avec les droits d'administration ;

- ajoutez les trois lignes suivantes :

Section "Monitor"
HorizSync    31-67
EndSection

- enregistrez les changements ;

- redémarrez la session du live CD.

V-D - Masquer la barre d'état et la barre de menus

Pour masquer la barre d'état de l'interface par défaut, exécuter la commande suivante dans un terminal :

VBoxManage setextradata global GUI/Customizations noMenuBar,noStatusBar

Pour masquer uniquement la barre de menus, exécuter la commande :

VBoxManage setextradata global GUI/Customizations noMenuBar

Pour masquer uniquement la barre d'état, exécuter la commande :

VBoxManage setextradata global GUI/Customizations noStatusBar

Enfin pour rétablir la configuration par défaut, exécuter la commande :

VBoxManage setextradata global GUI/Customizations

VI - Utilisation avancée

Cette rubrique est optionnelle, elle s'adresse aux personnes curieuses ou disposant de quelques connaissances techniques. Pour consulter le manuel de VirtualBox tapez : VBoxManage dans un terminal.
Vous pouvez aussi consulter la page VirtualBox en environnement serveur.

VI-A - Les instantanés

L'utilisation d'instantanés permet de revenir à un état antérieur, c'est une sorte de restauration système. Dans la fenêtre de gestion VirtualBox, sélectionnez l'onglet instantané puis cliquez sur l'appareil photo.

Vous pouvez également enregistrer l'état de la machine lorsque celle-ci est en cours d'utilisation, c'est une sorte de mise en veille prolongée qui accélérera le démarrage de la machine. Combiné aux instantanés, cela permet de gagner du temps.

Si vous souhaitez détruire la machine, il vous faudra détruire auparavant les instantanés enregistrés.

Si vous souhaitez revenir à l'état d'un instantané, supprimez les étapes ultérieures, sachant que vous perdrez ce qui a été modifié ou ajouté entretemps. Si vous avez fait plusieurs instantanés, vous pouvez supprimer les instantanés intermédiaires, ils seront fusionnés avec l'instantané précédent.

VI-A-1 - Exemple

Vous venez d'installer un nouveau système, de le configurer, de l'optimiser et de compresser votre fichier .vdi. Avant d'installer les premiers logiciels ou mises à jour, il est intéressant de sauvegarder cet état avant d'aller plus loin. Cela permet de restaurer un système sain en quelques secondes.

La proposition suivante concerne l'installation de Windows XP qui occupe moins de place et demande moins de ressources que les versions suivantes de Windows. Le système fonctionnera déconnecté d'Internet rendant inutile l'utilisation de mise à jour de sécurité, d'antivirus et de firewall :

- créez une machine virtuelle pour accueillir Windows XP ;

- configurez votre machine pour « débrancher » la carte réseau virtuelle ;

- installez Windows XP ;

- on va conserver le système déconnecté d'Internet : désactivez les mises à jour et le firewall ;

- on utilise les instantanés de VirtualBox : désactivez les restaurations système ;

- configurez et optimisez selon vos besoins le système pour l'alléger au maximum l'utilisation du disque et des ressources système ;

- éteignez votre OS Guest ;

- compressez votre image disque (voir plus bas) ;

- redémarrez votre OS Guest ;

- dans le menu machine, choisissez « fermer… » et choisissez l'option « enregistrez l'état de la machine » ;

- dans l'interface VirtualBox, allez dans l'onglet « Instantané » et saisissez un instantané portant le nom config propre (par exemple).

Vous venez de finir l'installation et l'optimisation d'un système complet ainsi que sa protection contre les modifications. En cas de détérioration vous pouvez restaurer votre configuration en quelques secondes. Toute modification faite après la création de l'instantanée sera détruite.

VI-B - Exécution d'une machine

Vous pouvez exécuter une machine virtuelle sans passer par l'interface de gestion de VirtualBox.

Pour cela, utilisez la commande (utiliser les guillemets " " sans échappement s'il y a un espace dans le nom de la machine virtuelle) :

VBoxManage startvm "<nom de votre machine virtuelle>"

Ou encore, si vous exécutez la machine virtuelle depuis un serveur sans interface graphique, utilisez la commande :

vboxheadless --startvm "nom de votre machine virtuelle"

La commande précédente ne fonctionne plus pour VirtualBox 3.2.4 voici la commande qui la remplace :

VBoxManage startvm --type headless "UUID de la machine virtuelle"

On trouve l'UUID de la machine virtuelle en consultant le fichier .VirtualBox/VirtualBox.xml (avec la commande cat).

Si vous désirez créer un lanceur que vous placerez sur le bureau ou sur le tableau de bord, créez un lanceur. Dans la petite fenêtre qui apparaît, entrez le nom de votre lanceur dans le champ « Nom » et la commande ci-dessus dans le champ « Commande ». Votre lanceur créé, vous pouvez cliquer dessus et vous aurez votre machine virtuelle.

Si vous souhaitez garder le processus au premier plan, une autre commande peut être utilisée :

VirtualBox -startvm "<nom de votre machine virtuelle>"

VI-C - Utilisation d'un disque dur physique

Il est possible de démarrer un système d'exploitation déjà présent (donc déjà installé) dans VirtualBox. Actuellement, l'interface graphique de VirtualBox ne le permet pas, mais un jour peut-être…

- Démarrer un Windows installé physiquement dans VirtualBox ;

- Démarrer un système GNU/Linux installé physiquement dans VirtualBox.

VI-D - Compresser un disque dur virtuel

Une image disque à taille dynamique est agrandie en fonction des besoins du système invité. Elle ne diminue pas si l'espace n'est plus occupé et, à la longue, ceci peut devenir gênant. L'objectif de cette solution est de réduire l'espace occupé par l'image disque à son espace réellement occupé.

VI-D-1 - Méthode simple

La méthode dépend ici du système invité. Il s'agit de remplir l'espace non utilisé par des zéros, puis de réduire l'espace grâce à VirtualBox.

- Sous Windows : téléchargez l'exécutable nullfile correspondant à votre installation invitée : http://www.feyrer.de/g4u/nullfile-1.02.exe (32b) ou http://www.feyrer.de/g4u/nullfile-1.01_64bit.exe (64b). Double-cliquez dessus pour l'exécuter, la fenêtre se fermera lorsque ce sera fini.

- Sous Linux, exécutez dans le système invité la commande en console :

cat /dev/zero > zeros ; sync ; rm zeros

Dans les deux cas, ceci peut durer jusqu'à une dizaine de minutes. Ceci dépend de l'espace libre de votre machine virtuelle !
Fermez Virtualbox. De retour sous Linux, ouvrez un terminal :

cd ~/VirtualBox VMs/Nom_de_la_machine/ # À modifier en fonction du dossier où se trouve le disque dur virtuel, le fichier .vdi
VBoxManage modifyhd Nom_du_fichier.vdi --compact # En fonction du nom de votre fichier .vdi

Patientez, une barre de progression plus ou moins précise vous indiquant la progression (elle ira très vite à la fin).

Et voilà ! Votre disque dur est compacté.

Sous Windows, il est préférable de défragmenter le disque avant.
De toute manière, un système virtuel se défragmente tout comme un système physique.

La commande de VirtualBox est assez capricieuse : il faut impérativement se déplacer dans le dossier avant, et mettre des guillemets si le nom du fichier comporte des espaces.
Voici un exemple de script, grâce auquel ces limitations sont contournées.

#!/bin/bash
if [ $#=1 ] ; then
chemin=`dirname "$1"`
fic=`basename "$1"`
cd "$chemin"
VBoxManage modifyhd "$fic" --compact
fi

VI-D-2 - En utilisant CloneZilla

Cette solution consiste à cloner le disque dur sur un second qui recevra alors uniquement les données écrites.

Clonezilla, qui sera utilisé par la suite, ne peut pas cloner un disque vers un disque de taille inférieure.
La procédure décrite ci-après permet aussi de passer d'un disque à taille fixe vers un disque à taille variable.

- Créez un nouveau disque dur à taille dynamique, dont la taille est égale ou supérieure au disque que vous souhaitez compresser ;

- ouvrez les préférences du système invité concerné, dans la rubrique support ajoutez le nouveau disque dur en tant que IDE Primaire Esclave ;

- la taille des disques étant probablement identique, seul leur UUID permettra de les différencier sous Clonezilla. Pour connaître l'UUID des disques virtuels, tapez ceci dans un terminal.

VBoxManage showvminfo "Nom de votre système invité"

- téléchargez Clonezilla et montez-le dans le système invité ;

- démarrez le système invité et lancez Clonezilla ;

- choisissez device-device disque/partition vers disque/partition pour cloner le disque ;

- choisissez disque local vers disque local pour utiliser les disques en attachement du système invité ;

- effectuez le clonage du disque contenant le système (celui qui doit être compressé) vers le nouveau disque dur (encore vierge) ;

- après le clonage, éteignez le système invité ;

- ouvrez les préférences du système invité, retirez le disque dur d'origine des attachements du système invité afin de garder uniquement le nouveau disque dur qui vient de recevoir le clonage ;

- modifier l'emplacement du disque pour le placer en IDE Primaire Maître ;

- le système invité occupe à présent uniquement l'espace qui lui est strictement nécessaire ;

- si tout fonctionne correctement, vous pouvez supprimer l'ancien disque dur.

VI-D-3 - Copier un disque virtuel

Si vous avez besoin de dupliquer (ou tout simplement sauvegarder) l'un de vos disques virtuels, voici la procédure :

cd ~/.VirtualBox/HardDisks/
VBoxManage clonevdi nom_du_disque_existant.vdi nom_de_votre_copie.vdi

Il vous suffira de l'ajouter par la suite dans le manager de Virtualbox.

Vous pouvez utiliser aussi

cd ~/.VirtualBox/HardDisks/
VBoxManage clonehd nom_du_disque_existant.vdi nom_de_votre_copie.vdi

Pour affecter un nouvel UUID au disque virtuel nom_de_votre_copie.vdi (si vous voulez créer une nouvelle machine virtuelle avec votre disque virtuel nom_de_votre_copie.vdi)

cd ~/.VirtualBox/HardDisks/
VBoxManage internalcommands sethduuid nom_de_votre_copie.vdi

VI-D-4 - Redimensionner un disque virtuel

La commande modifyhd permet de faire cette action :

VBoxManage modifyhd '/home/...chemin...../VirtualBox VMs/...../nomdufichier.vdi' --resize NouvelleTaille

'/home/…chemin…/…/nomdufichier.vdi' est le nom du fichier à redimensionner avec son chemin (entier), -resize est le paramètre de la commande, NouvelleTaille est la nouvelle taille du fichier en Mo - exemple 51200 pour 50 Go

La modification est réalisée en quelques secondes de 0 à 100 %

Puis démarrer la machine virtuelle pour étendre la partition. Pour Windows XP à 7 étendre le volume comme indiqué au paragraphe suivant avec clic droit sur « Ordinateur » ou « Poste de travail » (en fonction de la version de Windows considérée) → gestion de l'ordinateur → gestion des disques → étendre. Pour GNU/Linux utilisez Gparted par exemple

L'opération est terminée.

VI-D-5 - Agrandir la taille du disque

Il faut créer un nouveau disque virtuel de la taille voulue puis cloner le contenu de l'ancien disque virtuel vers le nouveau :

VBoxManage clonehd ancien.vdi --existing nouveau.vdi

« ancien.vdi » et « nouveau.vdi » sont à remplacer respectivement par les noms de vos disques et leur chemin complet (à prendre dans VirtualBox->Fichier->Gestionnaire de médias).

Puis une fois la machine virtuelle démarrée sur le nouveau disque, le disque dur virtuel a effectivement changé de taille, mais pas encore la (dernière, si vous en avez plusieurs) partition, pour terminer, il faut donc le faire. Pour une machine virtuelle Windows, il faut aller dans « Gérer » dans le bouton de droite sur l'icône « Poste de travail », puis l'onglet « Gestion des disques », clic droit sur la partition puis « Étendre le volume ». L'opération est immédiate.

Sur Windows XP :

- ajouter le nouveau.vdi comme périphérique de ancien.vdi (Configuration>Stockage) en Esclave Secondaire ;

- démarrer ancien.vdi, et exécuter cmd pour utiliser diskpart et redimensionner nouveau.vdi :

diskpart
list volume
select volume [N]
extend
exit

[N] est le numéro de volume de nouveau.vdi) ;

- éteindre ancien.vdi et démarrer normalement nouveau.vdi avec la nouvelle taille étendue.

S'il est impossible de booter sur le nouveau disque d'une machine en supprimant l'ancien. Le mieux est alors :

- de créer une nouvelle machine virtuelle avec un nouveau disque (vide) de grande taille ;

- d'y cloner l'ancien disque (ici l'ancienne machine est WinXP et la nouvelle Windows_XP)

> cd ~
> cd 'VirtualBox VMs/'
> ls
WinXP  Windows_XP
> VBoxManage clonehd WinXP/WinXP.vdi  --existing Windows_XP/Windows_XP.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: cfca7d5f-2e7a-44a9-9e55-4d49d3213ff6

- d'étendre le nouveau disque en l'ajoutant à l'ancienne machine virtuelle puis en bootant sur cette machine et en exécutant diskpart.

Microsoft DiskPart version 5.1.3565

Copyright (C) 1999-2003 Microsoft Corporation.
Sur l'ordinateur : XPSP2-12711CC85

DISKPART> list disk

Disque ###  Statut      Taille     Libre     Dyn  Gpt
--------  ---------  -----------  --------   ---  ---
Disque 0    Connecté      10 GB      0 B
Disque 1    Connecté      20 GB    10 GB

DISKPART> list volume

Volume ###  Ltr  Nom        Fs     Type        Taille     Statut     Info
----------  ---  -------  ------  ----------  ----------  ---------  --------
Volume 0     C                NTFS   Partition     10 GB  Sain       Système
Volume 1     D                NTFS   Partition     10 GB  Sain

DISKPART> select volume 1

Le volume 1 est le volume sélectionné.

DISKPART> extend

DiskPart a correctement étendu le volume.

On veillera à rétablir les mêmes paramètres (dossiers partagés, etc.) dans la nouvelle machine. Ensuite on peut supprimer l'ancienne machine (suppression complète dans ce cas).

VI-D-6 - Réduire la taille du disque

Vous pouvez suivre la procédure « compresser le disque » puis « agrandir le disque » à la taille voulue.

Autre procédure (invité WindowsXP sur hote Ubuntu 10.04) :

sur la machine virtuelle Windows XP : téléchargez http://www.feyrer.de/g4u/nullfile-1.02.exe et défragmentez votre disque dur (defrag c: -f) exécuter nullfile-1.02.exe pour remplir l'espace vide de zéros (facilite la procédure) éteindre la machine virtuelle sous Ubuntu, compressez le disque « ancien.vdi » :

VBoxManage modifyhd ancien.vdi --compact

Le disque est maintenant compressé. Pour l'agrandir (voir « Agrandir la taille du disque ») : il faut créer un nouveau disque virtuel de la taille voulue puis cloner le contenu de l'ancien disque virtuel vers le nouveau :

VBoxManage clonehd ancien.vdi --existing nouveau.vdi

VI-E - Copier une machine virtuelle

N'hésitez pas à utiliser les options d'import/export très pratiques pour cloner vos machines virtuelles, les uuid, mac adresses, etc. seront régénérés.

L'export :

VBoxManage export Mamachine -o Mamachine.ovf

L'import :

VBoxManage import Mamachine.ovf

L'option - -dry-run est conseillée pour simuler l'import et détecter des erreurs éventuelles. Elle permet aussi d'accéder aux « more options » de l'import, par exemple si vous souhaitez importer plusieurs fois une machine virtuelle, il peut être intéressant de changer le nom :

VBoxManage import ./MaMachine/MaMachine.ovf --vsys 0 --vmname MaNouvelleMachine

VI-F - Prise de contrôle à distance

Dans le cadre de la virtualisation des serveurs ou des postes de travail (VDI : Virtual Desktop Infrastructure), l'ordinateur sur lequel tourne la machine virtuelle, n'est plus l'ordinateur sur lequel on exploite la machine virtuelle.

L'ordinateur hôte ne dispose pas obligatoirement d'une interface graphique pour économiser les ressources machines (la machine est alors lancée avec la méthode headless). Il devient donc indispensable de pouvoir prendre le contrôle de la station à distance.

Virtualbox propose cette fonctionnalité, sans devoir installer de couche logicielle supplémentaire.

VI-F-1 - Sur l'ordinateur hébergeant le système invité

- Ouvrez les préférences du système invité.

- Allez dans la rubrique Affichage → Affichage distant.

- Spécifiez un numéro de port pour la machine (un numéro de port différent par machine virtuelle).

VI-F-2 - Sur le client distant

VirtualBox mettant en œuvre le protocole RDP (Remote Desktop Protocol), la prise de contrôle à distance est compatible avec le client Terminal Server.

Il est donc possible de prendre le contrôle de n'importe quel type de machine virtuelle (Windows, GNU/Linux…) depuis des postes Windows ou GNU/Linux.

Lancez le client Terminal Server et configurez votre connexion avec l'adresse IP de l'ordinateur hébergeant le système invité et le numéro de port correspondant à la machine virtuelle cible.

VI-F-3 - Modifier le dossier de la machine VDI

Après un changement de répertoire contenant les machines virtuelles, il faut mettre à jour virtualbox en adaptant le chemin dans les fichiers suivants : /home/[USER]/.VirtualBox/VirtualBox.xml /home/[USER]/.VirtualBox/VirtualBox.xml-prev

VI-F-4 - Grâce à RemoteBox

RemoteBox est un logiciel de contrôle à distance de machines VirtualBox installées par exemple sur un serveur. Il ne nécessite pas d'installation de serveur web (Apache ou autre) sur le serveur pour fonctionner. Il est recommandé d'installer des paquets complémentaires afin d'utiliser toutes les capacités de RemoteBox : libgtk2-perl libsoap-lite-perl rdesktop

sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop

Après avoir consulté la documentation RemoteBox et fait les modifications requises vous pourrez piloter vos machines virtuelles depuis ce client, connectez-vous à l'adresse : http://localhost:18083/.

VI-G - Monter un disque VDI

#installer le paquet qemu-kvm

$ sudo apt-get install qemu-kvm

#Charger le module nbd

$ sudo modprobe nbd

#Créer le périphérique « loopback » de l'image

$ sudo qemu-nbd -c /dev/nbd0 <image>.vdi

#monter les partitions, elles seront accessibles par /dev/nbd0pXXX

$ sudo mount  -o noatime,noexec /dev/nbd0p1 /tmp/vdi/

#une fois terminé, démontage et arrêt du module ndb

$ sudo umount /tmp/vdi/
$ sudo qemu-nbd -d /dev/nbd0

Fonctionne sur des images fixes et dynamiques.

Dans le cas où Virtualbox refuse de démarrer une machine après avoir réalisé le montage de VDI puis quitté comme indiqué ci-dessus avec une erreur : « VirtualBox can't enable the AMD-V extension. Please disable the KVM kernel extension, recompile your kernel and reboot », il est nécessaire de décharger les modules kvm avec les commandes ' sudo rmmod kvm-intel ' ou ' sudo rmmod kvm-amd '. Vous pouvez utiliser ' sudo lsmod ' pour voir quels modules sont actuellement chargés.

VII - Problèmes connus

VII-A - Codes d'erreurs

Les codes erreurs sont plus précis que de long discours. Pour connaître le code d'une erreur, cliquez sur l'intitulé Détails de la fenêtre VirtualBox qui annonce un problème.

VII-A-1 - VBOX_E_INVALID_OBJECT_STATE

Votre disque virtuel peut être situé sur un support amovible non présent sur votre machine. Connectez votre support amovible et redémarrez VirtualBox.

Si disque virtuel n'est plus accessible. Ceci est généralement dû à sa suppression depuis l'explorateur de fichier ou d'une modification de son emplacement (changement de nom de dossier, changement du nom du support amovible…) Dans ce cas, supprimez la ou les machines virtuelles utilisant le disque virtuel concerné et redémarrez VirtualBox.

Vous pouvez également modifier le fichier \\/home/percherie/.VirtualBox/VirtualBox.xml
pour corriger à la main les erreurs, ceci à vos risques et périls. En cas d'erreur, toute la configuration de VirtualBox sera faussée ou détériorée.

VII-A-2 - VERR_FILE_NOT_FOUND

Le matériel de votre ordinateur a changé (ex. : lecteur DVD retiré…).

- Rejetez la machine (équivaut à un arrêt brutal de la machine).

- Aller dans les préférences.

- Supprimer ce matériel pour la machine.

VII-A-3 - VERR_VM_DRIVER_NOT_INSTALLED

Vous avez mis votre noyau à jour et devez mettre à jour les modules VirtualBox. Utilisez la commande suivante :

sudo apt-get install virtualbox-ose-modules-`uname -r`

Après une mise à jour du noyau, il peut s'écouler un certain temps avant que les paquets correspondants pour Virtualbox-ose soient disponibles. Si le module pour un nouveau noyau est manquant, on peut le créer avec module-assistant :

- on télécharge les sources de virtualbox-ose :

sudo apt-get install virtualbox-ose-source

- on crée le module :

sudo m-a prepare virtualbox-ose
sudo m-a a-i virtualbox-ose

- si la commande m-a renvoie une erreur, installez le paquet module-assistant.

- on charge le module :

sudo modprobe vboxdrv

Pour automatiser le chargement du module au démarrage du système, il suffit de rajouter « vboxdrv » à la fin du fichier (il y sera déjà si un module a été installé auparavant) :

/etc/modules

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

Une autre solution est d'installer le paquet linux-headers correspondant à votre version de noyau, puis de redémarrer votre machine (physique pas virtuelle !). Par exemple pour une version de noyau 3.5.0-26-generic, entrez la commande suivante :

sudo apt-get install linux-headers-3.5.0-26-generic

Redémarrez votre machine et relancez virtualbox. Cette solution est également intéressante si vous possédez plusieurs noyaux sur un même système (par exemple un noyau « generic » et un noyau « low-latency »).

VII-A-4 - VERR_VM_DRIVER_NOT_ACCESSIBLE

Vous devez rétablir les droits sur /dev/vboxdrv. Pour cela, tapez :

sudo chgrp vboxusers /dev/vboxdrv
sudo chmod 666 /dev/vboxdrv

Si les utilisateurs de VirtualBox appartiennent bien au groupe « vboxusers », vous ne devriez pas avoir de souci. Pour ajouter un ou des utilisateurs au groupe, vous devez indiquer les comptes qui appartiennent au groupe vboxusers.

VII-A-5 - VERR_VMX_IN_VMX_ROOT_MODE

Vous avez installé KVM et VirtualBox ne peut pas exécuter KVM en mode super utilisateur. Vous devez désinstaller KVM, le recompiler et redémarrer votre ordinateur :

- supprimez le module KVM :

sudo apt-get remove kvm

- redémarrez ;

- après le redémarrage, tapez :

sudo rmmod kvm_intel
sudo rmmod kvm

Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de bogue sur Launchpad : https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588.

VII-A-5-a - NS_ERROR_FAILURE (0x80004005)

Il existe principalement deux causes provoquant cette erreur :

- le paquet virtualbox-dkms n'est pas installé, veuillez installer le paquet. Si cela ne suffit pas, désinstallez complètement VirtualBox et ses dépendances afin d'effectuer une installation complète

sudo apt-get autoremove --purge virtualbox*

- le support de l'USB n'est pas activé ou désactivé suite à une mise à jour, veuillez suivre ce qui est indiqué à la rubrique périphérique USB.

VII-B - Codes d'erreur (version PUEL uniquement)

VII-B-1 - VERR_VM_DRIVER_NOT_INSTALLED

Vous avez mis votre noyau à jour et devez mettre à jour les modules VirtualBox. Il faut recompiler le noyau, dans un terminal :

sudo /etc/init.d/vboxdrv setup

Ou :

sudo /etc/init.d/vboxdrv.dpkg-bak setup

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

VII-B-2 - VERR_VM_DRIVER_VERSION_MISMATCH

Suite à une mise à jour, il faut recompiler le noyau, dans un terminal :

sudo /etc/init.d/vboxdrv setup

Ou :

sudo /etc/init.d/vboxdrv.dpkg-bak setup

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

VII-B-3 - VERR_VMX_IN_VMX_ROOT_MODE

Vous avez installé KVM et VirtualBox ne peut pas exécuter KVM en mode super utilisateur. Vous devez désinstaller KVM, le recompiler et redémarrer votre ordinateur.

- Supprimez le module KVM :

sudo apt-get remove kvm

- Redémarrez.

- Après le redémarrage, tapez :

sudo rmmod kvm_intel
sudo rmmod kvm

Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de bogue sur Launchpad : https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588.

VII-C - Les ports USB ne fonctionnent pas

Avant d'appliquer les résolutions de problèmes suivants, consultez la rubrique traitant de l'installation des ports USB (voir menu en début de page). Il peut arriver que l'utilisation des périphériques USB 1 requière l'installation du Oracle VM VirtualBox Extension Pack (nécessaire pour les périphériques USB 2).

VII-C-1 - Ubuntu 10.10

Selon la discussion http://forum.ubuntu-fr.org/viewtopic.php?pid=3657440#p3657440, pour pouvoir utiliser les périphériques USB :

- modifiez le fichier /etc/udev/rules.d/10-vboxdrv.rules ;

- modifiez la ligne :

SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE=0664 // SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE=0664

- en modifiant les droits de 0664 à 0666 :

SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE=0666 // SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE=0666

- redémarrez l'ordinateur.

VII-C-2 - Ubuntu 10.04 et 10.10

Avec Virtualbox4.0, il existe un problème similaire d'accès aux périphériques USB que ne résout pas la simple affectation au groupe vboxusers. Selon la discussion http://forum.ubuntu-fr.org/viewtopic.php?pid=3657440#p3657440 :

- modifiez le fichier /etc/udev/rules.d/10-vboxdrv.rules ;

- modifiez la ligne :

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"

- en modifiant les droits de 0600 à 0666

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0666"

- redémarrez l'ordinateur.

VII-D - Message « Spawning session… »

Si, à l'ouverture d'une machine virtuelle, une petite fenêtre s'ouvre avec le message « Spawning session… » et que celle-ci reste bloquée à 0 %, vous devez :

- fermer VirtualBox ou tuer le processus si besoin ;

- recompiler le module en tapant dans un terminal:

sudo /etc/init.d/vboxdrv setup

VII-E - Écran noir après l'accueil d'un CD

Si, après avoir sélectionné « Lancer Ubuntu » ou « Lancer Kubuntu », vous obtenez un écran noir et plus rien ne se passe.

Utilisez la fonction Machine → Redémarrage ou encore la touche Hôte + R pour effectuer un « reset ».

VII-F - Écran bleu Windows

Après une mise à jour de VirtualBox (notamment vers la version 1.6.2 disponible pour Hardy sous architecture AMD64), les machines virtuelles Windows peuvent présenter un écran bleu lors de leur démarrage.

Pour résoudre le problème :

- sélectionnez votre machine virtuelle dans VirtualBox ;

- cliquez sur le bouton « Préférences » ;

- allez dans la rubrique « Supports » ;

- sélectionnez dans « Attributs » le type « PIIX3 » à la place de « PIIX4 » et inversement selon votre configuration.

VII-G - Écran noir Windows

Il est possible qu'après avoir lancé Windows dans votre machine virtuelle, vous vous retrouviez avec un écran noir, juste avant que le logo Windows avec sa barre de chargement n'apparaisse.

Pour résoudre le problème :

- sélectionnez votre machine virtuelle dans VirtualBox ;

- cliquez sur le bouton « Préférences » ;

- allez dans la rubrique « Système », puis dans l'onglet « Carte mère » ;

- sélectionnez dans « Paramètres étendus » l'option « Activer l'IO APIC ».

VII-H - Obtenir le plein écran sous Vista

Si vous utilisez un système hôte Vista utilisant un système invité Ubuntu et que vous n'arrivez pas à obtenir le plein écran du système invité.

Vérifiez que vous avez amélioré l'émulation. Si le problème persiste, après redémarrage, ouvrez le fichier /etc/X11/xorg.conf et cherchez-y les lignes suivantes :

Section "Screen"
Identifier    "Default Screen"
Device        "VirtualBox graphics card"
Monitor       "Generic Monitor"
DefaultDepth  24
EndSection

Modifiez-les de façon à obtenir ceci :

Section "Screen"
Identifier    "Default Screen"
Device        "VirtualBox graphics card"
Monitor       "Generic Monitor"
DefaultDepth  24
SubSection "Display"
Depth         24
Modes         "1024x768" "800x600" "640x480"
EndSubSection
EndSection

La résolution utilisée sera la première dans le champ « Modes ». Notez que vous pouvez utiliser la résolution de votre choix, ici il s'agit de 1024 x 768.

VII-I - Fenêtre transparente

Ce problème apparaît à cause de Compiz Fusion. Pour résoudre ce problème, deux solutions sont possibles.

VII-I-1 - En désactivant les effets de bureau

Si vous n'avez pas encore installé le gestionnaire des effets de bureau Compiz, référez-vous à sa documentation.

Une fois le gestionnaire ouvert :

- allez dans la catégorie « Gestion des fenêtres » ;

- cochez et ouvrez « Règles de Fenêtre » ;

- dans « Pas de visuels ARGB » collez ceci :

title=Sun VirtualBox

VII-I-2 - En modifiant la commande à exécuter

Il faut remplacer la commande à exécuter :

VirtualBox

par :

env XLIB_SKIP_ARGB_VISUALS=1 VirtualBox

Dans certains cas, cela ne fonctionne que si l'accélération 3D est désactivée.

VII-J - Perte du réseau après une mise à jour du kernel sur le système hôte GNU/Linux

Si votre machine virtuelle refuse de démarrer avec l'option « Activer la carte réseau » cochée, ou que vous n'avez plus de réseau dans le système invité, cela peut provenir d'une mise à jour du kernel Linux du système hôte (kernel version 2.6.32 ou supérieur), par exemple lors de la mise à niveau de Ubuntu 9.10 Karmic vers Ubuntu 10.04 Lucid. Vous devriez également rencontrer les erreurs suivantes en entrant la commande « dmesg » dans un terminal :

[...]
[   40.951855] vboxdrv: Successfully loaded version 3.2.6 (interface 0x00140001).
[   41.160114] vboxnetflt: no symbol version for RTSemFastMutexCreate
[   41.160119] vboxnetflt: Unknown symbol RTSemFastMutexCreate
[   41.160303] vboxnetflt: no symbol version for RTR0Init
[   41.160306] vboxnetflt: Unknown symbol RTR0Init
[   41.160687] vboxnetflt: no symbol version for SUPDrvLinuxIDC
[   41.160690] vboxnetflt: Unknown symbol SUPDrvLinuxIDC
[...]

Le problème vient du fait que DKMS n'a pas bien installé le module vboxnetflt pour la nouvelle version du kernel. Pour le résoudre, rien de plus simple ! Il suffit de relancer l'installation de Virtualbox, en entrant la commande suivante dans un terminal :

sudo /etc/init.d/vboxdrv setup

Pour suivre la correction de ce bogue, vous pouvez consulter le rapport de bogue sur le site virtualbox, et celui sur le site deDebian.

VII-K - Défilement très lent sur Ubuntu Server

Si le défilement des écrans est très lent avec VirtualBox sur Ubuntu Server, il faut éditer le fichier /etc/modprobe.d/blacklist-framebuffer.conf avec les droits d'administration pour y ajouter la ligne suivante :

blacklist vga16fb

Source sur ubuntuforums.org.

VII-L - Imprimante non fonctionnelle sur le système invité

Sous VirtualBox 3.2, si votre imprimante est grisée dans la liste des périphériques USB alors que les autres périphériques (clé USB…) fonctionnent, essayez d'ajouter votre utilisateur aux groupes lp et lpadmin.

VII-M - Iphone 4 non reconnu

Sous VirtualBox 3.2 PUEL, l'iPhone 4 n'est pas correctement reconnu via le port USB. Il reste en « recovery mode » malgré l'ajout de l'utilisateur courant dans le groupe vboxusers et l'ajout d'un filtre USB pour la machine virtuelle.

La pseudosolution consiste à lancer VirtualBox avec les droits du super utilisateur (ce qui peut se révéler très dangereux) :

gksu VirtualBox

Ensuite il faut recréer une machine virtuelle avec le disque VDI utilisé habituellement. Pour finir, lancez la machine virtuelle et procédez à la mise à jour, cette dernière ne devrait plus s'interrompre.

VII-N - Can't open /etc/init.d/functions

On retrouve ce message d'erreur avec VirtualBox 3.2 PUEL.

Le problème vient du fait qu'il existe un fichier /etc/redhat-release sur Ubuntu (car celui-ci est parfois nécessaire pour pouvoir installer certains logiciels commerciaux). Le programme d'installation croit alors être sur Redhat et cherche le fichier /etc/init.d/functions.

Pour corriger le problème, il faut renommer/supprimer ce fichier (/etc/redhat-release) et relancer l'installation ou la mise à jour.

VII-O - Souris incontrôlable

Si la souris est incontrôlable lors de l'utilisation d'un jeu sous Windows XP, il faut désactiver l'intégration de la souris dans le menu Machine ou utiliser le raccourci clavier Host + i.

VII-P - Boot EFI impossible

Lors de l'activation du boot de votre machine virtuelle en mode EFI, vous obtenez le message suivant

Press ESC in nn seconds to skip startup.nsh or any other key to continue

VIII - Désinstallation

Pour supprimer VirtualBox supprimez les paquets :

- virtualbox-ose si vous utilisez l'édition OSE ;

- virtualbox-4.2 ou virtualbox-4.1 si vous utilisez l'édition Oracle.

Si vous ne connaissez pas la version de VirtualBox que vous utilisez, vous pouvez utiliser la commande suivante :

sudo apt-get remove 'virtualbox*'

Le dossier ~/.VirtualBox contenant vos machines virtuelles et leurs disques durs virtuels sera conservé quelle que soit la méthode de désinstallation utilisée.

N'hésitez pas à commenter cet article ! Commentez

IX - Voir aussi

Vous pouvez visiter le forum dédié à la virtualisation pour y poser des questions ou participer selon vos connaissances.

IX-A - Sites officiels et ressources

- Site officiel de VirtualBox.

- VirtualBoxes, ressources en machines virtuelles gratuites préinstallées (anglais).

- VirtualBoxImages.com, ressources en machines virtuelles gratuites préinstallées (anglais).

- Virtualbox® Images, autre site de ressources en machines virtuelles gratuites préinstallées (anglais).

- phpVirtualBox permettant d'utiliser VirtualBox depuis un navigateur Internet.

- RemoteBox similaire à phpVirtualBox, mais ne nécessite pas de serveur web pour fonctionner.

IX-B - Quelques tutoriels

- Installer Ubuntu Sous Seven, Comment faire fonctionner une distribution Linux sous un environnement Microsoft

- Utilisation de Serveur LAMP avec VirtualBox sous Windows XP

- VirtualBox : Les fichiers de disques durs virtuels (VDI)

IX-C - Tutoriels vidéo

- Prochainement sur la rubrique virtualisation

(1)Icône à droite représentant un dossier avec une croix verte.