VirtualBox

Logo de VirtualBox/Oracle

VirtualBox ou machine virtuelle 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.

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 (VM) est un ordinateur virtuel créé par VirtualBox et utilise un système invité.
  • 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.

Configuration requise

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

  • Processeur : 2 GHz (simple cœur)
  • Mémoire vive : 2 Gio
  • Disque dur : 116 Mio d'espace disque libre
  • Carte graphique : peu importe

Ceci étant, la configuration minimale 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èse la mémoire qui devra être affectée à la machine virtuelle.

Système d'exploitation Processeur Mémoire vive Espace disque libre
Ubuntu 1 GHz 1 Gio (512 Mio) 9 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 2 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 par exemple avec INX Is Not X), ne tenez pas compte de l'espace disque libre requis supplémentaire.

Pour pouvoir, faire tourner convenablement une machine virtuelle sans ralentissement lors de l'utilisation de celle-ci, il est recommandé d'avoir au moins 4 Go de RAM, un processeur dual-core/quad-core cadencé à 2 GHz. Il serait plus intéressant de posséder 8 Go RAM un processeur quad-core 3 GHz, dont 4 Go pour le système physique, 4 Go pour la machine virtuelle, allouer 2 cœurs à la machine physique et allouer 2 cœurs à la machine virtuelle. Vérifiez que votre CPU supporte la virtualisation, pour plus d'informations rendez-vous sur la page https://doc.ubuntu-fr.org/virtualisation

Attention, la mémoire vive (RAM) allouée à une machine virtuelle sera indisponible pour le système hôte durant le fonctionnement de la machine virtuelle. Voici un exemple. Vous créez une machine virtuelle pour installer Windows XP et vous allouez 2'500 Mo de RAM pour cette machine virtuelle. Dans le cas où votre ordinateur hôte à 4 Go (=4'000 Mo) de RAM, lorsque la machine virtuelle est lancée, votre système hôte n'a plus que 1'500 Mo de RAM pour tourner. Si vous lancer une deuxième machine virtuelle qui consomme 1'000 Mo de RAM, votre système hôte n'aura plus que 500 Mo de RAM pour lui et a de fort risque de planter pour insuffisance de RAM. Un ordinateur avec 8 Go ou même 16 Go est plus adapté pour faire tourner des machines virtuelles.

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.

Installation

Si vous utilisez Ubuntu Xenial 16.04 dans une machine Virtualbox Oracle, désinstallez le paquet virtualbox-guest-utils avant d'ajouter les additions invités de Virtualbox Oracle. Il y a un risque de conflit entre les versions des additions invités.
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 libre.1) 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.
Version d'Ubuntu Version Ubuntu Version du dépôt d'Oracle
Ubuntu 16.10 5.1.6 5.1.14
Ubuntu 16.04 5.0.24 5.1.14
Ubuntu 15.10 5.0.4 5.1.14
Ubuntu 14.04 LTS 4.3.36 5.1.14
Ubuntu 12.04 LTS 4.1.12 5.1.14

(Informations à jour le 19/01/2017)

Installation principale de VirtualBox

Installation par les dépôts officiels d'Ubuntu

Pour installer VirtualBox tel qu'empaqueté par l'équipe d'Ubuntu, installez les paquets virtualbox virtualbox-qt virtualbox-dkms.

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 16.04 LTS deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Ubuntu 15.10 deb http://download.virtualbox.org/virtualbox/debian wily contrib
Ubuntu 15.04 deb http://download.virtualbox.org/virtualbox/debian vivid contrib
Ubuntu 14.04 LTS deb http://download.virtualbox.org/virtualbox/debian trusty contrib
Ubuntu 12.04 LTS deb http://download.virtualbox.org/virtualbox/debian precise contrib

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

  1. 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 :

Pour Ubuntu 16.04 et supérieur:

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

Pour les version d'Ubuntu antérieur à 16.04:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - 
  1. 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 /etc/apt/sources.list.d/virtualbox.list
  2. Rechargez la liste des paquets disponibles pour installation en exécutant la commande suivante dans un terminal ;
    sudo apt-get update
Procédure pour ajouter le dépot Oracle et installer Virtualbox 5.1 en une seule ligne de commande :
echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /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-5.1

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

sudo usermod -G vboxusers -a $USER

- Si vous avez installé Virtualbox des dépots Oracle en remplacement de la version des dépots officiels d'Ubuntu, il peut-être nécessaire de mettre à jour le module DKMS :

