VirtualBox és un programari de virtualització de codi obert desenvolupat per Sun Microsystems, actualment propietat d’Oracle, que permet executar sistemes operatius complets dins d’un sistema amfitrió, com si fossin programes normals.
La virtualització consisteix a crear una màquina virtual (VM): un ordinador simulat per programari que té el seu propi processador, memòria, disc dur i targeta de xarxa, però que en realitat s’executa sobre el maquinari físic de l’ordinador real.
VirtualBox funciona com a amfitrió en:
I permet executar com a convidat pràcticament qualsevol sistema: Linux, Windows, BSD, Solaris, DOS…
Les Guest Additions són un conjunt de controladors i utilitats que s’instal·len dins la màquina virtual per millorar-ne el rendiment i la integració:
Instal·lació de Guest Additions en Ubuntu Desktop 26.04
Actualitza la llista de paquets
sudo apt updateInstal·la dependències
sudo apt install bzip2 tar build-essentialMou-te a la carpeta de l’instal·lador. Canvia:
USUARI pel teu nom d’usuari7.2.2 per la teva versió de VirtualBoxcd /run/media/USUARI/VBox_GAs_7.2.2Instal·la
sudo ./VBoxLinuxAdditions.run| Mode | Descripció |
|---|---|
| NAT | La VM accedeix a Internet via l’amfitrió. Senzill, però la VM no és accessible des de fora. |
| Xarxa pont | La VM té IP pròpia a la xarxa física. Es comporta com un equip real. |
| Xarxa interna | Les VM es comuniquen entre elles, sense accés exterior. |
| Adaptador de només amfitrió | Comunicació entre VM i amfitrió, sense accés a la xarxa exterior. |
| NAT Network | Com NAT, però les VM es veuen entre elles. |
Els discos de les VM s’emmagatzemen com a fitxers al disc de l’amfitrió, en formats:
Els discos poden ser d’expansió dinàmica (ocupen només l’espai real usat) o de mida fixa (reserven tot l’espai des del principi).
Els snapshots (instantànies) permeten desar l’estat complet d’una VM en un moment donat i tornar-hi si cal. Molt útil per:
VirtualBox inclou VBoxManage, una eina de línia d’ordres
potent:
# Llistar VMs disponibles
VBoxManage list vms
# Crear una VM nova
VBoxManage createvm --name "debian12" --ostype Debian_64 --register
# Arrencar una VM
VBoxManage startvm "debian12"
# Apagar una VM
VBoxManage controlvm "debian12" poweroff
# Crear un snapshot
VBoxManage snapshot "debian12" take "abans-actualitzacio"VirtualBox és el proveïdor per defecte de Vagrant.
Quan s’executa vagrant up sense configuració especial,
Vagrant crea i gestiona automàticament màquines VirtualBox:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/focal64"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = 2
vb.name = "servidor-web"
end
end| VirtualBox | VMware Workstation | Hyper-V | KVM/QEMU | |
|---|---|---|---|---|
| Llicència | Gratuït (GPL) | Comercial | Inclòs a Windows | Gratuït (GPL) |
| Rendiment | Bo | Excel·lent | Excel·lent | Excel·lent |
| Facilitat d’ús | Alta | Alta | Mitjana | Baixa |
| Integració Vagrant | Nativa | Sí (connector) | Sí (connector) | Sí (connector) |
| Apple Silicon | Limitat | Sí | No | Sí (via UTM) |
# Debian / Ubuntu
sudo apt install virtualbox-7.2
# Fedora / RHEL (via dipòsit Oracle)
sudo dnf install VirtualBox-7.2A sistemes amb Secure Boot activat, pot ser
necessari signar els mòduls del kernel de VirtualBox manualment o
desactivar Secure Boot per poder carregar els mòduls vboxdrv.
Per afegir l’usuari al grup vboxusers i poder gestionar
USB des de les VM:
sudo usermod -aG vboxusers $USERCal tancar la sessió i tornar a entrar perquè tingui efecte.
Quan instal·les VirtualBox (o KVM/QEMU), el sistema ha de compilar
mòduls del kernel (vboxdrv, vboxnetflt…). Si
no tens les capçaleres del nucli instal·lades, la compilació falla i els
mòduls no es carreguen.
# Debian / Ubuntu
sudo apt install linux-headers-$(uname -r)
# Fedora
sudo dnf install kernel-devel kernel-headers
# Arch
sudo pacman -S linux-headersEl $(uname -r) assegura que instal·les les capçaleres de
la versió exacta del kernel que estàs executant ara mateix, cosa
important si tens diversos kernels instal·lats.
KVM és un hipervisor integrat directament al kernel Linux des de la versió 2.6.20. Aprofita les extensions de virtualització del processador (Intel VT-x o AMD-V) per executar màquines virtuals amb rendiment gairebé natiu.
A diferència de VirtualBox, KVM no és un programa extern — és un
mòdul del kernel (kvm.ko + kvm_intel.ko o kvm_amd.ko).
El problema és que tots dos volen accés exclusiu a les extensions de virtualització del processador.
CPU
└── Extensions VT-x / AMD-V
├── KVM ──── les reserva per al kernel
└── VirtualBox ── les vol usar pel seu compte
CONFLICTE!Quan KVM té els mòduls carregats, VirtualBox no pot accedir a VT-x/AMD-V i:
VERR_VMX_NO_VMX o VERR_VMX_MSR_VMXON_DISABLEDOpció 1 — Descarregar els mòduls KVM temporalment:
sudo modprobe -r kvm_intel # o kvm_amd segons el processador
sudo modprobe -r kvmOpció 2 — Impedir que KVM carregui a l’arrencada (si uses VirtualBox habitualment):
echo "blacklist kvm_intel" | sudo tee /etc/modprobe.d/blacklist-kvm.conf
echo "blacklist kvm" | sudo tee -a /etc/modprobe.d/blacklist-kvm.conf
sudo update-initramfs -u # Debian/UbuntuOpció 3 — Usar només un dels dos i gestionar l’altre amb Vagrant o libvirt segons el cas.
A partir de VirtualBox 7.0 hi ha millores en la coexistència, però en general continua sent recomanable no tenir els dos actius simultàniament.