很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机。
kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程。
一波三折。
环境 :kali linux 2.0 32位
软件 :virtualbox 虚拟机
0x01 bash: /etc/init.d/vboxdrv: 没有那个文件或目录
安装了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. 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.
正确的解决方法如下(默认在root权限下操作)。
先执行下面命令:
- leafpad /etc/apt/sources.list
将软件源替换为官方源:
- # Regular Repositories
- deb http://http.kali.org/kali sana main non-free contrib
- deb http://security.kali.org/kali-security sana/updates main contrib non-free
- # Source Repositories
- deb-src http://http.kali.org/kali sana main non-free contrib
- deb-src http://security.kali.org/kali-security sana/updates main contrib non-free
执行命令:
- apt-get clean
然后执行:
- apt-get update -y && apt-get dist-upgrade -y && apt-get install linux-headers-$(uname -r) -y && apt-get install virtualbox -y
此时会安装默认的virtualbox,命令行下输入下面命令:
- virtualbox
会启动virtualbox,但是弹出了这样的提示,还有一种错误提示,是启动以后rc=-1908的提示(图片在文章首部)。
0x02 安装virtualbox-dkms
接着,继续执行命令:
- apt-get install virtualbox-dkms
安装virtualbox-dkms
若最后出现DKMS: install completed.表示安装完成
此时你发现还是不能解决问题,只是换了一种错误。
接下来进入第三折
0x03 偷天换日
先来把默认的virtualbox卸载掉!嗯,没错!你装了半天的东西卸载掉!
执行命令:
- apt-get remove virtualbox
因为kali linux 2.0是基于Debian Jessie定制的系统。所以去官方网站下载Jessis版本的virtualbox
官方网站:
https://www.virtualbox.org/wiki/Linux_Downloads
或者
直接执行懒人命令进行下载(若有更新的版本请前往官方网站下载):
- wget http://download.virtualbox.org/virtualbox/5.1.2/virtualbox-5.1_5.1.2-108956~Debian~jessie_i386.deb
当前懒人链接下载的是5.1.2的版本 VirtualBox 5.1.2 for Linux
下载完成以后,通过dpkg安装
- dpkg -i virtualbox-5.1_5.1.2-108956~Debian~jessie_i386.deb
然后启动virtualbox,执行命令
- virtualbox
出现一种新的错误:
嗯,没错,这个是说vboxdrv内核模块没有被载入。下面一大堆的也不看了,解决方法如下
0x04 修复内核模块问题
- apt-get install linux-headers-$(uname -r)
问题又出现了,但是出现一定是可以解决的。
看看问题详情:
很显然是缺少依赖
国际惯例执行修复命令来修复依赖问题,执行下面命令:
- apt-get -f install
过程中可能需要输入 y 确认。
然后再次启动virtualbox虚拟机。
执行:
- virtualbox
成功启动!附上一张启动成功的图!