Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu 13.10 VirtualBox 無法啟動解決方案:Kernel Driver 錯誤、DKMS 重編譯、Kernel Headers 安裝

編輯:關於 Linux

Ubuntu 13.10 升級核心後,VirtualBox 核心模組 (vboxdrv) 與新核心版本不匹配,導致啟動虛擬機報錯 Kernel driver not installed (rc=-1908)。解決核心步驟:安裝對應版本 linux-headers → 重新編譯 DKMS 模組 → 註冊核心模組。

錯誤現象

Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv.
Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.

環境資訊

Ubuntu Desktop 13.10
VirtualBox 4.3
Kernel 3.11.0-17-generic

完整解決流程

步驟 1:嘗試標準重設 (通常失敗)

sudo /etc/init.d/vboxdrv setup
# 報錯:unable to find the sources of your current Linux kernel
# 建議查看 /var/log/vbox-install.log

步驟 2:檢查 DKMS 狀態

sudo apt-get install dkms
# 提示已是最新版,非 DKMS 本身問題

步驟 3:確認當前核心版本

uname -r
# 輸出:3.11.0-17-generic

步驟 4:安裝對應核心頭文件 (關鍵步驟)

sudo apt-get install linux-headers-$(uname -r)
# 或明確指定版本
sudo apt-get install linux-headers-3.11.0-17-generic

原理:VirtualBox 核心模組編譯需核心頭文件 (kernel headers) 獲取資料結構定義、函式宣告。核心升級後若未同步安裝 headers,DKMS 編譯會失敗。

步驟 5:重新編譯並註冊核心模組

sudo /etc/init.d/vboxdrv setup
# 輸出:
# Stopping VirtualBox kernel modules ... done.
# Uninstalling old VirtualBox DKMS kernel modules ... done.
# Trying to register the VirtualBox kernel modules using DKMS ... done.
# Starting VirtualBox kernel modules ... done.

步驟 6:驗證虛擬機啟動

GUI 點擊啟動虛擬機,應正常進入客體 OS。

根因分析

  • Ubuntu 核心升級 (如 apt-get dist-upgrade) 會安裝新核心但不自動安裝對應 headers
  • DKMS 機制偵測到核心版本變更,嘗試重編譯 vboxdrv 但找不到 headers
  • 舊核心模組在新核心中無法載入,/dev/vboxdrv 裝置節點缺失

預防措施

# 設定核心升級自動安裝 headers (需 apt 2.0+)
echo 'APT::Install-Recommends "true";' | sudo tee /etc/apt/apt.conf.d/99install-recommends

# 或手動鎖定核心版本避免意外升級
sudo apt-mark hold linux-image-generic linux-headers-generic

適用版本範圍

此解決方案適用於所有 Ubuntu 及衍生版 (Mint, Pop!_OS 等) 核心升級後 VirtualBox 失效的情況,核心版本不限。

總結

核心指令組合:

sudo apt-get install linux-headers-$(uname -r)
sudo /etc/init.d/vboxdrv setup

兩行指令解決 90% 核心升級導致的 VirtualBox 啟動失敗問題。

Copyright © Windows教程網 All Rights Reserved