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
不再报依赖错误了,,直接就安装上了,我...(算了,我不生气)