Correzione: driver del kernel VirtualBox non installato (rc=-1908)

MacOS High Sierra 10.13 ha introdotto la funzione di caricamento dell’estensione del kernel approvata dall’utente nel 2017. Su tutte le versioni di macOS da allora, è necessario approvare manualmente le estensioni del kernel prima che possano essere caricate.

Se si tenta di caricare l’estensione del kernel (KEXT) senza approvazione, verrà visualizzato il messaggio di errore VirtualBox Kernel Driver Not Installed .

Mentre questo di solito accade durante il primo avvio dopo l’installazione, l’errore può verificarsi anche in momenti successivi a causa di moduli non firmati e problemi simili. Lo stesso vale anche per i sistemi Linux.

Se volete continuare a leggere questo post su "[page_title]" cliccate sul pulsante "Mostra tutti" e potrete leggere il resto del contenuto gratuitamente. ebstomasborba.pt è un sito specializzato in Tecnologia, Notizie, Giochi e molti altri argomenti che potrebbero interessarvi. Se desiderate leggere altre informazioni simili a [page_title], continuate a navigare sul web e iscrivetevi alle notifiche del blog per non perdere le ultime novità.

Seguir leyendo


Sommario

Cosa sta causando l’errore del driver del kernel di VirtualBox non installato?

Come affermato, questo errore si verifica su Mac principalmente perché l’estensione del kernel non è approvata per il caricamento. Altri motivi comuni per questo errore includono:

  • Vbox kext non registrato
  • Problemi con la firma del modulo del kernel
  • Problemi con la cache kext
  • Flag di gestione kext configurato in modo errato
  • Il modulo del kernel e la versione di GCC non corrispondono

Come risolvere questo errore su Mac?

Prima di tutto, tieni presente che VirtualBox funziona solo su Mac Intel in quanto non è ancora stato portato su Mac M1. Un’altra cosa degna di nota è che numerosi utenti sono stati in grado di risolvere questo errore passando a una versione diversa di VirtualBox e installando i pacchetti di estensione.

Pertanto, prima di iniziare la risoluzione dei problemi, ti consigliamo di utilizzare l’ultima versione di VirtualBox o di ripristinare una build stabile precedente, in quanto ciò potrebbe facilmente correggere l’errore.

Consenti il ​​caricamento del modulo

Nella maggior parte dei casi, consentire il caricamento del modulo del kernel è tutto ciò che serve per correggere questo errore. Ecco i passaggi necessari per questo:

  1. Fai clic sul menu Apple e vai su Preferenze di sistema > Sicurezza e privacy.
  2. Premi il pulsante Consenti verso il basso.
  3. Il problema dovrebbe essere risolto ora. Ma tieni presente che l’opzione Consenti è disponibile solo per 30 minuti dopo aver effettuato la richiesta di caricamento. Dovrai provare a caricare nuovamente il modulo per farlo riapparire.

Se il metodo GUI non funziona, inserisci il seguente comando nel terminale per riavviare il servizio di avvio per caricare il modulo del kernel e riprova:

sudo /Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

Inoltre, puoi anche provare a registrare l’estensione del kernel VirtualBox direttamente tramite il terminale, poiché questo ha risolto questo errore per alcuni utenti. Ecco il comando necessario per questo:

sudo kmutil load -p '/Library/Application Support/VirtualBox/VBoxDrv.kext'

Come prima, consenti al kernel di caricarsi tramite le Preferenze di Sistema e riavvia, quindi controlla se VirtualBox funziona. Se l’errore persiste, puoi invece provare ad aggiungere l’ID sviluppatore di Oracle al criterio di valutazione della sicurezza. In pratica stai approvando che l’estensione del kernel possa essere caricata, ma questa volta tramite il terminale.

  1. Innanzitutto, inserisci il seguente comando nel terminale:
    spctl kext-consent add VB5E2TV963
  2. Se ciò non aiuta, riavvia il Mac e tieni premuto Command + R per avviare la modalità di ripristino.
  3. Selezionare Utilità > Terminale e immettere nuovamente il comando dal passaggio 1.

Pulisci Reinstalla VirtualBox

Come affermato, la reinstallazione di VirtualBox è stata una soluzione efficace per numerosi utenti. Ecco i passaggi per una reinstallazione pulita:

  1. Apri il file di installazione di VirtualBox e fai clic su VirtualBox_uninstall.tool .
  2. Immettere Sì per confermare che si desidera disinstallare VirtualBox e tutti i suoi pacchetti.
  3. Successivamente, riavvia il tuo Mac e scarica l’ultima versione di VirtualBox. Nel mio caso, il nome del file è VirtualBox-6.1.36-152435-OSX.dmg .
  4. Esegui i seguenti comandi nel terminale per installare VirtualBox:
    sudo hdiutil attach VirtualBox-6.1.36-152435-OSX.dmg
    cd /Volumes/VirtualBox
    sudo installer -package VirtualBox.pkg -target /

Disattiva l’avvio protetto

È noto che Secure Boot a volte interferisce con programmi attendibili a causa di problemi con la firma digitale. Puoi provare a disabilitarlo brevemente per assicurarti che non stia causando l’errore. Ecco i passaggi per farlo:

  1. Tieni premuto Comando + R mentre accendi il Mac per avviare la modalità di ripristino.
  2. Fare clic su Utilità dalla barra dei menu e selezionare Utilità di sicurezza all’avvio.
  3. Nella finestra Secure Boot, seleziona No Security .
  4. Riavvia il tuo Mac e controlla se VirtualBox funziona ora.
  5. Se l’errore persiste, è probabile che il colpevole sia qualcos’altro. Puoi seguire gli stessi passaggi per riattivare Secure Boot e procedere con le altre correzioni.

