一.安装
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文件