Come risolvere un errore di avvio di una macchina virtuale VirtualBox su Linux

Se una macchina virtuale VirtualBox non si avvia su Linux , leggi attentamente il messaggio di errore prima di reinstallare qualsiasi cosa. Una causa comune lato host è la vboxdrvmancanza del modulo del kernel necessario, il fatto che sia stato compilato per un kernel diverso o che sia stato bloccato da Secure Boot. Altri messaggi indicano un'impostazione della macchina virtuale, un'incompatibilità di versione o una funzionalità che richiede l'Extension Pack.

1. Registra l'errore e controlla le versioni dell'host

Annota il testo completo della finestra di dialogo e il codice di errore, quindi verifica quale versione di VirtualBox e quale kernel Linux sono in esecuzione:

VBoxManage --version
uname -r

Utilizza l'errore stesso per scegliere il controllo successivo. Se VirtualBox si apre ma una VM fallisce, concentrati sul registro e sulle impostazioni di quella VM. Se tutte le VM falliscono con un messaggio host-driver, inizia da vboxdrv.

Esempio di finestra di dialogo di avvio di VirtualBox accanto a VBoxManage e ai controlli della versione del kernel Linux.
Solo a titolo di esempio: utilizzare il codice di errore e i valori di versione visualizzati sul proprio sistema host Linux.

2. Verificare se il driver host di VirtualBox è caricato

Linux utilizza il vboxdrvmodulo del kernel host per eseguire le macchine virtuali. Verifica la presenza dei moduli di VirtualBox, quindi prova a caricare il driver principale:

lsmod | grep '^vbox'
sudo modprobe vboxdrv

Se modprobeviene restituito un errore, conservarne la formulazione esatta. Se l'operazione ha esito positivo, riprovare con la macchina virtuale. La guida all'installazione di Oracle per host Linux spiega che VirtualBox necessita di moduli del kernel host e di intestazioni del kernel appropriate.

Comandi da terminale illustrativi per verificare i moduli VirtualBox caricati e caricare vboxdrv
Un'operazione riuscita modprobepotrebbe non restituire alcun testo; l'indizio importante è un messaggio di errore.

3. Ricompila il modulo per il kernel che hai avviato

Dopo un aggiornamento del kernel Linux, il modulo di VirtualBox potrebbe non essere ancora compatibile con il kernel attualmente in esecuzione. Verifica che siano disponibili i file di sviluppo per quel kernel specifico:

uname -r
ls -ld "/lib/modules/$(uname -r)/build"

Se il buildcollegamento è mancante, installa gli header del kernel o il pacchetto di sviluppo corrispondenti utilizzando il gestore di pacchetti della tua distribuzione. Su Ubuntu o Debian, quando VirtualBox proviene dal repository della distribuzione, una tipica procedura di ripristino è la seguente:

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

I nomi dei pacchetti differiscono su Fedora, Arch Linux, openSUSE e altri sistemi. Installa gli header per il kernel in esecuzione e il pacchetto host-module che corrisponde al modo in cui hai installato VirtualBox. Non mescolare il programma di installazione di Oracle con i pacchetti VirtualBox di una distribuzione; usa una fonte di pacchetti e le relative istruzioni di ricompilazione. L'indice dei pacchetti di Ubuntu mostra quali versioni attualmente forniscono virtualbox-dkms.

Esempio di terminale che confronta il kernel Linux in esecuzione con la directory di compilazione dei suoi moduli.
La versione del kernel e la relativa directory di compilazione devono corrispondere allo stesso kernel in esecuzione.
Esempio di comando per la reinstallazione del pacchetto DKMS di VirtualBox su Ubuntu e Debian.
Questo comando di pacchetto si applica alle installazioni di Ubuntu o Debian dai rispettivi repository; altrove, utilizza i nomi dei pacchetti della tua distribuzione.

4. Controlla Secure Boot se Linux rifiuta il modulo

Secure Boot può impedire il caricamento di un modulo del kernel di terze parti non firmato. Verifica il suo stato e cerca i relativi messaggi del kernel:

mokutil --sb-state
sudo journalctl -k -b | grep -iE 'vbox|verification|key rejected'

Se l'output indica che la chiave è stata rifiutata o che il modulo non è firmato, segui la procedura di firma dei moduli della tua distribuzione. Su Ubuntu, i moduli DKMS possono essere firmati con una chiave del proprietario della macchina (MOK); se l'installazione richiede di registrare una chiave, completa la schermata di registrazione al successivo riavvio. Canonical documenta la procedura di avvio protetto (Secure Boot) e la procedura MOK . Disabilitare l'avvio protetto non è la prima soluzione da provare.

Esempio di terminale che verifica lo stato di Secure Boot e cerca errori del modulo VirtualBox nei log del kernel.
Utilizza il log del kernel per distinguere un modulo rifiutato da un modulo mancante o da una compilazione fallita.

5. Controlla l'Extension Pack solo quando l'errore lo richiede

L'Extension Pack non è un requisito generale per avviare una normale macchina virtuale. Aggiunge funzionalità specifiche, tra cui il supporto per USB 2.0 e 3.0 e le funzionalità di visualizzazione remota. Se l'errore menziona un'estensione o una di queste funzionalità, controlla il pacchetto installato:

VBoxManage list extpacks

Se installato, il pacchetto deve corrispondere alla versione dell'host VirtualBox. Aggiorna o rimuovi un pacchetto obsoleto tramite la gestione delle estensioni di VirtualBox oppure scarica la versione corrispondente dalla pagina di download ufficiale di VirtualBox . Non installare un vecchio Extension Pack solo perché una macchina virtuale non si avvia.

Esempio illustrativo dell'output di VBoxManage con l'elenco degli extpack e i dettagli della versione dell'Extension Pack (segnaposto).
Confronta la versione dell'Extension Pack con la versione host da VBoxManage --version.

