linux 安装virtualbox5.2

一.安装

1.下载package

  https://www.virtualbox.org/wiki/Linux_Downloads

2.添加源。

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=18.04 
DISTRIB_CODENAME=artful 
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
记住这个 DISTRIB_CODENAME=artful

打开根目录/---->etc---->apt---->source.list

sudo vim /etc/apt/sources.list

添加

deb https://download.virtualbox.org/virtualbox/debian <mydist> contrib

注意:mylist按照自己的系统进行选择'artful', 'zesty', 'yakkety', 'xenial', 'trusty', 'stretch', 'jessie', or 'wheezy'

3.下载并添加公共密钥。
公共密钥分为两种,Debian 8 ("Jessie") / Ubuntu 16.04 ("Xenial") 以及之后的版本,在终端输入:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

其他版本的输入:

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

查看公共密钥是否导入正确,输入:

apt-key finger

4.更新源并安装VirtualBox虚拟机。

sudo apt-get update
sudo apt-get install virtualbox-5.2

参考原文链接:https://blog.csdn.net/u014577061/article/details/79522464

二.安装成功后terminal中输入virtualbox即可启动

But VirtualBox =-1908的错误,提示需要以root权限执行/sbin/vboxconfig

 $ sudo /sbin/vboxconfig 
[sudo] <hostname>的密码: 
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.

其中关键字dmesg,按照Wiki上的描述,是一个这样的东西:

dmesg (display message or driver message) is a command on most Unix-like operating systems that prints the message buffer of the kernel.[1] The output of this command typically contains the messages produced by the device drivers.

而关键字modprobe,这个命令可以理解为使某个模块生效,那么说明是vboxdrv没有生效,这是VirtualBox的驱动,Linux内核专门有一个用于驱动VirtualBox的驱动,叫做virtualbox-dkms,其中dkms代表Dynamic Kernel Module Support.所以问题根源在于virtualbox-dkms没有被驱动.

既然是驱动没有加载,那我们应该想想为什么没有加载,因为我们升级了内核!这样的话加载的就是上一个内核版本的驱动,已经不适用当前内核了,那我们需要为当前内核重新安装一个驱动,用以下命令:

sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms

这条命令是先安装与当前内核版本相对应的linux-headers,用于配置virtualbox-dkms,然后再安装对应的驱动就能够自动完成配置了,完成配置后,再输入以下命令:

sudo modprobe vboxdrv

但在运行sudo modprobe vboxdrv时出现问题:

modprobe: ERROR: could not insert 'vboxdrv': Required key not available

这是Secure Boot搞的鬼,是的这个东西在所有较新出厂的主板上都会有的,这是微软为了防止用户装Linux而联合硬件厂商搞出来的玩意儿.这个东西可以说是没有任何作用,起一个高大上的名字–安全启动就是为了唬人,让用户不敢去禁用它,从而给用户安装Linux带来极大的不便甚至无法安装Linux.

以下是解决方案:

首先安装一个MOK组件:

sudo apt install mokutil

然后输入以下命令:

sudo mokutil --disable-validation

之后shell会要求你创建密码,直接输入密码即可,输入两次确保正确,并记录下这个密码.

reboot

重启计算机,在弹出的画面选择Enroll MOK,选择ChangeSecure Boot state进入一路回车至要求输入密码,按照要求(输入密码的第几个字符),输入刚刚记录的密码即可.

最后跳转到一个对话框Disable secure boot?,选择yes,重启计算机.

进入系统以后再执行

sudo modprobe vboxdrv

这样就激活了安装好的驱动,可以成功进入虚拟机了.
参考原文链接:https://blog.csdn.net/AAMahone/article/details/86428040

三.创建虚拟机并不能成功启动,提示FATAL:No bootable medium found

因为没有iso文件

下载一个ubuntu 镜像 

desktop版本的:https://ubuntu.com/download/desktop

server版本的:https://ubuntu.com/download/server 

顾名思义,desktop 版本的启动虚拟机后有桌面,和正常的ubuntu操作系统一样一样的,而server版本的没有桌面,和在linux中 ctrl +alt +F1<至F6>界面一样(ctrl +alt +F7)返回桌面,版本根据需求自行选择,另外,16 17 18 版本都无所谓啦!

PS:官网下载完800M估计得等到下辈子吧(因为是国外汪网站),这里可以通过网易镜像下载,server和的desktop版本选择同上http://mirrors.163.com/ubuntu-releases/

然后在虚拟机中设置->存储->控制器:IDE 下方的 没有盘片(反正就是有光盘图标那个)->(右边)属性->分配光驱->选择之前下载的ubuntu镜像->确定,如果还报错再设置->系统->启动顺序->把光驱加到第一个.

然后...嚯嚯哈哈!现在就相当于重装系统时分区之类的,根据提示回车并且输入username password等就OK拉(username password要记住奥)

注意:当看到installing system时,会无法进行下一步的,不要捉急,等待安装就好了!

最后输入username password就可以成功进入虚拟机啦!

如果下载的版本和本来操作系统的版本不一致,那就可以更新系统(应该不能是降级吧,总不能自己操作系统是17,自己去下载一个16的吧...万一要真下载了一个更低版本的,那就去别的地方找找看咋办了),见四

四.

do-release-upgrade 

更新系统.

PS:这是一个漫长且必须看着它的过程,因为偶尔需要输入一个y...

如果出现双系统更新完成后重启没有系统选择的界面,而是直接进入windows的情况,在重启时狂敲F12(不要害怕把键盘敲坏),然后重新选择启动选项就OK 了.另外,困扰我一个学期的搜狗输入法打汉字时没有拼音,没有联想,不能进行选择,只能选择出现的第一个字或词的问题也竟然因为更新系统正常了,啊西巴!

续:在我更新完自己的ubuntu后,,之前安装的virtualbox也不能用了,但是

sudo apt-get update
sudo apt-get install virtualbox-qt 

不再报依赖错误了,,直接就安装上了,我...(算了,我不生气)

原文地址:https://www.cnblogs.com/cxl-blog/p/11363183.html