VirtualBox từ chối khởi động VM: `Phiên bản cấu trúc trình trợ giúp thiết bị đã thay đổi`


17

VirtualBox đột nhiên bắt đầu từ chối khởi chạy các máy ảo hiện có, với điều này xuất hiện trong nhật ký:

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

Làm thế nào để khắc phục vấn đề?


Thật kỳ lạ, tôi gặp vấn đề này khi khởi động một máy nhưng không phải máy khác. Nâng cấp gói mở rộng vẫn hoạt động, nhưng tôi quên kiểm tra phiên bản cũ. Có thể Windows 10 dựa vào một số tính năng của gói tiện ích mở rộng mới hơn nhưng Linux thì không?
phân ly

Câu trả lời:


19

Đây là hành vi điển hình của VirtualBox sau khi nó được nâng cấp bởi Ubuntu khi nó đang chạy.

Giải pháp:

  • Dừng VirtualBox
  • Tải xuống gói tiện ích mở rộng mới nhất tại https://www.virtualbox.org/wiki/D Downloads (nó giống nhau cho tất cả các nền tảng)
  • Cài đặt tiện ích mở rộng
  • Khởi động lại Ubuntu

Bây giờ nó sẽ hoạt động với bất kỳ VM nào hoạt động trước đó.

Trên thực tế, nhật ký chứa chính mẹo này : If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs.


2
Bạn có thể không cần phải khởi động lại Ubuntu. Sau khi mở rộng cài đặt, kích hoạt vm của bạn và sẽ đi.
KhoPhi

3
Nếu bạn cần chạy cái này và bạn không có internet, bạn có thể gỡ bỏ gói tiện ích mở rộng FIle->Preferences->Extensionsvà đặt bộ điều khiển USB thành 1.0, điều đó sẽ cho phép bạn khởi động (không có tiện ích mở rộng).
rrosa

@rrosa: Thú vị! Bạn có thể vui lòng gửi nó như là một câu trả lời mới? Cảm ơn!
Nicolas Raoul

11

Nếu bạn cần chạy chương trình này và bạn không có internet, bạn có thể xóa gói tiện ích mở rộng:

FIle->Preferences->Extensions

Và đặt bộ điều khiển USB thành 1.1 trong máy bạn muốn khởi động. Chọn nó, sau đó:

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

Điều đó sẽ cho phép bạn khởi động. Bạn sẽ không có tiện ích mở rộng, nhưng có thể giúp bạn hoàn thành cho đến khi bạn nhận được internet. Khi bạn trực tuyến, hãy làm theo câu trả lời của Nicolas Raoul


Cho phép tôi khởi động sau khi sao chép VM từ Ubuntu sang máy chủ Windows. Cả hai máy chủ đã cài đặt gói Tiện ích mở rộng mới nhất.
user18099

0

Đây là cách nó hoạt động với tôi sau khi nâng cấp từ Ubuntu 15.10 lên Ubuntu 16.04:

  • Gỡ cài đặt VirtualBox sudo apt-get remove virtualbox
  • Gỡ cài đặt VirtualBox DKMS sudo apt-get remove virtualbox-dkms
  • Tải xuống phiên bản Virtualbox mới nhất tại https://www.virtualbox.org/wiki/Linux_Doads
    (AMD64 cho Ubuntu 16.04, nếu bạn đang ở trên 64 bit. Nếu không, hãy chọn i386)
  • Cài đặt gói đã tải xuống sudo dpkg -i virtualbox-5.0_...

Bây giờ bạn có thể chạy VirtualBox (tìm trong launcher hoặc chạy virtualbox) và tất cả các máy ảo sẽ hoạt động trở lại!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.