Após a atualização do Virtual Box, as fontes do kernel estão faltando

4

Eu atualizei o VirtualBox de 4.1 para 4.2

sempre que eu quero carregar meu Win XP VDI, me ocorre o seguinte erro:

  

Driver de kernel não instalado (rc = -1908)

O driver do kernel do VirtualBox Linux ( vboxdrv ) não está carregado ou há um problema de permissão com /dev/vboxdrv . Por favor reinstale o módulo do kernel executando

/etc/init.d/vboxdrv setup

como root. Se estiver disponível em sua distribuição, você deve instalar o pacote DKMS primeiro. Este pacote acompanha as alterações do kernel do Linux e recompila o módulo do kernel vboxdrv, se necessário.

Corri o passo sugerido para reinstalar o módulo do kernel, e o arquivo de log é o seguinte:

Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.
Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.
Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.

Ainda não consigo executar novamente o meu arquivo vdi XP virtual virtual.

Alguém tem alguma pista?

    
por Husni 17.11.2012 / 02:46

2 respostas

10

Parece que você não tem os cabeçalhos do kernel instalados, o dkms precisa então instalar a unidade do kernel do Virtual Box, para instalar e executar:

sudo apt-get install linux-headers-'uname -r'

Depois,

/etc/init.d/vboxdrv setup

deve funcionar.

    
por Javier Rivera 17.11.2012 / 12:22
0

O mesmo pode acontecer no VirtualBox 5. O script vboxdrv agora é chamado vboxadd (eu acho) e a lógica é a seguinte:

KERN_VER='uname -r'
KERN_DIR="/lib/modules/$KERN_VER/build"
if [ -d "$KERN_DIR" ]; then
    KERN_REL='make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true'
    if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
        return 0
    fi
fi

Então, basicamente, você precisa ter certeza de que instalou o VBoxGuestAdditions e as origens do kernel existem em /lib/modules/$(uname -r)/build . Se eles não corresponderem, o comando falhará.

Aqui está um teste simples:

$ sudo sh -x /opt/VBoxGuestAdditions-5.0.16/init/vboxadd setup 2>&1 | grep KERN
+ KERN_VER=2.6.32-573.18.1.el6.x86_64
+ KERN_DIR=/lib/modules/2.6.32-573.18.1.el6.x86_64/build

Portanto, certifique-se de instalar todas as dependências, por exemplo

sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso

Em seguida, certifique-se de que /lib/modules/$(uname -r)/build aponte para /usr/src/kernels/$(uname -r) .

E verifique novamente se esses dois comandos estão combinando:

$ sudo make -sC /usr/src/kernels/$(uname -r) kernelrelease
2.6.32-642.1.1.el6.x86_64
$ uname -r
2.6.32-642.1.1.el6.x86_64
    
por kenorb 08.06.2016 / 17:10