VirtualBox 與 Linux kernel modules 不合 修復

VirtualBox 突然發現沒辦法使用, 出現下述的錯誤訊息:(我目前用的是 Debian Linux Testing)

The version of the VirtualBox kernel modules and the version of VirtualBox
application are not matching. You can correct this by either installing the
correct virtualbox-ose-modules package (if available) through apt-get or by
building it manually with: module-assistant auto-install virtualbox-ose
(VERR_VM_DRIVER_VERSION_MISMATCH).

結果代碼:
NS_ERROR_FAILURE (0x80004005)
成分:
Console
介面:
IConsole {e3c6d4a1-a935-47ca-b16d-f9e9c496e53e}

由錯誤訊息中, 有說明要怎麼解決, 就依照上述的步驟來做做看~ (註: 解法只要看粗體字部份, 2個步驟就可以解決, 其它都只是說明, 可跳過~)

解法

  1. module-assistant auto-install virtualbox-ose # 會自動將 virtualbox source, kernel header source 抓下來, 重新編譯.
  2. 編譯完會自動安裝, 並出現下述訊息:

    dpkg -Ei /usr/src/virtualbox-ose-modules-2.6.26-1-686_2.1.4-dfsg-1_i386.deb
    dpkg - 警告:即將把 virtualbox-ose-modules-2.6.26-1-686 從 2.6.26+1.6.6-dfsg-6 降級到 2.1.4-dfsg-1。
    (正在讀取資料庫 ... 系統目前共安裝了 132959 個檔案和目錄。)
    正準備替換 virtualbox-ose-modules-2.6.26-1-686 2.6.26+1.6.6-dfsg-6(使用
    .../virtualbox-ose-modules-2.6.26-1-686_2.1.4-dfsg-1_i386.deb)...
    正在解開替換的套件檔 virtualbox-ose-modules-2.6.26-1-686 ...
    正在設定 virtualbox-ose-modules-2.6.26-1-686 (2.1.4-dfsg-1) ...

  3. 上述看 virtualbox-ose-modules 2.6.26+1.6.6-dfsg-6 降級到 2.1.4-dfsg-1, 再來機器重開即可生效.
  4. 不過, 重開機後, virtualbox-ose-modules 還是會叫我升級, 一升上去又掛了(所以上述步驟再執行一次). XD
  5. 所以, 暫時沒新版的修正出來前, 先限制 virtualbox-ose-modules-2.6.26-1-686 2.1.4* 不讓他升級. (依照下述步驟限制)

設定(限制 apt 升級條件)

  • vim /etc/apt/preferences

    Package: virtualbox-ose-modules-2.6.26-1-686
    Pin: version 2.1.4*
    Pin-Priority: 800

  • 限制只能安裝 virtualbox-ose-modules-2.6.26-1-686 的 2.1.4* 版, 這樣就不會一直要升級上去. (如果之後要升級, rm /etc/apt/preferences 即可)

相關網頁 / 資訊

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈VirtualBox 與 Linux kernel modules 不合 修復〉中有 4 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料