6. Utilizzare il registro VM per gli errori che interessano una singola macchina

Quando si verifica un errore in una sola macchina virtuale, apri il file di log VBox.lognella Logscartella della macchina virtuale. Il percorso predefinito è , sebbene una macchina virtuale possa utilizzare una cartella diversa. Controlla le ultime righe intorno all'avvio non riuscito per individuare il primo errore irreversibile; il capitolo sulla risoluzione dei problemi~/VirtualBox VMs/VM-name/Logs di Oracle descrive il log e gli indizi diagnostici più comuni.

Finestra VBox.log a scopo illustrativo con voci segnaposto generiche anziché una diagnosi specifica.
Gli estratti del log variano a seconda del tipo di errore; utilizzare il log effettivo della macchina virtuale che non si è avviata.

Se il messaggio indica che la virtualizzazione hardware non è disponibile, abilitare Intel VT-x o AMD-V (a volte etichettato come SVM) nel firmware dell'host. Se Linux è in esecuzione all'interno di un'altra macchina virtuale, l'hypervisor esterno deve esporre la virtualizzazione nidificata. Evitare di modificare impostazioni di macchine virtuali non correlate, a meno che l'errore non indichi proprio queste.

Riepilogo illustrativo della macchina virtuale VirtualBox che mostra la virtualizzazione hardware tra i dettagli della macchina
Le etichette e il layout del gestore variano a seconda della versione di VirtualBox; il messaggio di errore dovrebbe indicare quale impostazione controllare.

7. Evitare modifiche rischiose delle autorizzazioni

Non continuare chowna /usreseguire VirtualBox per risolvere il problema. La directory di sistema è normalmente di proprietà di root e la modifica generalizzata dei permessi può danneggiare i file gestiti dai pacchetti senza riparare il modulo del kernel. Dopo aver installato gli header corretti o ricompilato il driver, riavvia il sistema con il kernel desiderato e riprova la macchina virtuale.

Se il problema persiste, conserva il testo esatto della finestra di dialogo, la distribuzione Linux e la versione del kernel, la versione di VirtualBox, dkms statusl'output e la parte finale pertinente VBox.log. Questi dettagli permettono di identificare se il passaggio successivo riguarda il driver dell'host, Secure Boot, una configurazione della macchina virtuale o un'incompatibilità di versione.

Lascia un commento

Come modificare le impostazioni della webcam su Linux con Cameractrls

Come modificare le impostazioni della webcam su Linux con Cameractrls

Modifica le impostazioni della webcam su Linux con Cameractrls: regola l'esposizione, il colore, la riduzione dello sfarfallio e altri controlli supportati, quindi verifica le modalità video compatibili.

Come installare PhpStorm su Linux: Toolbox, Tar.gz, Snap e AUR

Come installare PhpStorm su Linux: Toolbox, Tar.gz, Snap e AUR

Installa PhpStorm su Linux con JetBrains Toolbox o con l'archivio tar.gz autonomo, oltre alle opzioni Snap e Arch AUR. Java è già incluso.

Come eseguire il backup di un CD-ROM come immagine ISO su Linux

Come eseguire il backup di un CD-ROM come immagine ISO su Linux

Crea un'immagine ISO di un CD-ROM su Linux con GNOME Disks o dd. Identifica l'unità ottica, monitora la copia, verifica l'immagine e scopri quando un disco danneggiato o un disco audio richiede uno strumento aggiuntivo.

Come installare Cisco Packet Tracer su Linux

Come installare Cisco Packet Tracer su Linux

Scarica Cisco Packet Tracer 9.0.1 per Ubuntu a 64 bit, installa il pacchetto DEB con APT, accetta la licenza nel Terminale ed effettua l'accesso per avviare un laboratorio.

Come configurare due pannelli su XFCE 4

Come configurare due pannelli su XFCE 4

Crea un pannello XFCE 4 separato per ogni schermo, assegna il secondo pannello all'uscita corretta, posizionalo e ridimensionalo, e aggiungi i launcher e gli elementi di stato necessari.

Come ritagliare un'immagine su Linux con GIMP

Come ritagliare un'immagine su Linux con GIMP

Rimuovere lo sfondo di una foto su Linux con GIMP: traccia il soggetto, elimina lo sfondo selezionato, mantieni la trasparenza ed esporta un file PNG riutilizzabile.

Applicazione desktop Google Tasks: come utilizzarla su un computer

Applicazione desktop Google Tasks: come utilizzarla su un computer

Apri Google Tasks in un browser, aggiungi un collegamento a Chrome o avvialo come un'app e gestisci le attività con data tramite Calendar e Gmail.

OKSampler: un campionatore musicale gratuito e semplice per creare ritmi da tastiera.

OKSampler: un campionatore musicale gratuito e semplice per creare ritmi da tastiera.

OKSampler associa i file MP3 ai tasti della tastiera e permette la riproduzione in loop dell'audio. Scopri cosa fa questo software gratuito ormai datato, dove finiscono le sue vecchie funzionalità e cosa controllare prima di scaricarlo.

Come giocare a Squad su Linux con Steam Proton

Come giocare a Squad su Linux con Steam Proton

Configura Squad su Linux con Steam Play e Proton, installa il gioco, scegli uno strumento di compatibilità e risolvi i problemi relativi ai sistemi anti-cheat.

Come installare Linux Mint Debian Edition 5 “Elsie” da USB

Come installare Linux Mint Debian Edition 5 “Elsie” da USB

Scarica e verifica l'immagine ISO di LMDE 5 archiviata, crea una chiavetta USB avviabile e scegli le impostazioni di installazione sicura. Elsie non è più supportato; consulta la versione corrente di LMDE.