在VirtualBox上面安装Ubuntu 14.04遇到的有关问题及对策

在VirtualBox上面安装Ubuntu 14.04遇到的问题及对策

前几天在我的Win7系统上面安装了Cygwin,通过它中的g++4.9.3上运行了一个采用C++11新特性的程序,发现编译不通过,并且我确信该段程序代码正确。于是就想利用Win7系统上安装的VirtualBox上面的Ubuntu系统来试试在真正的g++4.9.3运行是否通过。下面就是我做上述努力遇到的问题及对策。

1 升级VirtualBox中的Ubuntu 12.04

我的VirtualBox版本是4.1.6,于2011年底安装。刚开始安装的是Ubuntu 8.04,最近几年连续升级了几次,先是10.04,然后是12.04。现在的版本是12.04,其自带的g++版本是4.6.3,根本不支持C++11新特性。而我需要的是g++4.9.3,怎么办呢?我想到的是升级VirtualBox中的Ubuntu 12.04到14.04。

点击下图中的升级按钮,
在VirtualBox上面安装Ubuntu 14.04遇到的有关问题及对策
在准备安装的过程中出现了下面的错误提示:
在VirtualBox上面安装Ubuntu 14.04遇到的有关问题及对策
实际上这个问题在一个月前我升级Ubuntu12.04的时候就遇到了,我还特地看了看Win7 (Host OS)系统上面的PAE设置,是enabled的状态。当时没深究,就把该问题放下了。

后来想起来了,Ubuntu 12.04是一个 Guest OS,调整PAE的状态必须依靠VirtualBox中与之对应的虚拟机。

1.1 VirtualBox中设置PAE的方法

按照下图中的操作顺序进行VirtualBox与Ubuntu12.04对应的虚拟机的PAE设置,注意要先关闭该虚拟机。
在VirtualBox上面安装Ubuntu 14.04遇到的有关问题及对策

1.2 VirtualBox 4.1.6不支持升级到Ubuntu 14.04

解决了PAE的问题后,就继续升级Ubuntu 12.04。反反复复进行了3次,在升级快要完成,配置硬件的时候,VirtualBox总会弹出一个对话框,提示说:系统遇到一个问题,需要关闭。

没办法,只有放弃这个方案。我分析了一下原因,可能是因为VirtualBox是一个2011年出现的老版本。我决定安装新版的VirtualBox软件,然后在其中安装全新Ubuntu 14.04.

2 安装 VirtualBox 5.0.2后全新安装Ubuntu 14.04

在安装Ubuntu 14.04的镜像文件之前,就像上述的原因,必须将PAE设置为enbaled。

在战战兢兢的心情下,我顺利完成了Ubuntu 14.04系统的安装。接下来遇到的问题依次为:

2.1 Ubuntu 14.04启动后总是提示”系统遇到了问题,是否报告“

关于此问题的解决方案,参见博文《How to fix “System program problem detected” error on Ubuntu》。

2.2 运行系统后分辨率的调整

安装后你会发现,Ubuntu 14.04的系统界面非常小,分辨率非常低,即使采用系统中分辨率设置,发现都是灰色的,无法进行更高的调整。

该问题的解决需要安装VirtualBox 的增强功能 (Guest Addition)。安装后即可进行分辨率的调整,同时界面就会铺满整个电脑屏幕。关于如何安装增强功能,请参见博文《Win7系统与它的Virtualbox中安装的Ubuntu14.04共享信息的几种方法》的第一节内容。

2.3 图形化界面运行慢,Dash的动画功能卡

因为Ubuntu14.04 对电脑的硬件要求特别高,而我又将该系统装在了虚拟机上面,变得慢就容易理解了。所以我们就需要关闭系统的动画切换和一些无关的功能,从而能使我们集中于Ubuntu 14.04中的编程环境。

要进行如下方面的设置:

  1. Speed up unity dash response.
  2. Disable unity animations.

2.4 gcc 4.8.4版本的升级

Ubuntu 14.04系统安装成功后,已默认安装了gcc 4.8.4,但并没有按照g++、make等相应的编程工具,需采用下面的命令安装它们:

sudo apt-get install build-essential

但是,我想运行的编译器版本为g++4.9.3,需要升级到该版本。关于在Ubuntu 14.04系统中如何升级gcc/g++到版本4.9,请参见博文《Ubuntu 14.04中升级gcc到版本4.9.2并切换使用它们》

3 结束语

软件的版本问题确实是一个问题。本文所牵涉到的版本问题有:VirtualBox版本、Ubuntu系统版本、gcc/g++版本。但不管版本如何变化,想使用软件新版本的功能,就必须将一系列相关软件的版本都调整为最新即可。

遇到问题不可灰心,问题总有解决的办法。电脑老的话,我将在适当的时候更换一台新的电脑。还有一个值得注意的问题是,在解决问题的时候,灵活地使用Ubuntu中的Terminal是一个很重要的技能。

版权声明:本文为博主原创文章,未经博主允许不得转载。