VirtualBox : installation en mode console

VirtualBox est un logiciel gratuit permettant de virtualiser presque n’importe quel système d’exploitation.

L’avantage est qu’il existe une version pour Linux, Mac, Windows, etc…

Chaque fois que je veux installer un VirtualBox, c’est sur un Linux sous Fedora ou RedHat pour lequel je n’ai aucun accès au bureau, je dois donc tout faire par des lignes de commande.

Et chaque fois, j’en oublie la syntaxe alors je refais des recherches sur Google.

Cet article est presque en fait plus un aide mémoire pour moi qu’autre chose, il pourra aussi servir à d’autres.

  • Installation des éléments nécessaires :

sudo su
dnf update -y 
dnf install kernel-devel kernel-headers
  • Installation de VirtualBox  sur Fedora 28

Il existe plusieurs manières de le faire, mais par expérience, mieux vaut utiliser les dépôts officiels, l’installation, la désinstallation et la mise à jour en est grandement facilité.

Pour Fedora, on peut aller directement au lien de téléchargement des adresses des dépôts :

sudo su
cd /etc/yum.repos.d/
wget https://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
cd ~
wget -q https://www.virtualbox.org/download/oracle_vbox.asc
rpm --import oracle_vbox.asc
dnf install VirtualBox-6.0
/sbin/vboxconfig

En cas de problème avec le kernel (celui qui serait installé <> de celui qui est chargé) :

sudo su
nano  /etc/default/grub
mettre GRUB_DISABLE_SUBMENU=false
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
/sbin/vboxconfig
  • Installation du pack d’extensions :

Ca c’est un must have pour bénéficier de toutes les fonctionnalités avancées

https://download.virtualbox.org/virtualbox/6.0.4/Oracle_VM_VirtualBox_Extension_Pack-6.0.4.vbox-extpack
VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-6.0.4.vbox-extpack
  • Préparation du user qui possèdera la VM :

usermod -G vboxusers youruser

  • Création de la machine virtuelle (la coquille vide) :

Attention : la machine appartiendra au user connecté lors des commandes de création. Ne pas créé une machine Vituelle sous root, ça peut fonctionner, mais ce n’est pas sûr et une mise à jour de VirtualBox pourrait la rendre inopérante.

Je créé une machine virtuelle pour héberger un Wndows 10 – 64bits , son nom sera simplement W10 et j’ai déjà déposer l’iso du DVD d’installation  par ftp :

VM='W10'
OSTYPE='Windows10_64'
VBoxManage createvm --name $VM --ostype $OSTYPE --register

La coquille vide est créé, ces fichiers de paramétrages sont dans ~/VirtualBox\ VMs/$VM

  • Création d’un disque dur de 32Go

VM='W10'
vmdir=~/VirtualBox\ VMs/$VM
cd "$vmdir"
VBoxManage createhd --filename $VM.vdi --size 32768

  • Création des contrôleurs de disque (un SATA pour le disque dur, un IDE pour le DVDROM)

VBoxManage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI
VBoxManage storagectl $VM --name "IDE Controller" --add ide

  • Connexion du disque dur à son contrôleur, du lecteur de DVD à son contrôleur

windvd=~/win10.iso
VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium $VM.vdi
VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium $windvd

  • Paramétrage : ioapic, ordre de boot : DVD en premier, mémoire (4Go de RAM, 128Mo de VRAM)

VBoxManage modifyvm $VM --ioapic on
VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none
VBoxManage modifyvm $VM --memory 4096 --vram 128
  • Création de la 1ère carte réseau : nic1 pour donner à la VM l’accès à internet (via NAT)

VBoxManage modifyvm $VM --nic1 nat
  • Création du réseau virtuel pour que la VM soit accessible par le serveur via le réseau

VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 –ip 192.168.56.1
VBoxManage modifyvm $VM --hostonlyadapter2 vboxnet0
VBoxManage modifyvm $VM --nic2 hostonly
VBoxManage modifyvm $VM --nicpromisc1 allow-all
VBoxManage modifyvm $VM --nicpromisc2 allow-all
  • Paramétrage du bureau à distance pour accéder à la VM par ce biais

VBoxManage modifyvm $VM --vrde off
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload
VBoxManage modifyvm $VM --vrdeport 3389
VBoxManage modifyvm $VM --vrdeaddress 0.0.0.0
VBoxManage modifyvm $VM --vrde on

  • 1er démarrage (la VM démarre sur le DVD d’installation de l’OS, prendre la main dessus avec le bureau à distance pour faire cette installation) 

VBoxManage startvm $VM --type headless

La souris peut-être dédoublée, cela s’arrangera une fois les additions installées

  • Préparation de l’installation des add-ons invités : arrêt de la VM, changement de l’ordre du boot et chargement du fichier iso des add-ons dans le lecteur DVD

VBoxManage controlvm $VM poweroff
VBoxManage modifyvm $VM --boot1 disk --boot2 dvd --boot3 none --boot4 none
locate VBoxGuestAdditions.iso ==> fournit le dossier complet du fichier
windvd=/usr/share/virtualbox/VBoxGuestAdditions.iso
VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium $windvd
VBoxManage startvm $VM --type headless

Et installer les Addons puis ré-éteindre la VM

  • Mettre la VM en démarrage automatique au boot du serveur

su root
touch /etc/default/virtualbox
echo "VBOXAUTOSTART_DB=/etc/vbox" >> /etc/default/virtualbox
echo "VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg" >> /etc/default/virtualbox
exit
touch /etc/vbox/vboxautostart.cfg
echo "default_policy = deny" > /etc/vbox/vboxautostart.cfg
chgrp vboxusers /etc/vbox
chmod 1775 /etc/vbox
VBoxManage setproperty autostartdbpath /etc/vbox
VBoxManage modifyvm $VM --autostart-enabled on
sudo systemctl enable vboxautostart-service
sudo systemctl start vboxautostart-service

  • Redémarrer le serveur, la VM doit démarrer automatiquement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.