1 04/05/2026 11 min

Verifica prima di installare: kernel, architettura e stato dei pacchetti

Su elementary OS 6 Odin l’installazione di VirtualBox è semplice solo se il sistema è allineato su tre punti: architettura a 64 bit, kernel aggiornato e repository corretti. Se uno di questi manca, il problema non è VirtualBox in sé ma il supporto ai moduli kernel e la coerenza dei pacchetti. Prima di toccare i repository, conviene fotografare lo stato attuale. È il modo più rapido per evitare installazioni “a metà” e per capire subito dove intervenire se il caricamento del modulo fallisce.

Controlla architettura e kernel con questi comandi:

uname -r
uname -m
lsb_release -a

Atteso: un kernel Linux recente della serie supportata dal sistema e architettura x86_64. Se il sistema è a 32 bit, VirtualBox moderno non è la strada giusta. Se il kernel è molto vecchio o personalizzato, i moduli DKMS possono compilare male oppure non caricarsi al riavvio.

Secondo controllo utile: verifica se hai già pacchetti VirtualBox installati da fonti diverse. Mescolare pacchetti del repository Ubuntu, pacchetti Oracle e residui di installazioni precedenti è il modo più veloce per generare conflitti.

dpkg -l | grep -i virtualbox
apt-cache policy virtualbox

Se il sistema mostra una versione installata ma non sai da dove provenga, conviene fermarsi e capire prima il percorso di aggiornamento. Su Linux desktop la coerenza del repository conta più della versione “più nuova”.

Scelta del metodo: repository Ubuntu o repository Oracle

Per elementary OS 6 Odin hai due strade pratiche. La prima usa i pacchetti disponibili nei repository Ubuntu compatibili con la base del sistema: è la via più lineare quando vuoi stabilità e meno manutenzione. La seconda usa il repository Oracle, utile se vuoi una versione più recente di VirtualBox o se ti servono componenti specifici come Extension Pack in una versione allineata al pacchetto principale.

In un desktop normale io partirei dalla soluzione meno invasiva: pacchetti del repository base, poi eventuale salto al repository Oracle solo se hai un requisito concreto. Il punto non è “avere l’ultima release”, ma evitare mismatch tra host, moduli kernel e addon.

Se vuoi una gestione più pulita, prima rimuovi eventuali installazioni incoerenti. Questa operazione ha blast radius limitato ai pacchetti VirtualBox e ai loro moduli; non tocca i dischi virtuali .vdi a meno che tu non li cancelli manualmente. Fai comunque un backup della directory delle VM se hai dati importanti in locale, tipicamente ~/VirtualBox VMs/.

mkdir -p ~/backup-virtualbox
cp -a "~/VirtualBox VMs" ~/backup-virtualbox/ 2>/dev/null || true

Se stai facendo pulizia di una installazione precedente, verifica i pacchetti presenti prima di rimuovere. Non serve la fretta: basta sapere cosa c’è davvero installato.

dpkg -l | egrep 'virtualbox|vbox'
modinfo vboxdrv 2>/dev/null | head

Installazione con i pacchetti disponibili nei repository del sistema

Se il pacchetto è disponibile nei repository abilitati, l’installazione è la più semplice. Prima aggiorna l’indice dei pacchetti, poi installa VirtualBox e gli strumenti di supporto. Su Ubuntu-based system la presenza di dkms e degli header del kernel è il dettaglio che fa la differenza tra un modulo che si compila e un modulo che resta fermo.

sudo apt update
sudo apt install virtualbox dkms linux-headers-$(uname -r)

Se linux-headers-$(uname -r) non è disponibile, il kernel installato e i repository attivi non sono allineati. In quel caso il problema non è VirtualBox: va risolta la coerenza del kernel prima di andare avanti. Senza headers il modulo vboxdrv non si compila correttamente.

Dopo l’installazione, controlla che il pacchetto sia presente e che i moduli siano stati costruiti. Il check va fatto subito, non dopo aver creato la prima VM.

dpkg -l | grep -i virtualbox
lsmod | grep vbox
sudo systemctl status vboxdrv 2>/dev/null || true

Se lsmod non mostra moduli VirtualBox, prova il caricamento manuale e osserva l’errore. È il modo più rapido per distinguere un problema di compilazione da un problema di firma, permessi o dipendenze mancanti.

sudo modprobe vboxdrv
sudo modprobe vboxnetflt
sudo modprobe vboxnetadp

