VirtualBox és una eina gratuïta i versàtil per crear i executar màquines virtuals a Linux: pots tenir un Ubuntu, un Debian o un Windows funcionant dins d’una finestra, per fer proves sense tocar el teu sistema. En aquesta guia t’explico com instal·lar-lo en una distribució basada en Debian (Debian, Ubuntu i derivades) i com crear una màquina virtual des del terminal amb VBoxManage.
Abans de començar, dues coses:
- VirtualBox per a Linux només funciona en ordinadors x86_64 (Intel o AMD de 64 bits). No el podràs instal·lar en un Raspberry Pi ni en altres equips ARM.
- Cal que la virtualització per maquinari (Intel VT-x o AMD-V) estigui activada a la BIOS/UEFI. Pots comprovar si el processador la té amb
grep -cE 'vmx|svm' /proc/cpuinfo: si dona 0, no està disponible o està desactivada.
Pas 1: actualitzar el sistema
Obre el terminal i actualitza la llista de paquets i el sistema:
sudo apt update
sudo apt upgrade
Si s’ha actualitzat el nucli (kernel), reinicia abans de continuar: VirtualBox compila uns mòduls per al nucli que tens en marxa.
Pas 2: triar d’on l’instal·les
Tens dues opcions:
- Repositoris d’Ubuntu: el paquet
virtualboxés a la secció multiverse. És el camí més curt, però sol ser una versió més antiga que la d’Oracle. - Repositori oficial d’Oracle: versió actual (la 7.2 quan escric això) i és l’única opció a Debian, perquè Debian no inclou VirtualBox als seus repositoris oficials.
Opció A: des dels repositoris d’Ubuntu
sudo apt install virtualbox
Si no el troba, activa multiverse amb sudo add-apt-repository multiverse i torna-ho a provar.
Opció B: des del repositori d’Oracle (Debian i Ubuntu)
A la versió original d’aquesta guia no s’explicava, i molts tutorials encara fan servir apt-key add, que està obsolet (a Debian 13, amb APT 3.0, ja ni tan sols existeix). La manera correcta és desar la clau en un fitxer propi i lligar-la al repositori amb signed-by.
- Instal·la les eines necessàries i baixa la clau d’Oracle a
/etc/apt/keyrings:
sudo apt install wget gpg
sudo install -d -m 0755 /etc/apt/keyrings
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/oracle-virtualbox-2016.gpg
Pots comprovar que la clau és la bona amb gpg --show-keys /etc/apt/keyrings/oracle-virtualbox-2016.gpg. L’empremta ha de ser B9F8 D658 297A F3EF C18D 5CDF A2F6 83C5 2980 AECF.
- Afegeix el repositori. La comanda agafa el nom en clau de la teva versió (
trixie,bookworm,resolute,noble…) del fitxer/etc/os-release:
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release && echo "$VERSION_CODENAME") contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
En una derivada d’Ubuntu (Linux Mint, per exemple) VERSION_CODENAME és el de la derivada; en aquest cas posa a mà el nom de la versió d’Ubuntu en què es basa (a Mint el tens a UBUNTU_CODENAME).
- Instal·la el paquet. Fixa’t que el nom inclou la versió:
sudo apt update
sudo apt install virtualbox-7.2
La pàgina oficial (Linux Downloads a virtualbox.org) fa servir la ruta /usr/share/keyrings per a la clau; també funciona. /etc/apt/keyrings és el lloc pensat per a les claus que afegeixes tu.
Pas 3: mòduls del nucli i Secure Boot
VirtualBox necessita uns mòduls propis al nucli (vboxdrv, vboxnetflt, vboxnetadp). El paquet d’Oracle els compila durant la instal·lació, i per això calen les capçaleres del nucli i el compilador:
sudo apt install build-essential linux-headers-$(uname -r)
Si els has instal·lat després de VirtualBox, o després d’actualitzar el nucli els mòduls no carreguen, torna’ls a compilar amb:
sudo /sbin/vboxconfig
Si l’ordinador té Secure Boot activat, el nucli només carrega mòduls signats. En aquest cas, els mòduls de VirtualBox s’han de signar amb una clau registrada al firmware (normalment amb mokutil); el procediment depèn de la distribució. Si VirtualBox es queixa que no troba el controlador del nucli, comprova primer si tens Secure Boot activat amb mokutil --sb-state.
Pas 4: el grup vboxusers
La instal·lació crea el grup vboxusers. Per fer servir dispositius USB des de les màquines virtuals, el teu usuari hi ha de pertànyer:
sudo usermod -aG vboxusers $USER
El canvi s’aplica quan tornes a iniciar la sessió.
Pas 5: comprovar la instal·lació
Obre VirtualBox des del menú d’aplicacions o executa virtualbox al terminal. Des de la línia de comandes, també pots consultar la versió:
VBoxManage --version
Extension Pack: el paquet d’extensions d’Oracle (necessari, per exemple, per a l’escriptori remot VRDE o el xifratge de discos) es baixa a part i ha de ser de la mateixa versió que VirtualBox. Té una llicència pròpia (PUEL), gratuïta per a ús personal o educatiu però no per a ús comercial.
Crear una màquina virtual amb VBoxManage
Tot el que fas des de la finestra de VirtualBox ho pots fer amb VBoxManage. Aquest és un exemple per crear una màquina virtual anomenada maquina1 per instal·lar-hi Ubuntu Server.
Crear i configurar la màquina
VBoxManage createvm --name maquina1 --ostype Ubuntu_64 --register
VBoxManage modifyvm maquina1 --memory 2048 --cpus 2 --acpi on --boot1 dvd --boot2 disk --nic1 nat
--ostype: el tipus de sistema convidat. Els identificadors canvien entre versions de VirtualBox; consulta’ls ambVBoxManage list ostypes | grep -i ubuntu.Ubuntu_64és el genèric d’Ubuntu de 64 bits: fes-lo servir per a Ubuntu 26.04 LTS si la teva versió de VirtualBox encara no hi té un identificador propi (per a la 24.04 hi haUbuntu24_LTS_64).--memory: la RAM en MB.--boot1 dvd --boot2 disk: arrenca primer del DVD (la ISO d’instal·lació) i després del disc dur.--nic1 nat: la primera targeta de xarxa en mode NAT, amb accés a internet. Si vols que la màquina sigui accessible des de la xarxa local, fes servir--nic1 bridged --bridge-adapter1 enp3s0(amb el nom de la teva interfície, que pots veure ambip link).
La màquina es desa per defecte a ~/VirtualBox VMs/maquina1/.
Crear i connectar un disc dur
VBoxManage createmedium disk --filename "$HOME/VirtualBox VMs/maquina1/maquina1.vdi" --size 20480
VBoxManage storagectl maquina1 --name "SATA" --add sata --controller IntelAhci
VBoxManage storageattach maquina1 --storagectl "SATA" --port 0 --device 0 --type hdd --medium "$HOME/VirtualBox VMs/maquina1/maquina1.vdi"
La mida va en MB (20480 MB = 20 GB). El disc és de mida dinàmica: només ocupa a l’amfitrió el que la màquina fa servir de veritat. La versió original feia servir createhd, que continua funcionant per compatibilitat, però la comanda actual és createmedium.
Connectar la ISO d’instal·lació
VBoxManage storageattach maquina1 --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "$HOME/Baixades/ubuntu-26.04.1-live-server-amd64.iso"
Canvia la ruta pel nom exacte de la ISO que hagis baixat.
Arrencar la màquina
VBoxManage startvm maquina1
Per defecte s’obre una finestra amb la pantalla de la màquina. Amb --type headless arrenca sense finestra (útil en un servidor).
Consultar-la i aturar-la
VBoxManage showvminfo maquina1
VBoxManage controlvm maquina1 acpipowerbutton # apagada ordenada
VBoxManage controlvm maquina1 poweroff # com treure el cable
VBoxManage list vms mostra totes les màquines registrades i VBoxManage list runningvms, les que estan en marxa.
La instal·lació del sistema convidat
Un cop creada la màquina i connectada la ISO, la instal·lació del sistema operatiu es fa com en un ordinador físic: en arrencar amb startvm s’obre la finestra de la màquina virtual i hi interactues per triar l’idioma, el disc, la xarxa i la resta d’opcions que et demani l’instal·lador.
Si no tens entorn gràfic, tens dues alternatives:
- Arrencar-la en mode
headlessi connectar-t’hi per escriptori remot (VRDE), que requereix l’Extension Pack. - Fer una instal·lació desatesa amb
VBoxManage unattended install, que configura l’usuari, la contrasenya, l’idioma i altres paràmetres i fa la instal·lació sola. Consulta’n les opcions ambVBoxManage unattended install --helpo al manual de VirtualBox, perquè depenen del sistema que instal·lis.
Conclusió
Amb VirtualBox instal·lat des del repositori d’Oracle tindràs una versió actual i fàcil de mantenir amb apt, i amb VBoxManage podràs crear i controlar màquines virtuals sense tocar el ratolí, cosa molt pràctica si vols automatitzar-ho amb scripts.