sudo /etc/init.d/vboxdrv setup

Installation additionnelle

Pour optimiser VirtualBox, consultez le paragraphe traitant de l'amélioration de l'émulation.

Installation du noyau/kernel VirtualBox pour Linux

Parfois, l'installation de base de virtualBox est insuffisante pour Virtualiser d'autres distributions Linux. Cela se caractérise par un message du type : Kernel driver not installed The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

Ainsi, il faut installer le driver kernel/noyau de VirtualBox pour Linux. Cela se fait en 2 parties :

  1. Identifier quel est votre noyau :
uname -r

Par exemple, si la commande renvoie 3.11-2-amd64, cela veut dire que le noyau est 311

  1. Installer le bon kernel :

Partie à completer… S'inspirer également de cette page

Installation du support de l'USB 2

Pour le support de l'USB 2, consultez le paragraphe traitant des peripheriques_usb_virtualbox_4_et_5.

Utilisation

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. e

Principales commandes

La Touche Hôte est par défaut la touche Ctrl droite (votre clavier a 2 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.

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.).

Voici une liste de tutoriels :

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 conséquent ( ≥ 40 Go qui n'occupera que l'espace nécessaire). Ceci bien sûr si la taille de votre disque dur le permet.

Configurer une machine virtuelle

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

Voici une liste de tutoriels :

Installer un système invité

Partant du principe que vous utilisez un système hôte Ubuntu, il est fort probable que vous vouliez installer un système invité Windows pour vos jeux et logiciels qui ne fonctionnent pas, ou qui ne fonctionnent pas suffisamment bien, avec Wine (ou PlayOnLinux, fondé lui-même sur Wine).

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.Vous pouvez aussi utiliser une version plus ancienne de Windows, comme Windows 98 ou Windows 98SE, qui consomme sensiblement moins d'espace disque que Windows XP, au détriment des performances de l'application.

Pour installer Windows comme système invité :

Pour installer d'autres versions d'Ubuntu comme système invité :

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).

Périphériques USB (VirtualBox 4 et 5)

Les ports USB 3 (bleu) ne sont pas pris en charge dans la version Virtualbox 4. Si vous tentez de brancher votre clé sur un port, elle ne sera pas accessible dans votre virtualisation. Ils sont maintenant pris en charge depuis la version 5.0

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

  1. Permettre l'utilisation des ports USB pour VirtualBox en indiquant les comptes qui appartiendront au groupe vboxusers dans le système hôte. 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
  2. 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 si il ne l'est pas.
  3. 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.

Activation de l'USB 2

Installation en mode graphique

L'USB 2 par rapport à l'USB 1 ou 1.1 permet des transferts de données plus rapide. 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 :

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…
Ne pas avoir la même version entre le pack d'extensions et le programme VirtualBox peut empêcher le lancement de l'OS virtualisé. Par exemple : Windows XP SP3 virtualisé par VirtualBox 4.3.34 sur Ubuntu 14.04 LTS ne se charge pas jusqu'à son terme : il est stoppé après le chargement du driver "mup.sys", le système tentant ensuite de charger les périphériques USB (plus d'informations ici). La mise à jour du pack d'extensions de 4.3.10 à 4.3.34 a résolu le problème.

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

  1. Ouvrez le menu Fichier → Paramètres… (raccourcis clavier Ctrl + G) ;
  2. Allez à la rubrique Extensions ;
  3. Cliquez sur l'icône Ajouter Extension située sur la droite de la fenêtre ;
  4. Sélectionnez l'extension précédemment téléchargée (probablement située dans votre dossier téléchargement) ;
  5. Validez son installation ;
  6. Validez la Licence VirtualBox en défilant en jusqu'en bas de ladite licence ;
  7. 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.

