开发者社区> 五岳之巅> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

virtualbox 3.0.6安装时/etc/init.d/vboxdrv 错误的解决方法

简介: 在CentOS5下,首先下载virtualBox3.0.6,这是稳定版:http://www.virtualbox.org/wiki/Downloads下,选择For Linux Host,下载的文件名为:VirtualBox-3.0.6_52128_rhel5-1.i386.rpm然后安装->无论如何都安装。
+关注继续查看
在CentOS5下,首先下载virtualBox3.0.6,这是稳定版:
http://www.virtualbox.org/wiki/Downloads下,选择For Linux Host,
下载的文件名为:VirtualBox-3.0.6_52128_rhel5-1.i386.rpm
然后安装->无论如何都安装。就可以了。
当然,你也可以选择yum install virtualbox来安装,更省事。

但是,安装后在应用程序->系统工具->Sun Virtualbox中可以正常打开程序,但新建虚拟机后却不能运行。显示如下错误:

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. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.


执行/etc/init.d/vboxdrv setup后,出现了以下的错误:
Stopping VirtualBox kernel module                          [确定]
Recompiling VirtualBox kernel module                       [失败]
  (Look at /var/log/vbox-install.log to find out what went wrong)

然后,那咱就查看vox-install.log这个文件呗:
cat /var/log/vbox-install.log
Makefile:147: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again。 停止。

执行yum install kernel,升级内核。
开始,我还以为是没有找到系统内核,但加入内核代码后还是一样的错误。后来发现,原因在于我没有安装GCC,从而导致virtualbox不能用本地gcc编译适合它使用的内核模块,于是赶紧yum install gcc。。。。。这是一个漫长的过程:
[root@liukai mldonkey-distrib-3.0.0]# yum install gcc
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package gcc.i386 0:4.1.2-44.el5 set to be updated
--> Processing Dependency: libgomp >= 4.1.2-44.el5 for package: gcc
--> Processing Dependency: libgcc >= 4.1.2-44.el5 for package: gcc
--> Processing Dependency: cpp = 4.1.2-44.el5 for package: gcc
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
--> Running transaction check
---> Package libgomp.i386 0:4.3.2-7.el5 set to be updated
---> Package cpp.i386 0:4.1.2-44.el5 set to be updated
---> Package glibc-devel.i386 0:2.5-34.el5_3.1 set to be updated
--> Processing Dependency: glibc-headers = 2.5-34.el5_3.1 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
--> Processing Dependency: glibc = 2.5-34.el5_3.1 for package: glibc-devel
---> Package libgcc.i386 0:4.1.2-44.el5 set to be updated
--> Running transaction check
---> Package glibc.i686 0:2.5-34.el5_3.1 set to be updated
--> Processing Dependency: glibc-common = 2.5-34.el5_3.1 for package: glibc
---> Package glibc-headers.i386 0:2.5-34.el5_3.1 set to be updated
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Running transaction check
---> Package kernel-headers.i386 0:2.6.18-164.el5 set to be updated
---> Package glibc-common.i386 0:2.5-34.el5_3.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 gcc                     i386       4.1.2-44.el5     base              5.2 M
Updating:
 cpp                     i386       4.1.2-44.el5     base              2.7 M
 glibc                   i686       2.5-34.el5_3.1   updates           5.2 M
 glibc-common            i386       2.5-34.el5_3.1   updates            16 M
 libgcc                  i386       4.1.2-44.el5     base               94 k
Installing for dependencies:
 glibc-devel             i386       2.5-34.el5_3.1   updates           2.0 M
 glibc-headers           i386       2.5-34.el5_3.1   updates           598 k
 kernel-headers          i386       2.6.18-164.el5   updates           993 k
 libgomp                 i386       4.3.2-7.el5      base               67 k

Transaction Summary
=============================================================================
Install      5 Package(s)        
Update       4 Package(s)        
Remove       0 Package(s)        