Svuota la cache di Kext

È possibile utilizzare il comando sudo kextcache --clear-staging per cancellare la cache dell’estensione del kernel e potenzialmente risolvere questo errore. Se il comando inizialmente non aiuta, ecco alcuni ulteriori passaggi che puoi eseguire:

  1. Riavvia il tuo Mac e usa di nuovo il comando.
  2. Disinstalla VirtualBox, riavvia nuovamente il Mac e reinstalla VirtualBox.
  3. Controlla se l’errore è stato risolto ora.

Modifica il flag di estensione del kernel

Alcuni utenti hanno anche segnalato casi in cui il flag limitato non è stato impostato su KernelExtensionManagement. Ciò ha influito sul modo in cui SIP ha interagito con la directory e alla fine ha portato all’errore VirtualBox Kernel Driver Not Installed . Ecco come risolvere questo errore in questi casi:

  1. Disinstalla Virtualbox e riavvia il tuo Mac.
  2. Tieni premuto Comando + R per avviare la modalità di ripristino e seleziona Utilità > Terminale .
  3. Eseguire il comando seguente per modificare il flag:
    chflags restricted /Volumes/Macintosh HD/private/var/db/KernelExtensionManagement
  4. Riavvia il Mac e reinstalla VirtualBox.

Come risolvere questo errore su Linux?

Le correzioni elencate di seguito sono destinate alle distribuzioni basate su Debian , ma è possibile modificarle leggermente e applicarle anche alla maggior parte delle altre distribuzioni.

Risolvi i problemi del modulo kernel VBox

I seguenti passaggi aiuteranno a risolvere una serie di potenziali problemi con il modulo del kernel VirtualBox che potrebbero causare questo errore:

  1. Innanzitutto, prova a reinstallare il modulo del kernel VirtualBox con il seguente comando:
    sudo /etc/init.d/vboxdrv setup
  2. Se ciò non aiuta, aggiorna le intestazioni del kernel Linux, riconfigura il pacchetto VirtualBox e carica il modulo come tale:
    sudo apt-get install linux-headers-$(uname -r)
    sudo dpkg-reconfigure virtualbox-dkms
    sudo modprobe vboxdrv

  3. Se l’errore persiste, eseguire i seguenti comandi per rimuovere completamente VirtualBox e reinstallarlo:
    rm -r /etc/init.d/vboxdrv
    rm -r /var/lib/update-rc.d/vboxdrv
    sudo apt-get remove virtualbox-dkms
    sudo apt-get install virtualbox virtualbox-dkms virtualbox-guest-utils virtualbox-guest-additions virtualbox-qt
  4. Controlla se l’errore è stato risolto.

Cambia versione GCC

C’è un problema comune in cui il modulo del kernel VirtualBox non viene caricato perché il kernel non corrisponde alla versione GCC utilizzata per compilare il modulo. In questi casi, devi usare lo stesso compilatore usato per compilare il kernel.

Ad esempio, per modificare la versione GCC in GCC 8, eseguire i seguenti passaggi:

  1. Innanzitutto, rimuovi VirtualBox e i suoi file di configurazione con il seguente comando:
    sudo apt-get purge virtualbox-*
  2. Successivamente, installa la versione GCC che desideri, che in questo esempio è 8:
    sudo apt-get install gcc-8 g++-8
  3. Imposta il GCC predefinito su GCC 8:
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
  4. Infine, reinstalla VirtualBox e controlla se il problema è stato risolto.

Risolvi i problemi di firma del modulo

I moduli DKMS sono generalmente configurati al momento dell’installazione per funzionare con Secure Boot. Ma se ci sono problemi con la firma del modulo, il modulo non potrà essere caricato. Puoi facilmente confermarlo disabilitando temporaneamente Secure Boot. Ecco i passaggi per farlo su Ubuntu:

  1. Eseguire il comando sudo mokutil --disable-validation .
  2. Inserisci una password temporanea e confermala.
  3. Riavvia il sistema e premi un tasto qualsiasi nella schermata Gestione MOK.
  4. Seleziona Modifica stato di avvio protetto e inserisci la password temporanea.
  5. Selezionare Sì > OK per disabilitare l’avvio protetto.
  6. È possibile utilizzare il comando sudo mokutil --enable-validation per riattivare l’avvio protetto in un secondo momento, se lo si desidera.

Se non ti senti a tuo agio con la disabilitazione dell’avvio protetto, il secondo modo per risolvere il problema della firma del modulo è firmare tu stesso i moduli. Ecco come puoi farlo:

  1. Innanzitutto, usa il seguente comando per creare una nuova chiave MOK:
    sudo update-secureboot-policy --new-key
  2. Successivamente, eseguire il comando kmodsign appropriato per firmare il modulo.
  3. Dopo che è stato firmato, eseguire sudo update-secureboot-policy --enroll-key per eseguire la procedura guidata di registrazione oppure registrarlo manualmente eseguendo sudo mokutil --import .

Se hai difficoltà a firmare manualmente i moduli del kernel di VirtualBox, ci sono alcune guide eccellenti su GitHub e sul blog di Ubuntu.