Installation en lignes de commandes
  1. 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
  2. Installation du pack téléchargé en fonction de la version de VirtualBox :
    VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack
  3. 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`

Démarrer sur une clé USB

Prérequis

  1. Une clé USB Bootable ;
  2. Avoir amélioré l'émulation ;
  3. Savoir identifier un périphérique USB (sous la forme /dev/sdx).

Création du lien vers sa clé

  1. 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.

  2. Ouvrez un terminal et taper la commande suivante : remplacez /dev/sdx par votre périphérique
    sudo VBoxManage internalcommands createrawvmdk -filename ~/Téléchargements/usb.vmdk -rawdisk /dev/sdx
  3. 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.

Import dans VirtualBox

  1. Dans VirtualBox, aller dans la configuration de votre machine virtuelle rubrique Stockage ;
  2. Ajoutez un disque dur primaire ;
  3. Choisissez un disque existant en sélectionnant le fichier usb.vmdk précédemment crée ;
  4. 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 parti du groupe « disk ». Si vous venez de vous ajouter au groupe fermez votre session et reconnectez vous.

Partage de dossiers depuis l'hôte

Reportez-vous à la page suivante ;

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

Ajouter un lecteur optique CD ou DVD

Pour installer un OS invité depuis un CD, il faut indiquer à Virtualbox où se trouve le lecteur de CD.

  • Il faut pour cela ajouter un contrôleur correspondant à l'interface de votre lecteur : "configuration" de votre machine virtuelle, "stockage", dans le cadre "arborescence stockage", ajouter un contrôleur (icône + en bas à droite), choisir le type de contrôleur (SATA, IDE, SCSI…)
  • cliquer sur l'icône disque avec un + pour ajouter un lecteur. Choisir "Laisser vide" puis confirmer
  • Cliquer sur le lecteur que vous venez de créer puis dans "Attributs" à droite, choisir le port (le laisser au premier choix en général), puis à droite de la liste déroulante, cliquer sur l'icône CD pour choisir le fichier de disque optique virtuel. Votre lecteur physique devrait apparaître dans la liste. Choisissez-le puis confirmez
  • Démarrez la machine virtuelle pour installer votre OS invité depuis le CD d'installation

Utiliser le Port Série

Dans les paramètres de la VM, sélectionner Ports série.
Dans l'onget Port 1:
Activer le port série.
Mode du port: Périphérique hôte
Chemin/Adresse: /dev/ttyS0

Pour que l'hôte (ubuntu) accepte de partager le port, il faut vous ajouter dans le groupe dialout :

 sudo adduser $USER dialout 

Optimisations

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. Vous trouverez toutes les informations utiles sur la page Installer les Additions invité.

Son d'une machine virtuelle Windows

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.

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 certains 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, à activer si vous souhaitez accéder à une imprimante réseau sous invité Windows ;
  • 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 machine virtuelle présente sur le même hôte ;
  • Pilotes génériques : relie entre elles différentes machine virtuelle avec la même interface réseau générique via deux méthode (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 :

FIXME: 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.

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 :

  1. Éditer le fichier /etc/X11/xorg.conf avec les droits d'administration ;
  2. Ajoutez les trois lignes suivantes :
    Section "Monitor"
        HorizSync    31-67
    EndSection
  3. Enregistrez les changements ;
  4. Redémarrez la session du live CD.

Masquer la barre d'état et la barre de menu

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 menu, 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

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 taper : VBoxManage dans un terminal.

Vous pouvez aussi consulter la page VirtualBox en environnement serveur.

Créer une machine virtuelle en ligne de commande

Pour créer une machine virtuelle en ligne de commande, nous allons utiliser la commande VBoxManage. Nous allons dans un premier temps ouvrir un terminal et créer une machine virtuelle portant le nom Ubuntu14.04 :

VBoxManage createvm --name Ubuntu14.04
Après plusieurs recherches, il m'a fallu ajouter "–register" à la fin du code. Procéder en une commande à la création du fichier ET à l'enregistrement. Le problème survient dans l'étape d'enregistrement (2 étapes plus bas) la commande bloque par rapport à la création du fichier déjà fait par "createvm". J'ai trouvé de l'aide dans la page 119 de ce guide : https://www.virtualbox.org/download/testcase/manual/UserManual_fr_FR.pdf
VBoxManage createvm --name Ubuntu14.04 --register

Il nous faut maintenant définir la taille du disque dur de notre machine virtuelle, dans notre cas la taille de notre disque dur sera de 4242MB :

VBoxManage createhd --filename Ubuntu14.04 --size 4242

Et pour finir, il nous faut enregistrer notre machine virtuelle, pour se faire :

VBoxManage registervm '/votre/chemin/absolu/Ubuntu14.04.vbox'

Ou bien :

VBoxManage createvm --name Ubuntu14.04 --register

Configuration en ligne de commande de notre machine virtuelle

Nous utilisons l'option modifyvm avec pour nom, le nom de notre machine virtuelle Ubuntu14.04 tout en définissant notre type de système d'exploitation Ubuntu :

VBoxManage modifyvm Ubuntu14.04 --ostype Ubuntu

Ensuite, nous allons allouer 512MB à notre machine virtuelle :

VBoxManage modifyvm Ubuntu14.04 --memory 512

Nous devons maintenant configurer le contrôleur de stockage, dans notre exemple, le contrôleur de stockage portera le nom IDE, avec pour contrôleur de stockage ide, avec un chipset émulé PIIX4 et le tout sera bootable :

VBoxManage storagectl Ubuntu14.04 --name IDE --add ide --controller PIIX4 --bootable on

Nous allons maintenant attacher notre ISO ubuntu-14.04-desktop-amd64.iso à notre machine virtuelle Ubuntu14.04 :

VBoxManage storageattach Ubuntu14.04 --storagectl IDE --port 0 --device 0 --type dvddrive --medium "/chemin/absolu/de/votre/iso"

Nous configurations ensuite l'accélération 3D, la taille de notre Vram, notre pilote audio ainsi notre codec audio :

VBoxManage modifyvm Ubuntu14.04 --vram 128 --accelerate3d on --audio alsa --audiocontroller ac97

Il nous faut ensuite définir comment notre machine virtuelle va se connecter à Internet2), le matériel réseau qui sera présenté à notre machine virtuelle3) et permettre de déconnecter de manière temporaire notre interface réseau virtuelle ou non4) :

VBoxManage modifyvm Ubuntu14.04 --nic1 nat --nictype1 82540EM --cableconnected1 on

Nous pouvons enfin lancer notre machine virtuelle Ubuntu14.04 :

VBoxManage startvm Ubuntu14.04

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 cliquer 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é entre temps. 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.

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.

  1. Créez une machine virtuelle pour accueillir Windows XP ;
  2. Configurez votre machine pour « débrancher » la carte réseau virtuelle ;
  3. Installez Windows XP ;
  4. On va conserver le système déconnecté d'internet: désactivez les mises à jours et le firewall ;
  5. On utilise les instantanés de VirtualBox: désactivez les restaurations système ;
  6. Configurez et optimisez selon vos besoins le système pour l'alléger au maximum l'utilisation du disque et des ressources système ;
  7. Éteignez votre OS Guest ;
  8. Compresser votre image disque (voir plus bas) ;
  9. Redémarrez votre OS Guest ;
  10. Dans le menu machine, choisissez « fermer… » et choisissez l'option « enregistrez l'état de la machine » ;
  11. 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 seconde. Toutes modification faite après la création de l'instantanée sera détruite.

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 échapement 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, entrer 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>"

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…

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é.

Il s'agit de remplir l'espace non utilisé par des Zéros dans le système invité, puis de réduire l'espace grâce à VirtualBox dans le système hôte. Dans le système invité :

  • Sous Windows : téléchargez l'exécutable nullfile correspondant à votre installation invité : 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.
  • Toujours sous Windows, il est aussi possible d'utiliser l'utilitaire microsoft sdelete de la suite des sysinternals :
    sdelete -z C:

    (l’option -z indiquant de mettre à zéro les blocs libres).

  • 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

Convertir un disque VMWare en disque VDI

VirtualBox gère les disques VMWare (vmdk), mais des problèmes peuvent survenir. De plus les snapshots ne sont pas supportés jusqu'ici.

Dans un terminal, il faut se déplacer dans le dossier où se trouve la machine (.vmdk) et lancer la commande suivante, en remplaçant machine.vmdk par votre machine et machine.vdi par le nom de votre choix :

VBoxManage clonehd machine.vmdk machine.vdi -format VDI

Il ne reste plus qu'à créer une nouvelle machine en sélectionnant le disque déjà existant !

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

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% Si votre système hôte est Windows, voir cette page

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 utiliser Gparted par exemple

L'opération est terminée.

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)

  • Eteindre ancien.vdi et démarrer normalement nouveau.vdi avec la nouvelle taille étendue.

Si 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 executant 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ême paramètres (dossiers partagés etc…) dans la nouvelle machine Ensuite on peut supprimer l'ancienne machine (suppression complète dans ce cas).

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éro (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

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é pour simuler l'import et détecter des erreurs éventuelles. Il 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

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.

Sur l'ordinateur hébergeant le système invité

  1. Ouvrez les préférences du système invité ;
  2. Allez dans la rubrique Affichage → Affichage distant ;
  3. Spécifiez un numéro de port pour la machine (un numéro de port différent par machine virtuelle).

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.

Lancer le client Terminal Server et configurer 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.

Modifier le dossier de la machine VDI

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

Grâce à RemoteBox

RemoteBox est un logiciel de contrôle à distance de machine 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 virtuelle depuis ce client, connectez-vous a l'adresse : http://localhost:18083/.

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 necessaire 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.

Problèmes connus

VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED)

Il y a un problème au niveau du BIOS de votre ordinateur ( votre machine physique). Il va donc falloir modifier les paramètres de votre ordinateur ( pas de la machine virtuelle). Pour cela il faut redémarrer votre ordinateur et accéder au BIOS avant le lancement de tout OS. Pour cela, dans la majorité des cas , il faut maintenir la touche F2 au démarrage ( cela peut être une autre touche et dans ce cas , c'est indiqué brièvement à l'écran à la mise en route de celui-ci)

Une fois dans le BIOS, il faut se rendre dans la gestion des processeurs ( CPU) et parcourir la ligne qui correspond à la virtualisation. C'est à ce niveau qu'il faut rendre "enable" VT-x. Une fois cette opération réalisée , sortir du BIOS en n'oubliant pas d'enregistrer les modifications et redémarrer son ordinateur normalement.

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.

piix4_smbus 0000.00.07.0: SMBus base address uninitialized - upgrade bios or use force_addr=0xaddr

Cette erreur est dû au fait que les machines virtuelles VirtualBox ne possèdent pas de bus SMB, alors que le système d’exploitation essaie malgrè tout de charger le module. Même si ceci n’aura aucun impact sur le système, cela reste disgracieux. Voici une solution pour corriger ce problème :

1) Démarrer le système invité (guest)
c'est-à-dire le système d'exploitation installé à l'intérieur d'une machine virtuelle.

2) Vérifier que le module n’est pas déjà chargé par le noyau
Ouvrir un terminal
Taper

lsmod | grep i2c_piix4


si la commande ne retourne rien, passer à l'étape 3)
sinon taper

sudo modprobe -r i2c_piix4


3) Blacklister le module
Pour cela, il faut éditer le fichier /etc/modprobe.d/blacklist.conf et lui ajouter une ligne à la fin du fichier :
Ouvrir un terminal
Taper

echo "blacklist i2c_piix4" | sudo tee -a /etc/modprobe.d/blacklist.conf


4) mettre à jour l’archive initramfs
Pour que les commandes précédentes soient prises en compte au prochain démarrage, il faut :
Ouvrir un terminal
Taper

sudo update-initramfs -u


Normalement après ces petites manipulations le message d’erreur ne devrait plus apparaître. LOL


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 du à 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, supprimer la ou les machines virtuelle utilisant le disque virtuel concerné et redémarrez VirtualBox.

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

VERR_FILE_NOT_FOUND

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

  1. Rejetez la machine (équivaut à un arrêt brutal de la machine) ;
  2. Aller dans les préférences ;
  3. Supprimer ce matériel pour la machine.

VERR_VM_DRIVER_NOT_INSTALLED

Vous avez mis votre noyau à jour et devez mettre à jour les modules VirtualBox. Installez le paquet virtualbox-dkms, ou utilisez la commande suivante :

sudo apt-get install virtualbox-dkms

Puis chargez 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.

VERR_VM_DRIVER_NOT_ACCESSIBLE

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

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 soucis. Pour ajouter un ou des utilisateur(s) au groupe, vous devez indiquer les comptes qui appartiennent au groupe vboxusers.

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.

  1. Supprimez le module KVM :
    sudo apt-get remove kvm
  2. Redémarrez
  3. 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

NS_ERROR_FAILURE (0x80004005)

Il existe principalement deux causes provoquant cette erreur :

  1. Le paquet virtualbox-dkms n'est pas installé, veuillez installer le paquet. Si cela ne suffit pas, désinstaller complètement VirtualBox et ses dépendances afin d'effectuer une installation complète
    sudo apt-get autoremove --purge virtualbox*

    ;

  2. 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 ;

Codes d'erreur (version PUEL uniquement)

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.

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.

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.

  1. Supprimez le module KVM:
    sudo apt-get remove kvm
  2. Redémarrez
  3. 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 bug sur Launchpad: https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588

Kernel driver not installed (rc=-1908)

sudo apt-get install build-essential linux-headers-`uname -r`
sudo /etc/init.d/vboxdrv setup

Pour Ubuntu 16.04 voici les lignes de commandes pour résoudre le problème :

sudo apt-get install linux-headers-generic build-essential dkms
sudo apt-get remove --purge virtualbox-dkms
sudo apt-get install virtualbox-dkms

Les ports USB ne fonctionnent pas

Avant d'appliquer les résolution de problème suivant, 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 recquière l'installation du Oracle VM VirtualBox Extension Pack (nécéssaire pour les périphériques USB 2).

Ubuntu 10.10

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

  1. modifiez le fichier /etc/udev/rules.d/10-vboxdrv.rules ;
  2. Modifier la ligne :
    SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE=0664 // SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE=0664
  3. En modifiant les droits de 0664 à 0666 :
    SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE=0666 // SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE=0666
  4. Redémarrez l'ordinateur.

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 discutions http://forum.ubuntu-fr.org/viewtopic.php?pid=3657440#p3657440 :

  1. Modifiez le fichier /etc/udev/rules.d/10-vboxdrv.rules ;
  2. Modifiez la ligne :
    KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
  3. En modifiant les droits de 0600 à 0666
    KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0666"
  4. Redémarrez l'ordinateur.

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 :

  1. Fermer VirtualBox ou tuer le processus si besoin ;
  2. Recompiler le module en tapant dans un terminal:
    sudo /etc/init.d/vboxdrv setup

É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 ».

É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 :

  1. Sélectionnez votre machine virtuelle dans VirtualBox ;
  2. Cliquez sur le bouton « Préférences » ;
  3. Allez dans la rubrique « Supports » ;
  4. Sélectionnez dans « Attributs » le type « PIIX3 » à la place de « PIIX4 » et inversement selon votre configuration.

É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'apparaissent.

Pour résoudre le problème :

  1. Sélectionnez votre machine virtuelle dans VirtualBox ;
  2. Cliquez sur le bouton « Préférences » ;
  3. Allez dans la rubrique « Système », puis dans l'onglet « Carte mère » ;
  4. Sélectionnez dans « Paramètres étendus » l'option « Activer l'IO APIC ».

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 1024x768.

Fenêtre transparente

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

En désactivant les effets de bureau

  1. Installer le gestionnaire des effets de bureau Compiz;
    Une fois le gestionnaire ouvert :
  2. Allez dans la catégorie "Gestion des fenêtres";
  3. Cochez et ouvrez la fonctionnalité "Règles de Fenêtre" ("Window rules" en anglais);
  4. Dans « Pas de visuels ARGB » ("No ARGB visual" en anglais) collez ceci :
    title=Sun VirtualBox

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.

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 bug, vous pouvez consulter le rapport de bug sur le site virtualbox, et celui sur le site de debian.

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.

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.

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 pseudo solution 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, lancer la machine virtuelle et procéder à la mise à jour, cette dernière ne devrait plus s'interrompre.

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.

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.

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

FIXME

Il faut éditer le fichier startup.nsh avec : edit startup.nsh

puis saisir les lignes suivantes : fs0: \EFI\ubuntu\grubx64.efi enregistrer avec ctrl+s et quitter avec crtl+q

Attention car le clavier est en qwerty et il faut trouver les touches correspondantes.

Pas d'internet dans ma virtualbox

Il suffit de taper dans un terminal

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

.. Ou "VM name" est le nom de ta machine virtuelle telle dans l'interface de virtualbox

Source : http://forum.ubuntu-fr.org/viewtopic.php?id=1105481 poste #11

Consommation de RAM importante d'une VM Ubuntu avec accélération 3D

L'accélération 3D d'un invité Ubuntu (Unity), sur un hôte Windows 7 64 bits, entraîne une fuite mémoire très importante lors de l'ouverture du tableau de bord : plusieurs dizaines de Mo/s. Voir ici (confirmé par Id2ndR).

Le problème est dépendant des pilotes de l'hôte. Avec un GPU Intel HD 4600 (Core Génération 4), le problème est résolu avec le pilote Intel 15.36.7.64.3960 téléchargeable ici, et probablement les versions supérieures).

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.

Voir aussi

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

Sites officiels et ressources

Quelques tutoriels

Pages sur le sujet

search?q=.&amp;btnI=lucky


Contributeurs principaux: Percherie, luigifab, BeAvEr.

1)
Jusqu'à 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.
2)
dans notre cas on utilisera le NAT
3)
dans notre cas 82540EM
4)
dans notre cas on active l'option
  • virtualbox.txt
  • Dernière modification: Le 28/04/2018, 11:17
  • (modification externe)