最近由于需要捣鼓了一下vbox虚拟机,在安装和使用虚拟机的过程中遇到了较多的问题,不过万幸是一一解决了。
注意:
- 软件下载
下载特定版本的软件 ubuntu14.04 下载对应版本的deb 安装包文件
如果不知道ubuntu的版本代号,通过lsb_release -a
查询Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
- 驱动安装
ubuntu 下Virtual Box安装完成后,在选定完成虚拟镜像后,特别容易出现/sbin/vboxconfig 的问题
如果直接使用/sbin/vboxconfig
可以安装成功,那么就可以直接安装vbox的驱动。如果安装失败,特别是出现如下状况,需要你查看dmesg
来查看更多信息
dmesg的日志如下
[ 626.729373] vboxdrv: version magic '3.13.0-163-generic SMP mod_unload modversions ' should be '3.13.0-163-generic SMP mod_unload modversions retpoline '
通过日志,使用/sbin/vboxconfig
编译出的版本和原来的版本不对? 那问题出现在哪?
编译器问题,我的ubuntu的在安装完成后,后面升级了gcc,ubuntu使用的是默认版本的gcc编译,不同版本的gcc编译出的驱动可能会存在细微的差异.
通常这种问题,核心问题就是使用的VirtualBox使用gcc编译出的驱动与内核不匹配,只需要两者的gcc版本匹配,那么就可以正常使用,那么两种解决方案- 如下所示配置成与当前内核匹配的gcc版本
- 卸载当前的内核版本,然后使用系统默认的gcc版本
- 配置gcc
- 可以通过命令
cat /proc/version
查看当前内核版本编译时使用的gcc版本,然后配置对应版本的gcc.
配置可选软件版本方法:配置软件版本注:下方是本人自己的配置,我之前配置过可选的gcc版本,所以可以使用下面的命令.
XXX@XXXXXX:/etc/alternatives$ sudo update-alternatives --config gcc 有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/bin/gcc-4.8 100 自动模式 1 /usr/bin/gcc-4.8 100 手动模式 * 2 /usr/bin/gcc-4.9 60 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号:0 update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in 自动模式 XXX@XXXXXX:/etc/alternatives$ sudo update-alternatives --config g++ 有 2 个候选项可用于替换 g++ (提供 /usr/bin/g++)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/bin/g++-4.8 100 自动模式 1 /usr/bin/g++-4.8 100 手动模式 * 2 /usr/bin/g++-4.9 60 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号:0 update-alternatives: using /usr/bin/g++-4.8 to provide /usr/bin/g++ (g++) <
- 可以通过命令