VirtualBox (Français)
VirtualBox (ou VBox) est un produit pour la virtualisation d'un environnement 32 (x86) ou 64 bits (AMD64/Intel64) et il est aussi valable pour le milieu de l'entreprise que pour les particuliers. Il prends en charge un nombre important de systèmes d'exploitation, propose une interface graphique (Qt / SDL) de même qu'une interface en ligne de commande.
Cette généricité implique cependant des performances plus basses par-rapport à qemu-kvm.
Installation pour Arch Linux en tant que hôte
Installation du logiciel
Le paquet virtualbox proposé dans [community] correspond au produit classique sous licence GPL.
Le paquet virtualbox-ext-oracleAUR sur AUR correspond au pack d'extensions sous licence VirtualBox PUEL. Il comprend notamment la prise en charge des périphériques USB 2.0, l'accès par RDP et le boot par PXE pour les cartes Intel.
Installation :
pacman -S virtualbox
Installation et chargement des modules pour l'hôte
On distingue deux types de paquets : ceux qui contiennent les modules déjà compilés, et ceux qui les compilent automatiquement avec DKMS.
- Pour le noyau linux: il faut installer virtualbox-host-modules-arch
- Pour le noyau linux-ckAUR (et dérivés) : il faut installer virtualbox-ck-host-modulesAUR[broken link: package not found]
- Pour les autres noyaux (comme le noyau LTS) : il faut installer virtualbox-host-dkms et penser à installer le paquet de headers correspondant (par exemple, linux-lts-headers pour le noyau LTS)
Quatre modules existent :
- vboxdrv : le module de base
- vboxnetadp : voir Réseau privé de l'hôte
- vboxnetflt : voir Accès par pont
- vboxpci : est nécessaire quand la machine virtuelle doit utiliser un périphérique PCI physique
Vous pouvez charger manuellement le module vboxdrv
:
modprobe vboxdrv
Pour recharger automatiquement tous les modules (par exemple, en cas de mise à jour), vous pouvez utiliser la commande vboxreload
.
/etc/modules-load.d/
: il y a déjà un fichier similaire présent dans /usr/lib/modules-load.d/
, ce dernier étant utilisé par systemd-modules-load.service
.
Modules pour le réseau
Plusieurs modes réseau sont disponibles :
- NAT : les machines virtuelles peuvent communiquer avec d'autres machines virtuelles et avec le monde extérieur ; elle ne sont pas visibles sur le réseau
- Accès par pont : les machines virtuelles peuvent communiquer avec d'autres machines virtuelles et avec le monde extérieur ; elle sont visibles sur le réseau
- Réseau interne (en) : les machines virtuelles sont reliées entre elles, mais elles ne peuvent pas communiquer avec l'hôte et le réseau extérieur
- Réseau privé de l'hôte : les machines virtuelles peuvent communiquer entre elles ainsi qu'avec l'hôte, mais elles ne peuvent pas communiquer le réseau extérieur
NAT
Depuis la fenêtre des paramètres de la VM :
- Cliquer sur Réseau
- Sélectionner nat dans la liste déroulante Mode d'accès réseau
VirtualBox mettra à disposition un serveur DHCP, ce qui permet de configurer le système invité en DHCP.
Accès par pont
Ce mode nécessite un module supplémentaire :
modprobe vboxnetflt
Depuis la fenêtre des paramètres de la VM :
- Cliquer sur Réseau
- Sélectionner Accès par pont dans la liste déroulante Mode d'accès réseau
- Sélectionner l'inteface connectée au réseau que vous voulez joindre dans la liste déroulante Nom
La configuration du réseau de la machine virtuelle devra se faire de la même façon que si c'était un vrai système.
Réseau privé de l'hôte
Ce mode nécessite un module suplémentaire :
modprobe vboxnetadp
Depuis la fenêtre des paramètres de virtualbox :
- Cliquer sur fichier
- Aller dans le menu Réseau
- Ajouter un réseau privé vboxnet0 en cliquant sur plus
Il est possible de modifier les paramètres de la carte et du DHCP en cliquant sur le tournevis.
Par défaut : interface vboxnet0 (machine physique):
192.168.56.1/24
DHCP:
adresse du serveur : 192.168.56.100 masque du serveur : 255.255.255.0 adresse min : 192.168.56.102 adresse max : 192.168.56.254
Ajout des utilisateurs au groupe vboxusers
Il faut rajouter l'utilisateur au groupe vboxusers
:
gpasswd -a utilisateur vboxusers
Lancement de VirtualBox
Pour démarrer VirtualBox, cliquez sur l'icône de l'application ou bien tapez la commande suivante pour démarrer l'interface graphique :
VirtualBox
- Il suffit de cliquer dans la fenêtre du système invité pour capturer le clavier/souris
- Utilisez la touche Host (
Ctrl
droit par défaut) pour libérer le clavier/souris
Il est aussi possible de manipuler VirtualBox uniquement en ligne de commande avec :
VBoxManage
Installation pour un système invité
Le paquet virtualbox-guest-iso fournit les «Additions» invité sous forme d'un fichier ISO : /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso
; il suffit de monter cette ISO dans un lecteur CD de votre machine virtuelle pour l'utiliser.
Invité : Arch Linux
Pour installer les Guest Additions (en) dans un système invité Arch Linux, il n'y a pas besoin d'utiliser l'ISO : des paquets sont fournis.
- virtualbox-guest-utils : utilitaires pour VirtualBox avec la prise en charge de X
- virtualbox-guest-utils-nox : utilitaires pour VirtualBox sans la prise en charge de X
Vous pouvez activer et démarrer le service vboxservice
:
systemctl enable vboxservice systemctl start vboxservice
Vous pouvez charger les modules manuellement :
modprobe -a vboxguest vboxsf vboxvideo
/etc/modules-load.d/
: il y a déjà un fichier similaire présent dans /usr/lib/modules-load.d/
, ce dernier étant utilisé par systemd-modules-load.service
.
Invité : Windows
Une fois le système installé (si vous n'avez pas monté l'ISO VBoxGestAdditions.iso
comme expliqué plus haut), sélectionnez : Périphérique → Installer les additions invité (ou Host + D).
Exécutez le fichier nommé VBoxWindowsAdditions.exe
pour commencer l'installation.
Astuces
Compacter un disque dynamique
Dans VirtualBox, les disques à taille dynamique ont l'avantage d'occuper uniquement la place nécessaire sur votre disque physique, contrairement aux disques à taille fixe qui occupent tout l'espace alloué (même s'ils sont vides). Bien que la taille d'un disque dynamique augmente automatiquement en fonction des besoins, elle ne décroît jamais même si du nettoyage est effectué dans la machine virtuelle.
Pour y remédier, il faut écraser tout l'espace libre de la machine virtuelle avec rien (plus précisément des 0). On peut y parvenir avec la commande suivante à lancer depuis la machine virtuelle (à exécuter en tant que root) :
dd if=/dev/zero of=/grosfichier.img bs=512
Une fois le disque plein, la commande vous rend la main, et vous pouvez supprimer le fichier.
rm /grosfichier.img
Une fois le fichier supprimé, il faut éteindre la machine virtuelle, et on peut commencer à compacter le disque depuis le système hôte. Il suffit de faire la commande :
VBoxManage modifyhd "<chemin_absolu_vers_disque.vdi>" --compact
Ctrl
+ D
), sélectionnez le disque concerné, puis cliquez sur la ligne à droite de Emplacement et vous pouvez copier le chemin absolu vers le disque.