如何解決 VirtualBox 中「安裝的支援驅動程式與使用者版本不符」的問題,以便實例可以再次啟動?

如何解決 VirtualBox 中「安裝的支援驅動程式與使用者版本不符」的問題,以便實例可以再次啟動?

在 VirtualBox 中啟動實例失敗的原因是:

RTR3InitEx failed with rc=-1912 (rc=-1912)

where: supR3HardenedMainInitRuntime
what:  4
VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn't match the version of the user.

實例啟動成功5.0.2.102096但失敗5.0.4.102546


嘗試解決問題

根據本次問答本次問答該問題可以透過重新安裝來解決5.0.4.102546

目前的結果

重裝後問題依舊

問題

如何解決這個問題?

答案1

若要刪除 virtualbox,請執行:

sudo apt autoremove --purge virtualbox*

現在透過以下方式確保您的系統上沒有安裝其他版本:

dpkg -l virtualbox* | grep ^i

你不應該得到任何輸出。

sources.list然後從您的目錄中刪除所有相關的 PPA sources.list.d。前任:

mkdir ~/apt-tmp
sudo mv /etc/apt/sources.list.d/* ~/apt-tmp

確保除了官方儲存庫來源之外沒有任何內容

/etc/sources.list.

並更新您的來源:

sudo apt update

現在我們可以搜尋查看哪些版本可以安裝:

apt-cache madison virtualbox | grep -iv sources

它產生這樣的輸出:

virtualbox | 5.1.38-dfsg-0ubuntu1.16.04.1 | http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages

virtualbox | 5.0.18-dfsg-2build1 | http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages

然後安裝上面提到的最新版本:

sudo apt install virtualbox=5.1.38-dfsg-0ubuntu1.16.04.1

另外sudo apt install virtualbox,也可以,但我會使用前一個指令來確保安裝我想要的版本。

最後,檢查是否安裝了正確的版本。

從命令列:

dpkg -l virtualbox* | grep ^i

這將輸出:

ii  virtualbox                     5.1.38-dfsg-0ubuntu1.16.04.1 amd64        x86 
virtualization solution - base binaries
ii  virtualbox-dkms                5.1.38-dfsg-0ubuntu1.16.04.1 all          x86 
virtualization solution - kernel module sources for dkms
ii  virtualbox-qt                  5.1.38-dfsg-0ubuntu1.16.04.1 amd64        x86 
virtualization solution - Qt based user interface

然後你也可以運行:

sudo apt upgrade

萬一。

答案2

在Windows上,我終於成功解決了這個問題。

  1. 使用控制面板卸載 VirtualBox“程式及功能“ 工具。請勿重新啟動
  2. 手動檢查以下資料夾,如果它們仍然存在,請將其刪除:
    • C:\Program Files\Oracle\VirtualBox
    • C:\Program Files (x86)\Oracle\VirtualBox

注意:這些資料夾可能位於不同的位置,具體取決於您的安裝位置甲骨文虛擬盒(如果您更改了安裝目錄,請確保檢查正確的資料夾)。

  1. %使用者資料%目錄(例如:C:\users\me)並刪除以下資料夾(如果您想稍後嘗試重新匯入虛擬機,請不要忘記備份這些檔案):

    • .VirtualBox
    • VirtualBox VMs
  2. 轉到regeditWIN+R並輸入regedit)並點擊Computer最頂部的 。

    • 然後點擊“編輯>搜尋”或點擊CTRL+F。鍵入virtualbox並勾選全部複選框。
    • 找到問題的關鍵Oracle > VirtualBox。它應該在Computer\HKEY_CURRENT_USER\SOFTWARE\Oracle\VirtualBox.移除VirtualBox鑰匙。
  3. 重要提示:立即重新啟動。重啟你的電腦 !

  4. 安裝 VirtualBox 並享受吧!

答案3

問題中沒有提到 Linux,但我的問題是 VirtualBox 5.2 中的逐字問題,問題是在 Ubuntu 16.04 中發生的。同樣,使用正確的文件卸載重新安裝也會導致相同的錯誤訊息。這個問題與 Windows 問題類似,但就我而言,dkms 持有一些與最新 Virtual Box 版本衝突的舊模組。

我的解決方案(根據您的版本進行更改):

sudo apt-get purge virtualbox-5.2
sudo dpkg -P virtualbox-5.2
sudo apt-get autoremove 

我包含了 apt-get purge,以防萬一您在解決另一個問題時從 apt-get 安裝。

在 autoremove 命令中,您應該會看到 dkms 更新刪除了多個較舊的 virtualbox 版本模組。啊哈,對我們問題根源的引用,每個 virtualbox 錯誤的模組版本錯誤...:

vboxpci.ko:
 - Uninstallation
   - Deleting from: /lib/modules/4.4.0-112-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 5.0.40
completely from the DKMS tree.
------------------------------

重新啟動以獲得良好的效果

sudo reboot now

然後,下載並安裝 virtualbox 和擴充功能的匹配版本(更新您目前的版本): https://www.virtualbox.org/wiki/Linux_Downloads

sudo dpkg -i ~/Downloads/virtualbox-5.2_5.2.6-120293~Ubuntu~xenial_amd64.deb
sudo VBoxManage extpack install ~/Downloads/Oracle_VM_VirtualBox_Extension_Pack-5.2.6-120293.vbox-extpack

如果第一次安裝出現 libsdll 錯誤,請嘗試:

sudo apt-get -f install

希望您應該有一個可以工作的 VirtualBox,或者可以繼續處理新錯誤(VT-X 崩潰等...)。

(請不要因為是殭屍線程而發火,我是透過搜尋找到這裡的,並且出現了相同的症狀。認為其他人將來也可能會使用此資訊。)

答案4

當安裝的擴充包的版本與虛擬盒版本不符時,也會出現此錯誤。在更新虛擬盒後,或者如果您將擴充包與便攜式虛擬盒一起使用並移動到另一台電腦(這顯然違反了便攜式虛擬盒的目的),可能會發生這種情況。要解決此問題,您必須安裝或更新適合您目前虛擬盒版本的擴充包。之後您需要重新啟動PC(重新啟動虛擬盒也可能就足夠了,但我沒有測試)。

相關內容