Logo de VirtualBox/Oracle

VirtualBox

VirtualBox est un logiciel de virtualisation de systèmes d'exploitation. En utilisant les ressources matérielles de votre ordinateur (système hôte).
VirtualBox permet la création d'un ou de plusieurs ordinateurs virtuels (machines virtuelles) 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. À cet égard, en simplifiant à l’extrême, on peut comparer une machine virtuelle qui utilise une partie des ressources confinées dans un bac à sable sur votre machine au fait d'utiliser les ressources distantes sur un serveur cloud.

La seule différence réside dans le fait de pouvoir gérer les ressources de la machine virtuelle considérée. Pour ce qui est du cloud, c'est par définition impossible ; c'est d'ailleurs le nerf de la guerre en matière de droit applicable à la sécurisation des données dites très sensibles sur des serveurs distants situés à l'étranger.

VirtualBox permet de faire fonctionner un ou plusieurs système(s) 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.

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.

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.

Ces configurations minimales risquent d'être extrêmement lentes voire complètement inutilisables, n'hésitez pas à prévoir le double ou le triple de ressources notamment en terme de mémoire vive.
Système d'exploitation Processeur Mémoire vive Espace disque libre
Ubuntu 1 GHz 2 Gio (1 Gio) 9 Gio
Kubuntu 1 GHz 2 Gio (1 Gio) 5 Gio
Xubuntu 1 GHz 768 Mio (384 Mio) 5 Gio
Lubuntu 1 GHz 512 Mio (256 Mio) 4 Gio
Windows 7 2 GHz 2 Gio (1 Gio) 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, 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 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 forts risques 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.

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

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. Versions disponibles dans les dépots Ubuntu.
  • 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. Versions disponibles dans les dépots Oracle.

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 virtualbox-guest-additions-iso virtualbox-guest-utils virtualbox-ext-pack .

TUTO en vidéo de l'installation : Lien

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.

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 :
    sudo sh -c 'wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor'
  2. 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 [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
  3. Rechargez la liste des paquets disponibles pour installation en exécutant la commande suivante dans un terminal :
    sudo apt update
  4. Pour connaître la dernière version installable :
    apt list ~nvirtualbox-[0-9]

- 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épôts Oracle en remplacement de la version des dépôts 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 :
sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms

Installation du support de l'USB 2 et 3

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

Installation des Additions Invitées

Ces additions sont par exemples indispensables pour avoir un dossier partagé entre le système hôte et le système virtualisé.

Pour activer les Additions invitées, lancez Virtualbox, puis le Système invité. Ensuite dans le menu Périphériques, cliquez sur Insérer l'image CD des Additions invité.

Pour un invité Windows, démarrez le windows. Ouvrez ensuite l'explorateur de fichier, dans le panneau latéral gauche vous verrez Lecteur de CD (D:) VirtualBox Guest Additions. Cliquez dessus. Puis double-cliquez sur VBoxWindowsAdditions, et installez le tout. Redémarrez ensuite le système invité windows.

Lancez l'application comme indiqué ici ou via le terminal (toutes versions ou variantes d'Ubuntu) avec la commande suivante :

VirtualBox

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 + C, affichage d'un système invité en mode fenêtre ;
  • 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.).

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.

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 (une absence de réponse indique que la virtualisation matérielle est impossible. Une réponse positive indique une possibilité de virtualisation matérielle. Dans ce dernier cas, pour que la fonction de virtualisation matérielle soit effectivement disponible, il faut aussi que le paramètre de virtualisation soit actif dans le BIOS (AMD Ryzen → tab MIT / Advanced Frequency Settings / Advanced Core settings / option SVM) :

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

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. Permettre à VirtualBox de lister TOUS les périphériques USB connectés au système hôte :
    echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

    Vérifier la liste des périphériques USB connectés que VirtualBox pourra utiliser avec :

    VBoxManage list usbhost
  3. 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.
  4. 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 et 3

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…

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 :
    sudo 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 install build-essential dkms linux-source linux-headers-`uname -r`
Autoriser VirtualBox à accéder aux ports USB sur une machine hôte sous Linux

Pour que vos machines virtuelles puissent avoir accès aux ports USB sous Linux, il faut ajouter votre compte utilisateur au groupe vboxusers. Sans cela la liste des périphériques reste vide. Utilisez la commande:

sudo usermod -G vboxusers -a $USER

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), GParted est un moyen simple d'obtenir l'information.

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

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

En ligne de commande par le terminal

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

Par le raccourci clavier

Appuyer Ctrl (celui de droite) + c

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.

Note : les machines virtuelles dépendent de l'utilisateur qui les créées. C'est-à-dire que si vous utiliser VirtualBox en graphique avec votre utilisateur "george" logué alors veuillez à utiliser le même utilisateur dans le terminal. Vous ne pourrez pas contrôler les machines de cet utilisateur en ligne de commande si vous êtes logué en root dans le terminal.
Lien de la documentation officielle complète : https://www.virtualbox.org/manual/

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 Ubuntu20.04 :

