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.
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 | 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.
Installation
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 :
- 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'
- 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
- Rechargez la liste des paquets disponibles pour installation en exécutant la commande suivante dans un terminal :
sudo apt update
- 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
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 :
- 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
- 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.
Utilisation
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.).
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é :
- Démarrer l'installation de Windows, dans la partie 3 du tutoriel ;
- Méthode pas à pas pour installer Windows Xp ;
Pour installer d'autres versions d'Ubuntu comme système invité :
- Sur vidéo noob ; (lien mort)
- Sur comment ça marche. (lien mort)
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
Lors de la première utilisation, pour utiliser les périphériques USB dans le système invité, il faut :
- Permettre l'utilisation des ports USB pour VirtualBox en indiquant les comptes qui appartiendront au groupe
vboxusers
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
- 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
- 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.
- Redémarrez votre session pour prendre en compte les modifications.
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 :
- VirtualBox 5.2.10 (Ubuntu 18.04) : https://download.virtualbox.org/virtualbox/5.2.10/Oracle_VM_VirtualBox_Extension_Pack-5.2.10-122406.vbox-extpack
- Dernière version de Virtualbox, notamment pour Ubuntu 20.04.
- Autre version: https://download.virtualbox.org/virtualbox
Après le téléchargement du pack d'extension correspondant à votre version de VirtualBox, l'ajout doit se faire depuis le logiciel :
- Ouvrez le menu Fichier → Paramètres… (raccourcis clavier Ctrl + G) ;
- Allez à la rubrique Extensions ;
- Cliquez sur l'icône Ajouter Extension située sur la droite de la fenêtre ;
- Sélectionnez l'extension précédemment téléchargée (probablement située dans votre dossier téléchargement) ;
- Validez son installation ;
- Validez la Licence VirtualBox en défilant en jusqu'en bas de ladite licence ;
- Entrez votre mot de passe d'utilisateur si vous êtes administrateur.
Après l'installation du pack d'extension, l'activation de l'USB 2 doit se faire sur toutes les machines virtuelles, via leurs paramètres respectifs à la rubrique USB.
Installation en lignes de commandes
- Téléchargement du pack d'extension USB en récupérant la version de VirtualBox :
version=$(VBoxManage --version|cut -dr -f1|cut -d'_' -f1) && wget -c http://download.virtualbox.org/virtualbox/$version/Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack
- Installation du pack téléchargé en fonction de la version de VirtualBox :
sudo VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack
- Si vous le souhaitez, suppression des fichiers téléchargés :
rm *.vbox-extpack
Si l'étape n°1 ne fonctionne pas, il est probable qu'un paquet essentiel soit manquant. Vous pouvez l'installer en utilisant la commande
sudo apt 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
- Une clé USB Bootable ;
- Avoir amélioré l'émulation ;
- 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é
- Ajoutez au groupe « disk » les utilisateurs souhaités:
sudo usermod -G disk -a $USER
Puis redémarrez votre session pour prendre en compte le changement.
- Ouvrez un terminal et 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
- 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
- Dans VirtualBox, aller dans la configuration de votre machine virtuelle rubrique Stockage ;
- Ajoutez un disque dur primaire ;
- Choisissez un disque existant en sélectionnant le fichier usb.vmdk précédemment crée ;
- Au démarrage de la machine virtuelle, démarrez depuis le disque que vous venez d'ajouter.
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
Optimisations
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 :
- La page VirtualBox et le partage Réseau si vous souhaitez accéder ou partager des dossiers sur votre réseau ;
- La page VirtualBox et le réseau si vous souhaitez accéder à internet depuis votre machine virtuelle ;
: les pages de la doc citée précédemment sont à restructurer, même chose pour la description des modes d'accès réseau.
Résolution d'écran avec un live-CD
Lorsque l'on utilise un Live CD Ubuntu sous VirtualBox, la résolution d'écran est limitée à 800x600.
Pour obtenir une meilleure résolution :
- Éditer le fichier /etc/X11/xorg.conf avec les droits d'administration ;
- Ajoutez les trois lignes suivantes :
Section "Monitor" HorizSync 31-67 EndSection
- Enregistrez les changements ;
- Redémarrez la session du live CD.
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
Utilisation avancée
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 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
Vous venez d'installer un nouveau système, de le configurer, de l'optimiser et de compresser votre fichier .vdi. Avant d'installer les premiers logiciels ou mises à jour il est intéressant de sauvegarder cet état avant d'aller plus loin. Cela permet de restaurer un système sain en quelques secondes.
La proposition suivante, concerne l'installation de Windows XP qui occupe moins de place et demande moins de ressources que les versions suivantes de Windows. Le système fonctionnera déconnecté d'Internet rendant inutile l'utilisation de mise à jour de sécurité, d'antivirus et de firewall.
- Créez une machine virtuelle pour accueillir Windows XP ;
- Configurez votre machine pour « débrancher » la carte réseau virtuelle ;
- Installez Windows XP ;
- On va conserver le système déconnecté d'internet: désactivez les mises à jours et le firewall ;
- On utilise les instantanés de VirtualBox: désactivez les restaurations système ;
- Configurez et optimisez selon vos besoins le système pour l'alléger au maximum l'utilisation du disque et des ressources système ;
- Éteignez votre OS Guest ;
- Compresser votre image disque (voir plus bas) ;
- Redémarrez votre OS Guest ;
- Dans le menu machine, choisissez « fermer… » et choisissez l'option « enregistrez l'état de la machine » ;
- Dans l'interface VirtualBox, allez dans l'onglet « Instantané » et saisissez un instantané portant le nom config propre (par exemple).
Vous venez de finir l'installation et l'optimisation d'un système complet ainsi que sa protection contre les modifications. En cas de détérioration vous pouvez restaurer votre configuration en quelques 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é.
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é
- Ouvrez les préférences du système invité ;
- Allez dans la rubrique Affichage → Affichage distant ;
- Spécifiez un numéro de port pour la machine (un numéro de port différent par machine virtuelle).
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
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/
Problèmes connus
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
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é, …).
- Rejetez la machine (équivaut à un arrêt brutal de la machine) ;
- Aller dans les préférences ;
- 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.
- Supprimez le module KVM :
sudo apt remove kvm
- Redémarrez
- Après le redémarrage, tapez :
sudo rmmod kvm_intel sudo rmmod kvm
Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de bogue sur Launchpad : https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588
NS_ERROR_FAILURE (0x80004005)
Il existe principalement deux causes provoquant cette erreur :
- Le paquet virtualbox-dkms n'est pas installé, veuillez installer le paquet. Si cela ne suffit pas, désinstaller complètement VirtualBox et ses dépendances afin d'effectuer une installation complète
sudo apt autoremove --purge virtualbox*
- Le support de l'USB n'est pas activé ou désactivé suite à une mise à jour, veuillez suivre ce qui est indiqué à la rubrique périphérique USB
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.
- Supprimez le module KVM:
sudo apt remove kvm
- Redémarrez
- Après le redémarrage, tapez:
sudo rmmod kvm_intel sudo rmmod kvm
Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de 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 :
- Fermer VirtualBox ou tuer le processus si besoin ;
- 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 :
- Sélectionnez votre machine virtuelle dans VirtualBox ;
- Cliquez sur le bouton « Préférences » ;
- Allez dans la rubrique « Supports » ;
- Sélectionnez dans « Attributs » le type « PIIX3 » à la place de « PIIX4 » et inversement selon votre configuration.
É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 :
- Sélectionnez votre machine virtuelle dans VirtualBox ;
- Cliquez sur le bouton « Préférences » ;
- Allez dans la rubrique « Système », puis dans l'onglet « Carte mère » ;
- Sélectionnez dans « Paramètres étendus » l'option « Activer l'IO APIC ».
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
- Installer le gestionnaire des effets de bureau Compiz;
Une fois le gestionnaire ouvert : - Allez dans la catégorie "Gestion des fenêtres";
- Cochez et ouvrez la fonctionnalité "Règles de Fenêtre" ("Window rules" en anglais);
- 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
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/
Désinstallation
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.
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
- Documentation PDF (fr) ;
- Manuel VirtualBox Lien de la documentation officielle complète
- VirtualBoxes, ressources en machines virtuelles gratuites préinstallées (anglais) ;
- VirtualBoxImages.com, ressources en machines virtuelles gratuites préinstallées (anglais) ;
- phpVirtualBox permettant d'utiliser VirtualBox depuis un navigateur Internet.
- RemoteBox similaire à phpVirtualBox mais ne nécessite pas de serveur web pour fonctionner.
Quelques tutoriels
Changer l'adresse MAC : VBoxManage modifyvm vm_name –macaddress1 001122334455
Pages sur le sujet
Contributeurs principaux: Percherie, luigifab, BeAvEr. Autres contributeurs : eagle08 : ajout du système d'exploitation ReactOS