Os módulos do kernel do VirtualBox não correspondem à versão do VirtualBox

31

O VirtualBox 4.2.12 no Ubuntu 12.04 estava funcionando bem até que eu precisasse instalar o convidado adicional. Após sua instalação:

 Failed to open a session for the VM Win 7 exit code 1;

 RTR3Init failed with rc=-1912(rc=1912)

Após a execução dpkg --list | grep virtualbox:

ii  virtualbox                             4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - base binaries
rc  virtualbox-4.2                         4.2.6-82870~Ubuntu~precise              Oracle VM VirtualBox
ii  virtualbox-dkms                        4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-guest-additions             4.1.12-1                                transitional package for virtualbox-guest-additions-iso
ii  virtualbox-guest-additions-iso         4.1.12-1                                guest additions iso image for VirtualBox
ii  virtualbox-qt                          4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - Qt based user interface

Qualquer ajuda é apreciada ...

Obrigado...

CoolEulerProject
fonte
Esclareça: para qual versão do virtualbox e como você instalou as adições de convidados? Qual versão você deseja executar (não há 4.2.12)? O DPKG nos diz que você tem uma versão antiga 4.1.12 instalada, mas 4.2.6 removida. Como você instalou o virtualbox? Nomeie também a arquitetura do host (amd64 i386?).
Takkat 02/02

Respostas:

44

Você parece ter duas versões separadas do VirtualBox instaladas!

Eu recomendaria que você desinstale completamente todas as versões do VirtualBox:

sudo apt-get autoremove 'virtualbox*'

Em seguida, reinstale diretamente do Oracle. Vá para a página de download do VB , role para baixo até "Distribuições Linux baseadas no Debian" e siga as instruções.

Então tente novamente.

By the way, você não precisa para uso grepcom dpkg. Aqui está uma alternativa melhor ao seu comando:

dpkg --list 'virtualbox*'
Paddy Landau
fonte
14

Uma solução menos intrusiva pode ser:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox

Fonte com mais informações.

Rikard
fonte
Graças a essa sugestão, eu pude perceber que sentia muita falta do virtualbox-dkms. Parei o VBManager, instalei o virtualbox-dkms com o apt-get, reiniciei e tudo estava em ordem.
Marco Faustinelli
1
Isso funcionou para mim (e eu não tinha, ou necessidade de instalar, virtualbox-dkms)
Aidan
1
Depois de instalar o 5.2 do Oracle, eu precisava executar dpkg-reconfigure virtualbox-5.2para corrigir isso.
NuSkooler
9

Eu tive esse problema depois de mudar da versão repo do ubuntu para a versão ppa. A causa raiz do problema foi exatamente a declarada na mensagem de erro: incompatibilidade de versão do módulo do kernel. Eu confirmei isso com

modinfo vboxdrv

que voltou como versão 5.0. (Do ppa, eu tenho o vbox 5.1).

Eu desinstalei o virtualbox-dkms, porque a instalação também instalaria a versão vbox normal do ubuntu repo. Mas os módulos do kernel ainda estavam entre os módulos manipulados pelo DKMS (/ lib / modules / (kernelversion) -generic / updates / dkms /), portanto, acho que é por isso que os scripts não funcionariam:

eu tentei

sudo /sbin/vboxconfig

que aparentemente fez tudo como de costume, parando os módulos do kernel, recompilando, recarregando os (supostamente) novos módulos do kernel. Exceto se a verificação da versão do módulo ainda surgisse 5.0.

Então eu tentei

sudo /sbin/rcvboxdrv setup

com o mesmo resultado: nenhuma alteração de versão.

Decidi excluir os módulos porque não gostei do fato de eles estarem na pasta dkms. Para fazer isso, você precisa descarregar os módulos do kernel com

sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv

exclua os arquivos do módulo de / lib / modules / (kernelversion) -generic / updates / dkms. Então corra

sudo /sbin/rcvboxdrv setup

novamente, e voilá, os novos módulos estão na versão 5.1, e não mais no dkms, minhas VMs estão em execução.

Agora que penso nisso, talvez os módulos tenham sido recompilados corretamente em /lib/modules/4.4.0-59-generic/misc/, mas ao carregar os módulos dkms pode ter prioridade. Infelizmente, não tenho mais tempo para investigar isso.

ps .: Se você fizer essa mesma transição da versão repo para o ppa, adicione-se aos vboxusers do grupo (recém-criado) e faça o logout e o logon novamente.

Gábor Kiczenko
fonte
1
Isso foi corrigido para mim no Ubuntu 16.04 depois de mudar para os PPAs da Oracle. Muito obrigado!
Josh
Finalmente! A exclusão do arquivo .so mais antigo fez o truque. Eu reinstalei do apt e tudo parece estar funcionando.
Nulo23 /
1

Isso aconteceu comigo hoje no Debian 8 (Jessie) após um patch do kernel. Corrigi-o da seguinte forma:

  1. su (Eu não uso sudo; se você usa, acrescente sudo às linhas abaixo)
  2. dpkg-reconfigure virtualbox-dkms
  3. dpkg-reconfigure virtualbox
  4. /etc/init.d/virtualbox restart

Agradecemos a Rikard / hg8 pela dica acima nas etapas 2 e 3. No meu caso, é possível que eles não fossem necessários, mas, de qualquer forma, eles se sentiram bem.

Freeb
fonte
Eu tive o mesmo problema ao mover o VB de 5.0 para 5.2. Segui suas etapas e funcionou, mas na etapa 3, altere o virtualbox para virtualbox-5.2, se você o instalou.
TommyDo
1

No meu caso, o virtualbox-dkms versão simplesmente não combinava os pacotes restantes:

$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.0.40-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface

Eu simplesmente o reinstalei:

$ sudo apt purge virtualbox-dkms
$ sudo apt install virtualbox-dkms
$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface
ii  virtualbox-source                             5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module source

e a VM foi iniciada sem erros.

PJ_Finnegan
fonte