VBoxManage createvm --name Ubuntu20.04 --register

Vous pouvez lister les machines créées ainsi :

 vboxmanage list vms 

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 14242MB :

VBoxManage createhd --filename Ubunt204.04 --size 14242

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

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

Ou bien :

VBoxManage createvm --name Ubuntu20.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 Ubuntu20.04 tout en définissant notre type de système d'exploitation Ubuntu :

VBoxManage modifyvm Ubuntu20.04 --ostype Ubuntu

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

VBoxManage modifyvm Ubuntu20.04 --memory 1512

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 Ubuntu20.04 --name IDE --add ide --controller PIIX4 --bootable on

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

VBoxManage storageattach Ubuntu20.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 Ubuntu20.04 --vram 128 --accelerate3d on --audio alsa --audiocontroller ac97

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

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

Nous pouvons enfin lancer notre machine virtuelle Ubuntu20.04 :

VBoxManage startvm Ubuntu20.04

Installer une machine virtuelle windows avec l'interface graphique.

Voici l'enchaînement graphique standard proposé:

La grille d'accueil après lancement de l'application. Cliquer sur NOUVELLE et remplir la grille. Cliquer sur SUIVANT. Cliquer sur SUIVANT. Cliquer sur CREER. Cliquer sur SUIVANT. Cliquer sur SUIVANT. Cliquer sur CREER. Cliquer sur LECTEUR OPTIQUE VIDE. Afin d'ouvrir une fenêtre. Cliquer sur CHOOSE A DISK FILE. Puis arcourir classiquement les répertoires pour sélectionner le bon ISO à utiliser. Cliquer sur OUVRIR On voit que le fichier ISO est bien sélectionné dans le port SATA. Cliquer sur DEMARRER. Il ne reste plus qu'à exécuter l'installation.

Les instantanés

L'utilisation d'instantanés (snapshots) 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.

TUTO vidéo sur les instantanés, sauvegarde et restauration de machine virtuelle

Exemple

Cet exemple virtualise Windows XP, qui est un système totalement obsolète, non sécurisé, non maintenu, et qui n'est plus distribué légalement.

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 :

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>"

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é : https://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="${1%/*}" # le chemin vers le dossier
    # fic="${1##*/}" # le fichier
    cd "${1%/*}" || exit 1
    VBoxManage modifyhd "${1##*/}" --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 https://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 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 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.

Monter un disque VHD

installez le paquet libvhdi-utils

vhdiinfo monDisque.vhd

pour afficher les informations sur le disque.

mkdir -p /media/mondisque/
sudo vhdimount monDisque.vhd /media/mondisque/

pour mounter le disque .vhd.

fdisk -lu /media/mondisque/vhdi1

pour afficher les informations sur le disque. (exemple ci-dessous)

Disque vhdi1 : 32 GiB, 34359738368 octets, 67108864 secteurs
Unités : sectors of 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9a49daac

Périphérique Amorçage   Start      Fin Secteurs  Size Id Type
vhdi1p1      *           2048  1026047  1024000  500M  7 HPFS/NTFS/exFAT
vhdi1p2               1026048 67106815 66080768 31,5G  7 HPFS/NTFS/exFAT

Le disque ciblé est le vhdi1p2. Qui démarre au secteur 1026048 avec des secteurs de 512 octets. Ce qui donne la commande suivante (sous root)

losetup -o $((1026048*512)) /dev/loop0 /media/mondisque/vhdi1

Et pour monter la partition

mkdir -p /media/backup
mount -o ro,noload /dev/loop0 /media/backup

Démonter tout après utilisation:

umount /media/backup
losetup -d /dev/loop0
umount /media/mondisque/

Erreur lors du lancement de VirtualBox après une mise à jour

Si vous obtenez un message du type :

VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION

C'est parce que votre machine virtuelle n'a pas été fermée, mais est restée dans un état de sauvegarde. Désinstallez la nouvelle version, revenez à la version précédente, ouvrez votre machine virtuelle, puis refermez-la (option « Arrêter l'ordinateur »). Réinstallez la nouvelle version de VirtualBox et vous pourrez ouvrir à nouveau votre machine virtuelle.

Erreur lors du lancement de VirtualBox

Si vous obtenez un message du type :

mv: ne peut déplacer /home/VotreNom/.virtualBox/ … vers …

Il faut vous redonner les droits sur ce dossier caché avec cette commande :

sudo chown utilisateur:utilisateur -R ~/.VirtualBox

Remplacer utilisateur par votre nom de connexion.

Erreur au lancement d'une VM

Si vous obtenez un message du type :

VBox status code: -1825 (VERR_SSM_LOAD_CONFIG_MISMATCH)

C'est que la machine virtuelle était en veille, et VirtualBox a été réinstallé. Rejetez la machine virtuelle (équivaut à un arrêt brutal de la machine), et relancez-la.

Mode plein écran

Si en passant en mode plein écran, votre machine virtuelle reste affichée entourée d'un large cadre noir :

1/ Si ce n'est déjà fait, installez les "additions client". (Si vous avez installé la version OSE, avec Windows en invité sous Ubuntu, voir ici.)

2/ Si, après avoir installé les additions client, vous n'avez toujours pas la possibilité de modifier la résolution écran dans XP invité (sous XP : dans "Propriétés –> Paramètres… régler la résolution…"), par exemple si le curseur est bloqué sur 800 x 600, et qu'il est impossible de le déplacer et donc d'augmenter ainsi la résolution, vous pouvez faire ceci :

  • Arrêter Virtualbox s'il est déjà démarré.
  • Lancer dans un terminal la commande suivante, en indiquant la résolution maximale souhaitée (celle de votre écran), 1280 x 800 dans notre exemple :
VBoxManage setextradata global GUI/MaxGuestResolution 1280,800
  • Puis lancer successivement les deux commandes suivantes :
sudo /etc/init.d/vboxdrv stop

(vous aurez dans le terminal ce message : "Stopping VirtualBox kernel module vboxdrv") puis :

sudo /etc/init.d/vboxdrv start

(vous aurez dans le terminal le message "Starting VirtualBox kernel module vboxdrv [ OK ]"

  • Redémarrer Virtualbox et l'invité (XP dans notre exemple). On peut alors régler la résolution. Vous n'aurez peut-être pas la possibilité de régler en "1280 x 800", mais en utilisant les touches "Ctrl" de droite (maintenue appuyée) puis "F", l'invité se mettra en plein écran à la bonne résolution.

Il peut être nécessaire aussi d'activer l'ajustement automatique de la taille de l'écran de l'invité (soit par le menu "Machine" de Virtualbox, soit en utilisant les touches Host (Ctrl de droite) + G.)

3/ Dans d'autres cas, vous pouvez utiliser la commande suivante :

VBoxSDL -vm <nom_de_votre_machine_virtuelle_ou_l'UUID> -fullscreen
Cette commande lance directement votre machine virtuelle, et ne vous donne donc pas accès a toutes les options de configuration de Virtualbox. Il faut donc vous assurer de tout paramétrer correctement avant de l'utiliser au quotidien.
Un petit réajustement de l'écran « touche Host+A », suivi de « touche Host+F » peut aussi suffire pour y arriver.

Erreur en écriture de l'Invité

Pour un SE Invité de type Windows XP, si vous avez une image disque .vdi définie en dynamique, il se peut que votre SE Invité vous renvoie une erreur en écriture (sur par exemple le fichier temporaire lors d'une installation de logiciel). Pour résoudre ce problème, il faut créer une image disque fixe (source). Pas de solution, actuellement, pour conserver son image disque dynamique.

Une autre possibilité consiste à utiliser la FAT32 pour formater ce disque virtuelle, car effectivement le type NTFS supporte mal un disque à image dynamique.

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.

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

Voir également comment autoriser Virtualbox à accéder à vos ports USB en ajoutant votre compte utilisateur au groupe vboxusers

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.

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.

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 : https://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).

Plantage au lancement d'une machine virtuelle

Il s'agit peut-être d'une incompatibilité entre le patch du Kernel pour corriger Meltdown et la version des dépôts Ubuntu de Virtualbox. Désinstallez Virtualbox puis réinstallez-le via les dépôts d'Oracle.

Installation avec un noyau 5.10 ou supérieur

En l'état actuel (décembre 2020) aucun paquet disponible dans les dépôts ne s'installera correctement avec un noyau 5.10 ou supérieur.

Toutefois la version 6.1.97-141967 de la branche testing fonctionne (et sans doutes les versions postérieures que vous trouverez).

Voici la procédure d'installation.

1. Télécharger la dernière version dans le paragraphe Development snapshots puis Linux 64-bits (par exemple VirtualBox-6.1.97-141967-Linux_amd64.run) de cette page : https://www.virtualbox.org/wiki/Testbuilds

2. Le rendre exécutable et l'installer avec

chmod +x /VirtualBox-6.1.97-141967-Linux_amd64.run
sudo ./VirtualBox-6.1.97-141967-Linux_amd64.run

3. L'USB sera utilisable en installant le pack d'extension correspondant Oracle_VM_VirtualBox_Extension_Pack-6.1.97-141967.vbox-extpack (et en redémarrant la machine) qui peut être téléchargé aussi sur cette page : https://www.virtualbox.org/wiki/Testbuilds

4. La désinstallation se fait par :

sudo /opt/VirtualBox/uninstall.sh
sudo rm -rf /opt/VirtualBox/

Pour supprimer VirtualBox supprimez le paquet 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.

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


Contributeurs principaux: Percherie, luigifab, BeAvEr. Autres contributeurs : eagle08 : ajout du système d'exploitation ReactOS


1)
dans notre cas on utilisera le NAT
2)
dans notre cas 82540EM
3)
dans notre cas on active l'option
  • virtualbox.txt
  • Dernière modification: Le 28/11/2024, 05:51
  • par McPeter