V02 - VirtualBox
Objectif
Installer VirtualBox sur Pop!_OS ou Arch, créer une VM, choisir le bon mode réseau, utiliser les instantanés, et piloter le tout en ligne de commande (
VBoxManage).
Version
VirtualBox 7.2.x en 2026 (vérifier sur virtualbox.org). Gratuit (GPLv3) ; l’Extension Pack (USB 3, chiffrement, RDP) est gratuit pour un usage personnel/éducatif et doit avoir exactement la même version.
1. Installation
Script fourni : scripts/virtualisation/install_virtualbox.sh (détecte Pop!_OS/Ubuntu ou Arch).
Pop!_OS / Ubuntu 24.04 (dépôt Oracle)
wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian noble contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install virtualbox-7.2
sudo usermod -aG vboxusers "$USER" # puis déconnexion / reconnexionArch
sudo pacman -S virtualbox virtualbox-host-dkms linux-headers # adapter les headers à ton noyau (linux-lts-headers, linux-zen-headers…)
sudo modprobe vboxdrv
sudo usermod -aG vboxusers "$USER"
virtualbox-host-dkmscompile le module pour n'importe quel noyau ; il remplace l'ancienvirtualbox-host-modules-arch.
Problèmes classiques à l’installation
| Message | Solution |
|---|---|
Kernel driver not installed (rc=-1908) | Module non chargé : sudo modprobe vboxdrv ; headers du noyau installés ? Secure Boot actif (mokutil --sb-state) → signer les modules ou désactiver Secure Boot |
VT-x is being used by another hypervisor | KVM est chargé : sudo modprobe -r kvm_intel (ou kvm_amd). Ne pas faire tourner VirtualBox et virt-manager en même temps |
VT-x/AMD-V is disabled in the BIOS | Activer la virtualisation dans l’UEFI de ton PC |
| Pas d’USB dans la VM | Groupe vboxusers + Extension Pack |
2. Créer une VM (Debian serveur, exemple)
- Télécharger l’ISO Debian 13 « netinst » (debian.org).
- Nouvelle → nom
Debian-Lab, ISO, cocher Skip Unattended Installation (pour apprendre l’installateur). - 2048 Mo, 2 CPU, disque 20 Go dynamique (VDI).
- Réseau : Carte 1 = NAT ; Carte 2 = Réseau privé hôte (pour le SSH depuis ton PC).
- Installation Debian : décocher l’environnement de bureau, cocher serveur SSH + utilitaires usuels.
| Réglage | Recommandation |
|---|---|
| Firmware | EFI pour Windows 11 / systèmes récents |
| Contrôleur graphique | VMSVGA (Linux), VBoxSVGA (Windows) |
| Disque | Dynamique (ne prend que la place utilisée) |
| Additions invité | À installer dans la VM (presse-papiers partagé, résolution, dossiers partagés) |
Additions invité dans une VM Debian : sudo apt install build-essential linux-headers-$(uname -r), puis Périphériques → Insérer l’image CD des Additions et sudo sh /media/cdrom/VBoxLinuxAdditions.run.
3. Modes réseau dans VirtualBox
Théorie et tableau comparatif : V01 - Concepts de la virtualisation.
| Mode | Réglage dans VirtualBox | Remarque |
|---|---|---|
| NAT | NAT | IP de la VM : 10.0.2.15, passerelle 10.0.2.2 |
| Réseau NAT | Réseau NAT (à créer dans Fichier → Outils → Gestionnaire de réseau) | Les VM du même réseau NAT se voient |
| Pont | Accès par pont + carte physique | Souvent bloqué sur les réseaux d’école/résidence |
| Interne | Réseau interne + nom (ex. labo) | Totalement isolé - parfait pour pfSense LAN, AD |
| Privé hôte | Réseau privé hôte (vboxnet0, 192.168.56.0/24, DHCP intégré) | Ton PC = 192.168.56.1 |
Redirection de port en NAT (SSH vers une VM en NAT)
Configuration → Réseau → Carte 1 (NAT) → Avancé → Redirection de ports : Hôte 2222 → Invité 22. Puis : ssh -p 2222 etudiant@127.0.0.1.
4. Instantanés et clones
- Instantané (snapshot) : Machine → Outils → Instantanés → Prendre. Avant chaque TP risqué !
- Clone lié : partage le disque de base (rapide, léger) ; clone intégral : copie indépendante. Coche Générer de nouvelles adresses MAC.
- Exporter : Fichier → Exporter un appareil virtuel →
.ova(pour rendre une VM à un prof, la déplacer).
5. En ligne de commande (VBoxManage)
VBoxManage list vms # toutes les VM
VBoxManage list runningvms
VBoxManage startvm "Debian-Lab" --type headless # démarrer sans fenêtre
VBoxManage controlvm "Debian-Lab" acpipowerbutton # extinction propre
VBoxManage controlvm "Debian-Lab" poweroff # extinction forcée
VBoxManage snapshot "Debian-Lab" take "avant-tp-glpi"
VBoxManage snapshot "Debian-Lab" restore "avant-tp-glpi"
VBoxManage modifyvm "Debian-Lab" --memory 4096 --cpus 2
VBoxManage modifyvm "Debian-Lab" --nic2 intnet --intnet2 "labo"
VBoxManage modifyvm "Debian-Lab" --natpf1 "ssh,tcp,,2222,,22"
VBoxManage clonevm "Debian-Lab" --name "Debian-Web" --register
VBoxManage export "Debian-Lab" -o debian-lab.ova