VirtualBox : Différence entre versions

De ArchwikiFR
m (Correction de coquille (disque main au lieu de disque plein))
m (Installation pour Arch Linux en tant que hôte)
Ligne 20 : Ligne 20 :
 
Le paquet {{pkg|virtualbox-host-modules}} correspond aux «Additions» pour la machine hôte ; il est installé par défaut avec le paquet {{pkg|virtualbox}}.
 
Le paquet {{pkg|virtualbox-host-modules}} correspond aux «Additions» pour la machine hôte ; il est installé par défaut avec le paquet {{pkg|virtualbox}}.
  
Le paquet {{pkg|virtualbox-host-modules-lts}} est à installer si vous utilisez le noyau '''LTS'''.
+
Le paquet {{pkg|virtualbox-host-modules-lts}} est à installer si vous utilisez le noyau '''LTS'''. (Note : ne semble plus disponible)
  
 
De même avec un noyau '''CK''', installez {{AUR|virtualbox-ck-host-modules}} (AUR).
 
De même avec un noyau '''CK''', installez {{AUR|virtualbox-ck-host-modules}} (AUR).

Version du 23 avril 2016 à 12:57

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 supporte 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 cœur

Le paquet virtualbox proposé dans [community] correspond au produit classique sous licence GPL.

Le paquet virtualbox-ext-oracle sur AUR correspond au pack d'extensions sous licence VirtualBox PUEL. Il comprend notamment le support 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

Pour utiliser l'interface graphique et si vous ne l'avez pas déjà :

pacman -S qt4

Installation des modules pour l'hôte avec un noyau officiel

Le paquet virtualbox-host-modules correspond aux «Additions» pour la machine hôte ; il est installé par défaut avec le paquet virtualbox.

Le paquet virtualbox-host-modules-lts est à installer si vous utilisez le noyau LTS. (Note : ne semble plus disponible)

De même avec un noyau CK, installez virtualbox-ck-host-modules (AUR).

Installation des modules pour l'hôte avec un noyau personnalisé

Normalement, si vous utilisez un noyau personnalisé qui est à la même version qu'un noyau officiel, alors il est fort probable que les modules du noyau officiels fonctionnent avec le noyau personnalisé.

Sinon, il faut installer le paquet virtualbox-host-dkms, ainsi que les en-têtes qui correspondent à votre noyau (linux-*-headers), puis faites :

dkms install vboxhost/VERSION_DE_VIRTUALBOX_HÔTE -k NOYAU_PERSONNALISÉ/ARCHITECTURE
Astuce : Ou plus simplement si vous avez démarré sur le noyau en question :
dkms install vboxhost/$(pacman -Q virtualbox|awk '{print $2}'|sed 's/\-.\+//') -k $(uname -rm|sed 's/\ /\//')

Pour automatiser cette méthode lors de la mise à jour du paquet virtualbox-host-dkms, vous pouvez activer le service dkms avec :

systemctl enable dkms.service

Une autre méthode consiste à installer le paquet vboxhost-hook puis d'ajouter au fichier /etc/mkinitcpio.conf le HOOK vboxhost, ce qui aura pour conséquence de recompiler automatiquement les modules lors de la commande mkinitcpio -p NOYAU_PERSONNALISÉ.

Module de base pour l'hôte

Vous pouvez charger manuellement le module vboxdrv :

modprobe vboxdrv

Ou bien pour le charger automatiquement au démarrage, rajoutez le module dans un fichier de /etc/modules-load.d/:

Fichier: /etc/modules-load.d/virtualbox.conf
vboxdrv

Modules pour le réseau

Plusieurs modes sont disponibles :

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

Note : Certains systèmes d'exploitation, comme quelques distributions GNU/Linux, fournissent un paquet à installer dans l'invité qui contient déjà les modules invités. Cette étape devient alors inutile.

Invité : Arch Linux

Arch Linux propose son propre paquet qui contient les modules pour un système invité. Il suffit d'installer (dans la machine virtuelle) le paquet suivant :

pacman -S virtualbox-guest-utils

Ou bien si vous utilisez le noyau LTS, installez virtualbox-guest-modules-lts, ou encore alors le noyau CK, virtualbox-ck-guest-modules (AUR). Il existe aussi un paquet virtualbox-guest-utils-nox pour installer les modules sans le support pour X.

Vous pouvez charger les modules manuellement :

modprobe -a vboxguest vboxsf vboxvideo

Pour charger les modules automatiquement au démarrage, ajoutez un fichier de suffixe .conf dans le répertoire /etc/modules-load.d/, tel :

Fichier: /etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo
Important : Uniquement si vous utilisez un kernel personnalisé dans l'invité, installez vboxguest-hook dans l'invité.

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.

Note : Pour activer le support Direct3D, cochez la case "Support Direct3D pour invités", puis dans la fenêtre de dialogue qui surgit, cliquez sur Non.

Astuce : 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 
Astuce : Pour avoir le chemin d'un disque, vous pouvez ouvrir VirtualBox, allez dans Fichier puis dans Gestionnaire de médias (ou bien 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.

Ressources

Oracle VM VirtualBox® Manuel utilisateur (en)