Se uno di questi comandi fallisce, il messaggio del kernel è il primo indizio utile. Recuperalo con dmesg immediatamente dopo il tentativo.

dmesg | tail -n 50

Installazione dal repository Oracle: quando serve e cosa controllare

Il repository Oracle ha senso se vuoi una release più recente o se devi allineare il pacchetto principale con Extension Pack e funzionalità specifiche. Qui però serve disciplina: aggiungere un repository esterno senza verificare la chiave e la release del sistema è una delle cause più comuni di installazioni instabili su desktop Ubuntu-based.

Prima di tutto identifica la release del sistema. elementary OS 6 Odin è basato su Ubuntu 20.04, quindi la stringa di repository deve essere coerente con quella base. Non inventare il codename: leggilo dal sistema o dalla documentazione della tua release.

cat /etc/os-release
lsb_release -cs

Se il repository Oracle viene usato, la sequenza tipica è questa: importazione della chiave, aggiunta della sorgente, aggiornamento indici e installazione del pacchetto. Per non lasciare segreti o chiavi in chiaro in documenti operativi, verifica sempre il fingerprint della chiave nel sito ufficiale prima di fidarti del file scaricato. Se non puoi farlo subito, blocca l’operazione e chiudi il gap di verifica.

sudo mkdir -p /usr/share/keyrings
wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc | gpg --dearmor | sudo tee /usr/share/keyrings/oracle-virtualbox.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox.gpg] http://download.virtualbox.org/virtualbox/debian focal contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt update
sudo apt install virtualbox-7.0

Nota pratica: il nome del pacchetto può cambiare con la versione disponibile nel repository al momento dell’installazione. Se virtualbox-7.0 non è presente, usa apt-cache search virtualbox per vedere i pacchetti effettivamente pubblicati nel tuo mirror.

Verifica anche che non siano rimasti repository duplicati o file di sorgenti vecchi. Più di un problema di upgrade nasce da una seconda entry dimenticata in /etc/apt/sources.list.d/.

grep -R "virtualbox" /etc/apt/sources.list /etc/apt/sources.list.d/

Compilazione dei moduli kernel: il punto dove si rompe spesso tutto

VirtualBox funziona davvero quando i moduli kernel sono presenti e caricabili. Su elementary OS 6 Odin il pacchetto DKMS tenta di costruire automaticamente vboxdrv, vboxnetflt e vboxnetadp. Se la compilazione fallisce, in GUI potresti vedere VM che non partono, errore sul driver kernel o rete host-only non disponibile.

La verifica minima è questa: il modulo esiste, si carica e resta presente dopo il reboot. Non basta l’installazione del pacchetto. Controlla anche lo stato DKMS, perché è lì che spesso compare il motivo vero del guasto.

dkms status
lsmod | grep vbox
journalctl -k -b | grep -i vbox

Se dkms status mostra un modulo non compilato, i casi più frequenti sono headers mancanti, toolchain assente o kernel non supportato. La correzione minima è ripristinare gli header corretti e rilanciare la build del modulo.

sudo apt install build-essential dkms linux-headers-$(uname -r)
sudo /sbin/vboxconfig

Il comando /sbin/vboxconfig ricompila e ricarica i moduli. Se fallisce, la parte utile non è il messaggio generico ma la riga esatta nel log del kernel o in /var/log/vbox-setup.log se presente. Leggilo prima di tentare altri fix.

Abilitare l’uso senza root: gruppo vboxusers e permessi

La GUI può aprirsi anche se il gruppo utenti non è configurato, ma alcune funzioni restano limitate. Per usare dispositivi USB passthrough, networking host-only e altre integrazioni, il tuo utente deve appartenere a vboxusers. Questa è una di quelle configurazioni che sembra secondaria finché non ti serve davvero una periferica USB o un bridge di test.

groups $USER
sudo usermod -aG vboxusers $USER

Dopo aver aggiunto il gruppo, devi chiudere e riaprire la sessione grafica. Il comando ha effetto al login successivo; non aspettarti che la shell corrente erediti subito il nuovo gruppo.

Controlla poi che il gruppo sia effettivamente attivo:

id $USER

Atteso: vboxusers nell’elenco dei gruppi. Se non c’è, hai saltato il logout/login oppure stai verificando con un utente diverso da quello modificato.

Extension Pack: quando installarlo e come non creare mismatch

