https://www.virtualbox.org/wiki/Linux_Downloads
RPM-based Linux distributions
1.導入公鑰,這步不是必需的
wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
rpm --import oracle_vbox.asc
2.添加yum源:http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
3.裝dkms,virtualBox
yum install dkms
yum install VirtualBox-4.2.x86_64
安裝完成,創建虛擬機並啓動時遇到錯誤:
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.
於是編譯 VirtualBox 內核[root@indigo kernel]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.5-201.fc19.x86_64 cannot be found at
/lib/modules/3.10.5-201.fc19.x86_64/build or /lib/modules/3.10.5-201.fc19.x86_64/source.
[FAILED]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [FAILED]
(Look at /var/log/vbox-install.log to find out what went wrong)
找不到內核對應的 kernel headers, kernel headers 和 內核版本不一致
[root@indigo kernel]# uname -r
3.10.5-201.fc19.x86_64
[root@indigo kernel]# rpm -qa | grep headers
kernel-headers-3.10.10-200.fc19.x86_64
glibc-headers-2.17-14.fc19.x86_64
search 發現沒有內核對應版本的 kernel headers,考慮升級內核
yum provides kernel
發現有和 kernel-headers 相同版本的 kernel:
kernel-3.10.10-200.fc19.x86_64 : The Linux kernel
Repo : @updates
yum install kernel-3.10.10-200.fc19.x86_64
重啓後二者版本一致:
[apache@indigo ~]$ uname -r
3.10.10-200.fc19.x86_64
[apache@indigo ~]$ rpm -qa | grep kernel-headers
kernel-headers-3.10.10-200.fc19.x86_64
編譯VirtualBox 內核,如果失敗,可能需要再次安裝 dkms :
[root@indigo apache]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS[ OK ]
Starting VirtualBox kernel modules [ OK ]