Como corrigir a atualização do VirtualBox dos repositórios do Ubuntu para o VirtualBox fornecido pela Oracle

12 de dezembro de 2019

Erro de driver do VirtualBox

Quando eu atualizei para o Ubuntu 19.10 instalei o VirtualBox dos repositórios do Ubuntu, pois era a mesma versão fornecida pela Oracle. Mas quando eu atualizei para o VirtualBox 6.1 baixado do site do Oracle VirtualBox, percebi que não conseguia mais iniciar nenhuma máquina virtual, recebendo um erro.

Este artigo explica como atualizar corretamente para o VirtualBox baixado do Oracle (seja baixando do site VirtualBox ou instalado a partir do repositório Oracle VirtualBox) quando você tiver a versão dos repositórios do Ubuntu VirtualBox instalado em seu sistema. Isso também se aplica àqueles que usam distribuições Linux baseadas no Ubuntu, como Linux Mint, elementary OS e Pop!_OS.

O erro mostrado em uma caixa de diálogo ao atualizar dos repositórios do Ubuntu VirtualBox para o VirtualBox fornecido pela Oracle:

The virtual machine \'Your machine name\' has terminated unexpectedly during startup with exit code 1 (0x1).

Result Code: 
NS_ERROR_FAILURE (0x80004005)
Component: 
MachineWrap
Interface: 
IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}

Mais uma caixa de diálogo é aberta depois disso, mostrando:

TR3InitEx failed with rc=-1912 (rc=-1912)
The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing
\'/sbin/vboxconfig\'
may correct this. Make sure that you are not mixing builds of VirtualBox from different sources.
where: supR3HardenedMainInitRuntime what: 4 VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn\'t match the version of the user.

Executar o comando sudo /sbin/vboxconfig sugerido não resolve esse problema.

Mas por que instalar o VirtualBox fornecido pela Oracle em vez de um dos repositórios do Ubuntu? No meu caso, quero poder usar os recursos mais recentes.

O Ubuntu não fornece atualizações de versão principais para o VirtualBox, então os usuários ficam presos com a versão do VirtualBox lançada quando a versão do Ubuntu que estavam usando foi lançada. Por exemplo, Ubuntu 18.04 e Linux Mint 19.* têm VirtualBox 5.2 em seus repositórios, enquanto Ubuntu 19.10 tem VirtualBox 6.0. A versão mais recente do VirtualBox é 6.1, portanto, só estará disponível por meio dos repositórios do Ubuntu para usuários do Ubuntu 20.04.

Então, por que isso acontece e como consertar?

Ao instalar o VirtualBox a partir dos repositórios do Ubuntu, você notará que um total de 3 pacotes estão realmente instalados:

$ sudo apt install virtualbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  virtualbox virtualbox-dkms virtualbox-qt
...

Se você adicionar o repositório Oracle VirtualBox e instalar o VirtualBox 6.1 mais recente, dois desses pacotes serão removidos, mas um será mantido no sistema:

$ sudo apt install virtualbox-6.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  virtualbox virtualbox-qt
The following NEW packages will be installed:
  virtualbox-6.1
...

Portanto, esse problema ocorre porque o VirtualBox fornecido pela Oracle não remove o pacote virtualbox-dkms no Ubuntu/Linux Mint. A correção é remover virtualbox-dkms e, em seguida, executar /sbin/vboxconfig como root:

Comandos para usar no terminal

sudo apt remove virtualbox-dkms

sudo /sbin/vboxconfig

VirtualBox instalado a partir do repositório Oracle agora deve funcionar corretamente no Ubuntu, Linux Mint, Pop! OS, elementaryOS ou qualquer distribuição Linux baseada no Ubuntu que você está usando.

Relacionado: Instalação do VirtualBox Guest Additions no Ubuntu, Linux Mint, Debian, Fedora e openSUSE [How-To]

Se você ainda está vendo um erro, mas um diferente que se parece com este:

Implementation of the USB 2.0 controller not found!
Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, either install the \'Oracle VM VirtualBox Extension Pack\' or disable USB 2.0 support in the VM settings.
Note! This error could also mean that an incompatible version of the \'Oracle VM VirtualBox Extension Pack\' is installed (VERR_NOT_FOUND).

Result Code: 
NS_ERROR_FAILURE (0x80004005)
Component: 
ConsoleWrap
Interface: 
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Isso significa que a máquina que você tentou executar foi instalada com suporte ao VirtualBox Extension Pack, portanto, ela precisa disso para ser executada. Vá para página de downloads do VirtualBox, pegue o pacote de extensão VirtualBox Oracle VM VirtualBox, clique duas vezes no arquivo do pacote de extensão (que tem a extensão vbox-extpack) e ele deve abrir com o VirtualBox, permitindo que você instale. A máquina funcionará conforme o esperado.

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog
Propaganda
Propaganda