Câu hỏi 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`


VirtualBox đột nhiên bắt đầu từ chối tung ra 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

Cách khắc phục sự cố?


18
2018-02-09 11:16


gốc


Kỳ lạ thay, tôi đã gặp vấn đề này khi bắt đầu một máy nhưng không phải những người 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ó lẽ Windows 10 dựa vào một số tính năng của gói mở rộng mới hơn nhưng Linux thì không? - trysis


Các câu trả lời:


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

Dung dịch:

  • 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/Downloads (nó là như 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

Nó bây giờ sẽ làm việc với bất kỳ máy ảo mà làm việc trước đó.

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


19
2018-02-09 11:16



Bạn có thể không cần phải khởi động lại Ubuntu. Sau khi cài đặt tiện ích mở rộng, hãy kích hoạt vm của bạn và tiến hành. - Rexford
Nếu bạn cần để có được điều này chạy và bạn không có internet, bạn có thể loại bỏ các gói phần mở rộng từ FIle->Preferences->Extensions và đặ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ó phần mở rộng). - rrosa
@rrosa: Thú vị! Bạn có thể vui lòng đăng bài đó dưới dạng câu trả lời mới không? Cảm ơn! - Nicolas Raoul


Nếu bạn cần để có được điều này chạy và bạn không có internet, bạn có thể loại bỏ các gói phần 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ó phần mở rộng có sẵn, nhưng có thể giúp bạn vượt qua cho đến khi bạn nhận được internet. Khi bạn trực tuyến theo dõi Câu trả lời của Nicolas Raoul


9
2018-02-09 21:35





Đây là cách nó làm việc cho 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 mới nhất của Virtualbox tại https://www.virtualbox.org/wiki/Linux_Downloads
    (AMD64 cho Ubuntu 16.04, nếu bạn đang ở trên 64bit. Nếu không, 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!


0
2018-06-19 15:16