近期升級了ubuntu14.04,還是按之前的方法安裝了virtualbox(guest系統仍然使用升級之前的鏡像文件),可是在啟動guest系統時,總是報錯,提演示樣例如以下:
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. Please reinstall the kernel module by executing '/etc/init.d/vboxdrv setup' as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.
依照提示,應該是vboxdrv未載入,須要又一次安裝vboxdrv。於是我運行了例如以下的兩條命令:
sudo apt-get install dkms 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 ...failed! (modprobe vboxdrv failed. Please use 'dmesg' to find out why)
然后我到dmesg的輸出其中查看,也沒有發現明顯錯誤的地方。 之后就一直卡到這個地方,google了比較長時間,大部分的答案也是依照上面的這個操作(還有就是又一次卸載/安裝dkms和virtualbox以及virtualbox-dkms)。
后來經過一個網友的提醒,可能是gcc版本號過低導致的。由於我本地須要編譯android,所以我手動將gcc的版本號降到了4.4,而非原來的4.8.於是我將gcc版本號又一次改回到4.8,然后繼續運行
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!
然后再執行virtualbox,一切都正常了!