O VirtualBox se recusa a iniciar a VM: `A versão da estrutura auxiliar do dispositivo mudou`

17

De repente, o VirtualBox começou a recusar o lançamento de VMs existentes, com isso aparecendo no log:

00:00:03.946244 HDA: Reset
00:00:03.946359 AssertLogRel /mnt/tinderbox/extpacks-5.0/src/VBox/Devices/USB/DevEHCI.cpp(4955) int ehciR3Construct(PDMDEVINS*, int, CFGMNODE*): PDM_VERSION_ARE_COMPATIBLE((pDevIns)->pHlpR3->u32Version, PDM_DEVHLPR3_VERSION)
00:00:03.946378 DevHlp=0xffe700f1  mine=0xffe700e1
00:00:03.946407 PDM: Failed to construct 'usb-ehci'/0! VERR_PDM_DEVHLPR3_VERSION_MISMATCH (-2871) - The device helper structure version has changed.
00:00:03.946421 If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs. If this error persists, try re-installing VirtualBox.
00:00:04.037170 NAT: zone(nm:mbuf_cluster, used:0)
00:00:04.037303 NAT: zone(nm:mbuf_packet, used:0)
00:00:04.037317 NAT: zone(nm:mbuf, used:0)
00:00:04.037328 NAT: zone(nm:mbuf_jumbo_pagesize, used:0)
00:00:04.037422 NAT: zone(nm:mbuf_jumbo_9k, used:0)
00:00:04.037488 NAT: zone(nm:mbuf_jumbo_16k, used:0)
00:00:04.037530 NAT: zone(nm:mbuf_ext_refcnt, used:0)
00:00:04.039388 VMSetError: /build/virtualbox-JETMa8/virtualbox-5.0.14-dfsg/src/VBox/VMM/VMMR3/VM.cpp(365) int VMR3Create(uint32_t, PCVMM2USERMETHODS, PFNVMATERROR, void*, PFNCFGMCONSTRUCTOR, void*, VM**, UVM**); rc=VERR_PDM_DEVHLPR3_VERSION_MISMATCH
00:00:04.039394 VMSetError: The device helper structure version has changed.
00:00:04.039394 If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs. If this error persists, try re-installing VirtualBox.
00:00:04.039582 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={The device helper structure version has changed.
00:00:04.039587 If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs. If this error persists, try re-installing VirtualBox. (VERR_PDM_DEVHLPR3_VERSION_MISMATCH)}, preserve=false aResultDetail=0
00:00:04.116659 Console: Machine state changed to 'PoweredOff'
00:00:04.338867 Power up failed (vrc=VERR_PDM_DEVHLPR3_VERSION_MISMATCH, rc=NS_ERROR_FAILURE (0X80004005))
00:00:04.349471 GUI: UIMachineViewNormal::resendSizeHint: Restoring guest size-hint for screen 0 to 2789x1563
00:00:04.349542 ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={7303a66d-433b-25a4-f9a8-fcadf87e0c2a} aComponent={DisplayWrap} aText={The console is not powered up}, preserve=false aResultDetail=0

Como resolver o problema?

Nicolas Raoul
fonte
Estranhamente, eu tive esse problema ao iniciar uma máquina, mas não as outras. A atualização do pacote de extensão ainda funcionou, mas eu esqueci de verificar a versão antiga. Talvez o Windows 10 dependa de alguns recursos do pacote de extensão mais recente, mas o Linux não?
trysis

Respostas:

19

Esse é um comportamento típico do VirtualBox depois que ele foi atualizado pelo Ubuntu enquanto estava em execução.

Solução:

Agora, ele deve funcionar com qualquer VM que funcionou anteriormente.

Na verdade, o registo contém esta mesma dica: If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs.

Nicolas Raoul
fonte
2
Talvez você não precise reiniciar o Ubuntu. Após a instalação da extensão, dispare seu vm e continue.
KhoPhi
3
Se você precisar fazer isso funcionar e não tiver Internet, remova o pacote de extensão FIle->Preferences->Extensionse defina o controlador USB como 1.0, o que deve permitir a inicialização (sem extensões).
Rrsaa
@rrosa: Interessante! Você poderia postar isso como uma nova resposta? Obrigado!
Nicolas Raoul
11

Se você precisar fazer isso funcionar e não tiver Internet, remova o pacote de extensão:

FIle->Preferences->Extensions

E defina o controlador USB como 1.1 na máquina que deseja inicializar. Selecione e, em seguida:

Machine->Settings->USB->Set it to 1.1 (or disable it)

Isso deve permitir que você inicialize. Você não terá extensões disponíveis, mas poderá levá-lo até a Internet. Ao ficar on-line, siga a resposta de Nicolas Raoul '

rrosa
fonte
Permitiu-me inicializar após copiar uma VM do Ubuntu para um host do Windows. Ambos os hosts tinham o pacote de extensão mais atual instalado.
user18099
0

Foi assim que funcionou para mim após a atualização do Ubuntu 15.10 para o Ubuntu 16.04:

  • Desinstalar o VirtualBox sudo apt-get remove virtualbox
  • Desinstalar o VirtualBox DKMS sudo apt-get remove virtualbox-dkms
  • Faça o download da versão mais recente do Virtualbox em https://www.virtualbox.org/wiki/Linux_Downloads
    (AMD64 para Ubuntu 16.04, se você estiver em 64 bits. Caso contrário, escolha i386)
  • Instale o pacote baixado sudo dpkg -i virtualbox-5.0_...

Agora você pode executar o VirtualBox (encontrar no iniciador ou executar virtualbox) e todas as máquinas virtuais estarão funcionando novamente!

Finlandês
fonte