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:
- Windows (10, 11, Server)
- Linux (Ubuntu, Debian, Fedora, RHEL…)
- macOS (Intel; suport Apple Silicon limitat)
- Solaris
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ó:
- Ratolí integrat sense captura
- Porta-retalls compartit
- Carpetes compartides entre amfitrió i convidat
- Resolució de pantalla dinàmica
- Acceleració de vídeo 2D/3D
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:
USUARIpel teu nom d’usuari7.2.2per la teva versió de VirtualBox
cd /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:
- VDI — format natiu de VirtualBox
- VMDK — compatible amb VMware
- VHD — compatible amb Hyper-V
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:
- Provar canvis arriscats al sistema
- Crear punts de restauració abans d’instal·lar programari
- Ensenyament i pràctiques de laboratori
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:
- Les VM arrenquen molt lentes (mode programari sense acceleració)
- O directament fallen amb errors com
VERR_VMX_NO_VMXoVERR_VMX_MSR_VMXON_DISABLED
Opció 1 — Descarregar els mòduls KVM temporalment:
sudo modprobe -r kvm_intel # o kvm_amd segons el processador sudo modprobe -r kvm
Opció 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/Ubuntu
Opció 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.