Total download size: 33 M
Is this ok [y/N]: y
Downloading Packages:
(1/9): libgcc-4.1.2-44.el 100% |=========================|  94 kB    00:06    
(2/9): glibc-devel-2.5-34 100% |=========================| 2.0 MB    09:04    
(3/9): glibc-headers-2.5- 100% |=========================| 598 kB    02:33    
(4/9): gcc-4.1.2-44.el5.i 100% |=========================| 5.2 MB    03:37    
(5/9): cpp-4.1.2-44.el5.i 100% |=========================| 2.7 MB    02:33    
(6/9): libgomp-4.3.2-7.el 100% |=========================|  67 kB    00:04    
(7/9): glibc-common-2.5-3 100% |=========================| 2.7 MB    19:56    
ftp://ftp.chu.edu.tw/Linux/CentOS/5.3/updates/i386/RPMS/glibc-common-2.5-34.el5_3.1.i386.rpm: [Errno 4] Socket Error: timed out
Trying other mirror.
(7/9): glibc-common-2.5-3 100% |=========================|  16 MB    27:40    
(8/9): kernel-headers-2.6 100% |=========================| 993 kB    00:52    
(9/9): glibc-2.5-34.el5_3 100% |=========================| 5.2 MB    04:42    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : libgcc                       ####################### [ 1/13]
  Updating  : glibc-common                 ####################### [ 2/13]
  Updating  : glibc                        ####################### [ 3/13]
  Installing: libgomp                      ####################### [ 4/13]
  Updating  : cpp                          ####################### [ 5/13]
  Installing: kernel-headers               ####################### [ 6/13]
  Installing: glibc-headers                ####################### [ 7/13]
  Installing: glibc-devel                  ####################### [ 8/13]
  Installing: gcc                          ####################### [ 9/13]
  Cleanup   : glibc                        ####################### [10/13]
  Cleanup   : glibc-common                 ####################### [11/13]
  Cleanup   : cpp                          ####################### [12/13]
  Cleanup   : libgcc                       ####################### [13/13]

Installed: gcc.i386 0:4.1.2-44.el5
Dependency Installed: glibc-devel.i386 0:2.5-34.el5_3.1 glibc-headers.i386 0:2.5-34.el5_3.1 kernel-headers.i386 0:2.6.18-164.el5 libgomp.i386 0:4.3.2-7.el5
Updated: cpp.i386 0:4.1.2-44.el5 glibc.i686 0:2.5-34.el5_3.1 glibc-common.i386 0:2.5-34.el5_3.1 libgcc.i386 0:4.1.2-44.el5
Complete!
You have new mail in /var/spool/mail/root

然后再次重启虚拟机就可以了。如果还是不行,那就先用rpm -e卸载了刚装的virtualbox,然后再安装下,就可以了。

此外,如果你的系统是ubuntu的可以这样解决:
sudo aptitude update
sudo aptitude install dkms
sudo /etc/init.d/vboxdrv setup


现在总结下:
出现Kernel driver not installed (rc=-1908)错误的原因是,有编译成功供virtualbox使用的内核模块,要编译出这个模块,需要内核源代码,查看/usr/src可以知道;其次是需要编译器,linux下就是gcc,这两个都满足了,再执行
[root@liukai ~]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel module                          [确定]
Recompiling VirtualBox kernel module                       [确定]
Starting VirtualBox kernel module                          [确定]
就可以了。
而这个过程,希望大家都用yum来完成,以减少因依赖产成的错误。
注意,需要看清楚你的内核和升级的是不是同一个,如不是还需要把old卸载,然后reboot,用新内核再vboxdrv setup。

此外,如果碰到新版本的VirtualBox,比如3.1.8,或者使用了CentOS5.5系统。安原来的安装过程会出现下述错误:
“Trying to register the VirtualBox kernel modules using DKMS”
或者
“unable to find the sources of your current Linux kernel”
解决方法是:
yum install kernel-devel-i686(i686使用uname -a得知)
随后,export KERN_DIR=/usr/src/kernels/2.6.18-164.15.1.el5-i686/(2.6.18-164.15.1.el5-i686可查看自己机器就具体位置而知)
最后,/etc/init.d/vboxdrv setup即可。

本文原创,请转载的同志注明出处为五岳之巅博客,谢谢。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何在ubuntu上安装virtualbox的driver module vboxdrv
如何在ubuntu上安装virtualbox的driver module vboxdrv
32 0
Derek解读Bytom源码-P2P网络 upnp端口映射
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本章介绍bytom代码P2P网络中upnp端口映射 作者使用MacOS操作系统,其他平台也大同小异 Golang Version: 1.8 UPNP介绍 UPNP(Universal Plug and Play)通用即插即用。
1392 0
Fedora升级到4.3.4内核后virtualbox执行/sbin/rcvboxdrv setup报Bad argument setup
[t@bjb0541 ~]$ uname -a Linux bjb0541 4.3.4-300.fc23.x86_64 #1 SMP Mon Jan 25 13:39:23 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux          升级内核...
878 0
使用virtualbox安装android 4.0 (ICS)虚拟机,并使用adb连接虚拟机进行应用开发的方法
1.下载此android镜像文件,地址已失效,请使用迅雷下载http://android-x86.googlecode.com/files/android-x86-4.0-RC1-s103t.iso 2.使用Oracle VM VirtualBox ,版本随意. 3.新建虚机时使用linux other版本 4.网络连接使用桥接,在高级中,请将控制芯片选为"PCnet-FAST III (xxxx)",否则android不认网卡。
1443 0
+关注
262
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载