VirtualBox rifiuta di avviare la VM: `La versione della struttura di supporto del dispositivo è cambiata`


17

VirtualBox ha improvvisamente iniziato a rifiutare l'avvio di macchine virtuali esistenti, con questo che appare nel registro:

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

Come risolvere il problema?


Stranamente, ho riscontrato questo problema all'avvio di una macchina ma non delle altre. L'aggiornamento del pacchetto di estensione ha funzionato, ma ho dimenticato di controllare la versione precedente. Forse Windows 10 si basa su alcune funzionalità del nuovo pacchetto di estensione ma Linux no?
trysis,

Risposte:


19

Questo è il comportamento tipico di VirtualBox dopo che è stato aggiornato da Ubuntu mentre era in esecuzione.

Soluzione:

Ora dovrebbe funzionare con qualsiasi VM che ha funzionato in precedenza.

In realtà, il registro contiene questo suggerimento: If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs.


2
Potrebbe non essere necessario riavviare Ubuntu. Dopo l'installazione dell'estensione, avvia la tua VM e prosegui.
KhoPhi,

3
Se è necessario farlo funzionare e non si dispone di Internet, è possibile rimuovere il pacchetto di estensione FIle->Preferences->Extensionse impostare il controller USB su 1.0, che dovrebbe consentire l'avvio (senza estensioni).
rosa

@rrosa: interessante! Potresti postarlo come nuova risposta? Grazie!
Nicolas Raoul,

11

Se hai bisogno di farlo funzionare e non hai internet puoi rimuovere il pacchetto di estensione:

FIle->Preferences->Extensions

E impostare il controller USB su 1.1 nella macchina che si desidera avviare. Selezionalo, quindi:

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

Ciò dovrebbe consentire l'avvio. Non avrai a disposizione estensioni, ma è possibile farlo fino a quando non si ottiene Internet. Quando sei online, segui la risposta di Nicolas Raoul


Mi ha permesso di avviare dopo aver copiato una VM da Ubuntu a un host Windows. Entrambi gli host avevano installato il pacchetto di estensione più aggiornato.
user18099,

0

Ecco come ha funzionato per me dopo l'aggiornamento da Ubuntu 15.10 a Ubuntu 16.04:

  • Disinstallare VirtualBox sudo apt-get remove virtualbox
  • Disinstallare VirtualBox DKMS sudo apt-get remove virtualbox-dkms
  • Scarica l'ultima versione di Virtualbox da https://www.virtualbox.org/wiki/Linux_Downloads
    (AMD64 per Ubuntu 16.04, se sei su 64 bit. Altrimenti, scegli i386)
  • Installa il pacchetto scaricato sudo dpkg -i virtualbox-5.0_...

Ora puoi eseguire VirtualBox (trova in launcher o esegui virtualbox) e tutte le macchine virtuali funzioneranno di nuovo!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.