Fedora 22 中的 kmod-VirtualBox 版本不匹配
遵循本指南後,我安裝了 VirtualBox 5 並在 Fedora 中工作了大約 5-6 週,沒有任何問題。
但是,在我
dnf update
昨天執行之後,它停止了工作。VirtualBox 本身會啟動,但是當我嘗試啟動 VM 時,我得到的是:
虛擬機“MyVM”在啟動期間意外終止,退出程式碼為 1 (0x1)。
結果程式碼:NS_ERROR_FAILURE (0x80004005)
組件:機器
介面:IMachine
有一些關於向下鑽取的進一步說明:
未安裝核心驅動程序 (rc= -1908)
未載入 VirtualBox Linux 核心驅動程序 (kvboxdvr)…所以這是我到目前為止沒有運氣的嘗試:
1.檢查了我安裝的內容:
$ dnf list installed | grep kmod-VirtualBox* akmod-VirtualBox.x86_64 4.3.30-1.fc22 @rpmfusion-free-updates kmod-VirtualBox-4.1.10-200.fc22.x86_64.x86_64 kmod-VirtualBox-4.1.7-200.fc22.x86_64.x86_64
2.檢查了回購中可用的內容:
$ dnf provides kmod-VirtualBox Last metadata expiration check performed 0:03:30 ago on Sun Oct 18 10:37:47 2015. kmod-VirtualBox-4.3.30-1.fc22.x86_64 : Metapackage which tracks in VirtualBox kernel module for newest kernel Repo : rpmfusion-free-updates kmod-VirtualBox-4.3.28-1.fc22.x86_64 : Metapackage which tracks in VirtualBox kernel module for newest kernel Repo : rpmfusion-free
3.嘗試安裝更新的kmod:
$ sudo dnf install --allowerasing kmod-VirtualBox-4.3.30-1.fc22.x86_64 Last metadata expiration check performed 1:43:30 ago on Sun Oct 18 09:05:58 2015. Error: nothing provides kernel-uname-r = 4.0.8-300.fc22.x86_64 needed by kmod-VirtualBox-4.0.8-300.fc22.x86_64-4.3.30-1.fc22.x86_64
4.執行 uname 檢查目前版本:
$ uname -r 4.2.3-200.fc22.x86_64
無論我嘗試什麼,我都會遇到同樣的錯誤,即沒有任何東西提供過時的核心。據我了解不應該。
我跑了一個
dnf clean all
,dnf clean metadata
但它沒有幫助。我也已經執行了dnf update virtualbox
它,它告訴我我安裝了最新版本。任何想法如何解決這個問題?注意:我也嘗試過跑步
dnf update kmod-VirtualBox
,但沒有任何反應,它告訴我“無事可做”。
這種情況時有發生,因為目前的 kmod 包有時還沒有在儲存庫中。
您不必完全重新安裝 VirtualBox,但可能需要解除安裝 kmod 軟體包:
# dnf remove kmod-VirtualBox-*
但是,您不想解除安裝 akmod 包,因為這是您的選擇。如果您安裝了所需的 akmod 軟體包(並且沒有預建構的 kmod 軟體包),您的系統將在必要時建構 VirtualBox 核心模組(在核心更新之後),因此這應該始終有效 - 不像預建構的 kmod 軟體包,它們是並不總是可用的。
安裝/更新建構所需的 akmod 包和核心標頭檔:
# dnf install akmod-VirtualBox kernel-devel
您可以手動啟動建構過程:
# akmods
您可能必須強制重建(見下文):
# akmods --force
模組服務不應再列印任何錯誤消息:
# systemctl restart systemd-modules-load
VirtualBox 現在應該能夠啟動 vms,即使在核心更新之後也是如此。
如果仍然安裝了舊的 kmod 軟體包,建構過程可能會失敗。在這種情況下,將它們一一解除安裝並
akmods
再次執行。更新:
這個問題仍然是相關的,即使在 Fedora 25 上。請注意,akmods 可能必須使用
--force
如上所示的選項執行,尤其是在手動執行建構時。如果您忘記了這個選項,它可能只是顯示警告而不做任何事情(錯誤 4485):Ignoring VirtualBox-kmod as it failed earlier [WARNING]
這也可能是為什麼 VirtualBox 在核心更新和隨後的重新啟動後有時不會啟動任何 VM(“未安裝核心驅動程序”)的原因,即使安裝了所有必需的軟體包。有時,akmods 工具會抱怨先前的建構嘗試不成功,並且只是顯示警告而不是開始新的建構。如果在重新啟動期間發生這種情況,當應自動重建 VirtualBox 模組時,您稍後會在系統日誌中找到此警告,您必須使用該
--force
選項手動執行 akmods,以便它實際啟動建構過程應該在重新啟動期間執行。請參閱錯誤 4485。