注: 所有操作需要root权限  如果不是root用户在下面所有命令前加sudo

装dkms,kernel-devel,makecache:

yum install dkms
yum install kernel-devel
yum makecache

下载VirtualBox    https://www.virtualbox.org/wiki/Linux_Downloads  并安装:

yum localinstall VirtualBox-4.3-4.3.8_92456_fedora18-.x86_64.rpm -y

安装完成,创建虚拟机并启动时遇到错误:

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@dev-zhanghua zhanghua]# /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 ]

如果出现以下错误, 是找不到内核对应的 kernel headers或内核版本不一致:

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.18.-.fc21.x86_64 cannot be found at
/lib/modules/3.18.-.fc21.x86_64/build or /lib/modules/3.18.-.fc21.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)

查看内核版本:

[root@dev-zhanghua zhanghua]# uname -r
  3.18.7-200.fc21.x86_64

查看已安装的内核版本:

[root@dev-zhanghua zhanghua]# rpm -qa|grep headers
  kernel-headers-3.17.8-200.fc21.x86_64
  glibc-headers-2.20-7.fc21.x86_64

发现版本不一致, 安装 kernel-headers-3.18.7-200.fc21.x86_64

yum install kernel-headers-3.18.7-200.fc21.x86_64

重启后二者版本一致:

[root@dev-zhanghua zhanghua]# uname -r
3.18.-.fc21.x86_64
[root@dev-zhanghua zhanghua]# rpm -qa|grep headers
kernel-headers-3.18.-.fc21.x86_64
glibc-headers-2.20-.fc21.x86_64

再次编译, 结果正常(编译VirtualBox 内核,如果失败,可能需要再次安装 dkms ):

  [root@dev-zhanghua zhanghua]# /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 ]

或者再次检查kernel, kernel-modules, kernel-core, kernel-headers, kernel-devel版本是否与uname -r版本一致

[root@dev-zhanghua kernels]# uname -r
3.17.-.fc21.x86_6
[root@dev-zhanghua kernels]# rpm -qa|grep kernel
kernel-3.17.-.fc21.x86_64
kernel-modules-3.17.-.fc21.x86_64
kernel-headers-3.17.-.fc21.x86_64
kernel-core-3.17.-.fc21.x86_64
kernel-devel-3.17.-.fc21.x86_64

Fedora 21 安装VirtualBox的更多相关文章

  1. Fedora 21 安装 Nvidia 驱动以及失败后的补救方法

    在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...

  2. Fedora 21 安装Infinality

    原文地址: Fedora 21 用infinality美化你的字体 http://blog.csdn.net/element207/article/details/41746683 安装infinal ...

  3. Fedora 21 安装 Budgie Desktop

    最新文章:Virson's Blog Budgie Desktop 是一款自由开源桌面,是 Evolve OS 的默认桌面,Evolve OS 是一款 OpenSUSE 的衍生系统.Budgie De ...

  4. Fedora 21 安装QQ国际版

    首先安装依赖包 sudo yum install freetype.i686 libpng.i686 libgcc.i686 libXau.i686 点击下载wine-2012qq国际版 unzip ...

  5. Fedora 21 安装 Bumblebee with the NVIDIA proprietary drivers

    最新文章:Virson's Blog 参考Fedora Wiki:http://fedoraproject.org/wiki/Bumblebee#Fedora_21

  6. Fedora 21 安装桌面环境

    Mate桌面环境:$ sudo yum install @mate-desktop KDE桌面环境:$ sudo yum install @kde-desktop XFCE桌面环境:$ sudo yu ...

  7. 安装Fedora 21工作站后要做的10件事情

    教程]安装Fedora 21工作站后要做的10件事情 2015-01-07 13:32 CSDN CODE 作者CSDN CODE 1 755 FedoraGNOMELinux Fedora 21已经 ...

  8. 在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

    编译自:http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/作者: Aun Raza原创:LCTT https://li ...

  9. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

随机推荐

  1. [转载]Div和Table的区别

    1:速度和加载方式方面的区别 div 和 table 的差异不是速度,而是加载方式,速度只能是指网络速度,如果速度足够快,是没有差异的: div 的加载方式是即读即加载,遇到 <div> ...

  2. snatch

    https://www.imququ.com/post/use-berserkjs-in-mac.html http://www.one-lab.net/ http://www.oschina.net ...

  3. C# Excel操作类

    /// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> / ...

  4. Maven学习总结(1-10)

    Maven学习总结(1-10) 本文转自 孤傲苍狼 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/xdp-gacl/tag/Maven%E5%AD%A6% ...

  5. jsp的include两种使用方法区别

    指令include是将被包含页面中的代码复制粘贴到主页面中,最后编译形成主页面的类文件(一个). 指令include中file属性的值必须是项目中已存在的文件,否则主页面报异常. 指令include如 ...

  6. jquery 弹出层

    <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">   ...

  7. Hibernate自定查询返回list<?>

    /** * * @param session * :一个会话 * * @param hql * :是需要执行的hql语句, * * @param offset * 设置开始位置 * * @param ...

  8. Away3D 的实体收集器流程2

    带着上次的疑问我们继续探讨Away3D 的渲染流程. 在Away3D中所有的显示对象都是继承Object3D 的我们先看看显示对象和继承关系. Object3D |---ObjectContainer ...

  9. (转)LINUX的端口和服务

    一.端口和服务的关系 端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口.使用netstat命令显示的服务名称也是从这个文件中找的.有人说将这个文件中的相应 ...

  10. 应用层协议实现系列(一)——HTTPserver之仿nginx多进程和多路IO的实现

    近期在尝试自己写一个Httpserver,在粗略研究了nginx的代码之后,决定仿照nginx中的部分设计自己实现一个高并发的HTTPserver,在这里分享给大家. 眼下使用的较多的Httpserv ...