Extension Pack non è obbligatorio per avviare VM, ma serve per funzioni come USB 2.0/3.0 avanzato, RDP e altre estensioni dipendenti dalla versione. Il vincolo importante è uno solo: la versione dell’Extension Pack deve combaciare con quella di VirtualBox. Se non coincide, la GUI ti avvisa e in alcuni casi il pacchetto non si registra correttamente.

Prima verifica la versione installata di VirtualBox:

VBoxManage -v

Poi scarica l’Extension Pack corrispondente dalla fonte ufficiale e installalo. Evita pacchetti presi da mirror casuali: qui il rischio non è solo il mismatch, ma anche la provenienza del file. Se lavori in ambiente con requisiti di audit, conserva hash e origine del download nel ticket o nel change log.

sudo VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack

Se il comando chiede accettazione della licenza, leggila e conferma solo se il file è quello previsto. Dopo l’installazione, verifica il risultato con:

VBoxManage list extpacks

Primo avvio: check della GUI e test rapido della macchina virtuale

Una volta installato il pacchetto, il vero test è aprire VirtualBox e avviare una VM di prova. Non serve una macchina complessa: basta una piccola VM Linux per verificare che il frontend, il backend e i moduli kernel parlino tra loro. Se la GUI si apre ma la VM non parte, il problema è quasi sempre sotto il livello applicativo, non nella finestra grafica.

Se vuoi una verifica da terminale, puoi usare VBoxManage per vedere se l’host risponde correttamente:

VBoxManage list hostinfo
VBoxManage list vms

Per una VM esistente, controlla stato e dettagli:

VBoxManage showvminfo "NomeVM" --details

Se compare un errore tipo “Kernel driver not installed” o “supR3HardenedWinReSpawn” su Linux, fermati e torna ai moduli kernel e ai log. Non ha senso cambiare impostazioni della VM prima di sistemare l’host.

Problemi tipici su elementary OS 6 Odin e come leggerli senza perdere tempo

Il caso più comune è la mancata compilazione del modulo dopo un aggiornamento del kernel. In pratica il sistema si aggiorna, ma VirtualBox resta agganciato a un vecchio set di headers. Il sintomo è immediato: la GUI parte, ma il driver non si carica o le reti host-only spariscono. La correzione è riallineare kernel, headers e DKMS, non reinstallare a caso l’applicazione.

Altro caso frequente: repository misti. Se hai installato VirtualBox dai repository di sistema e poi hai aggiunto il repository Oracle senza pulizia, apt può proporti upgrade incoerenti. In quel caso esamina il candidato effettivo prima di confermare l’installazione.

apt-cache policy virtualbox
apt-cache madison virtualbox

Se il sistema mostra versioni da origini diverse, scegli una sola linea di manutenzione e resta lì. Su una workstation da uso quotidiano la stabilità vale più del salto di release senza motivo operativo.

Un terzo problema riguarda i permessi dell’utente. L’applicazione è installata correttamente, ma USB, bridge o accesso ad alcune funzioni non funzionano perché il login non è stato rinnovato dopo l’aggiunta al gruppo vboxusers. È un errore banale, ma in assistenza capita spesso perché il sistema sembra “quasi a posto”.

Rimozione pulita e rollback se qualcosa va storto

Se l’installazione non ti convince o hai introdotto un repository esterno che vuoi ritirare, il rollback deve essere semplice e reversibile. Prima disinstalla i pacchetti, poi rimuovi la sorgente aggiunta, infine pulisci solo i componenti che sai di aver installato tu. Non cancellare a mano directory di VM se non hai verificato dove sono i dischi virtuali.

sudo apt remove --purge virtualbox virtualbox-7.0
sudo rm -f /etc/apt/sources.list.d/virtualbox.list
sudo apt update

Se hai usato il repository Oracle, la rimozione della sorgente è parte del rollback. Se hai installato Extension Pack, verifica che sia stato rimosso con la stessa versione del pacchetto principale:

VBoxManage list extpacks
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"

Dopo il rollback, controlla che il sistema sia tornato allo stato precedente e che non restino moduli caricati o pacchetti orfani. Un check rapido è utile anche per evitare che un aggiornamento successivo si agganci a un repository che pensavi di aver già tolto.

dpkg -l | grep -i virtualbox
grep -R "virtualbox" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

Assunzione operativa: elementary OS 6 Odin è trattato come desktop a 64 bit basato su Ubuntu 20.04; se la tua installazione ha kernel o repository non standard, la procedura va adattata partendo da uname -r e apt-cache policy.