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 :
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.
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.
Deux méthodes sont proposées pour installer VirtualBox :
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
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 :
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'
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
sudo apt update
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
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 :
uname -r
Par exemple, si la commande renvoie 3.11-2-amd64, cela veut dire que le noyau est 311
sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms
Pour le support de l'USB 2, consultez le paragraphe traitant des peripheriques usb.
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
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!).
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.;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.
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é :
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).
Lors de la première utilisation, pour utiliser les périphériques USB dans le système invité, il faut :
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
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
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.
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 :
Après le téléchargement du pack d'extension correspondant à votre version de VirtualBox, l'ajout doit se faire depuis le logiciel :
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.
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
sudo VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-$version.vbox-extpack
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`
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
sudo usermod -G disk -a $USER
Puis redémarrez votre session pour prendre en compte le changement.
sudo VBoxManage internalcommands createrawvmdk -filename ~/Téléchargements/usb.vmdk -rawdisk /dev/sdx
sudo chown $USER ~/Téléchargements/usb.vmdk
Le programme a créé un fichier nommé « usb.vmdk » dans votre dossier Téléchargements.
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
Pour installer un OS invité depuis un CD, il faut indiquer à Virtualbox où se trouve le lecteur de CD.
VirtualBox offre plusieurs manières de gérer l'accès au réseau du système invité :
Ces options sont disponibles dans les paramètres du système invité.
Afin d'alléger cette page, veuillez consulter :
: 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.
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 :
Section "Monitor" HorizSync 31-67 EndSection
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
Appuyer Ctrl (celui de droite) + c
Vous pouvez aussi consulter la page VirtualBox en environnement serveur.
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
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
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.
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
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.
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.
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>"
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é :
sdelete -z C:
(l’option -z indiquant de mettre à zéro les blocs libres).
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 !
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é.
#!/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
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 !
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
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.
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 :
diskpart list volume select volume [N] extend exit
[N] est le numéro de volume de nouveau.vdi)
Si il est impossible de booter sur le nouveau disque d'une machine en supprimant l'ancien. Le mieux est alors :
> 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).
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
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
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.
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.
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
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/.
#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
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/
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.
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.
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.
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 :
VBoxManage setextradata global GUI/MaxGuestResolution 1280,800
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 ]"
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
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.
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.
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.
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.
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.
Le matériel de votre ordinateur a changé (ex: lecteur DVD retiré, …).
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.
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.
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.
sudo apt remove kvm
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
Il existe principalement deux causes provoquant cette erreur :
sudo apt autoremove --purge virtualbox*
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.
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.
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.
sudo apt remove kvm
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
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
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
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 :
sudo /etc/init.d/vboxdrv setup
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 ».
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 :
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 :
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.
Ce problème apparaît à cause de Compiz. Pour résoudre ce problème, deux solutions sont possibles :
title=Sun VirtualBox
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.
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.
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.
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.
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
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).
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.
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.
Changer l'adresse MAC : VBoxManage modifyvm vm_name –macaddress1 001122334455
Contributeurs principaux: Percherie, luigifab, BeAvEr. Autres contributeurs : eagle08 : ajout du système d'exploitation ReactOS