在开发过程中常常需要进行一些预研,而有些操作对操作系统可能具有破坏性且是不可恢复的,或者需要在不同的操作系统中去观察结果,虽然在某些场合下Ghost可以解决一部分问题,但是有时候很繁琐,因此在虚拟机中进行测试不失为一种不错的选择。
自2011年以来,一直在学习一些有关Linux下的知识,包括Mono+XSP运行ASP.NET程序,搭建Hadoop学习环境、Nginx测试环境等。在虚拟机软件方面先后尝试过VMware、Hyper-V及VirtualBox,最终选择了VirtualBox,理由是开源免费、体积小、资源占用少。在Linux操作系统方面先后学习过Ubuntu和CentOS,最终选择了CentOS。本文就是讲述如何在VirtualBox中安装CentOS7。
安装环境介绍
宿主机:Win7 X64,16G RAM 4核8线程 1T硬盘
虚拟机软件:VirtualBox-5.1.20,可从http://www.virtualbox.org下载,或本人百度网盘地址:https://pan.baidu.com/s/1jIieCqM
虚拟机操作系统:CentOS-7-x86_64-DVD,可从或本人百度网盘下载:https://pan.baidu.com/s/1miyp75Y,文件有点大,建议在高速网络环境中下载
SSH客户端软件:SSHSecureShellClient-3.2.9,可从本人百度网盘下载:https://pan.baidu.com/s/1jIgICbO
安装VirtualBox-5.1.20
首先从上面介绍的地址下载VirtualBox-5.1.20,然后安装提示一步步完成安装即可。
然后运行VirtualBox,点击“新建”按钮并选择所要安装的系统类型,界面如下图所示:
在上图中名称处可填写“CentOS7_X64”,VirtualBox会自动根据名称中的典型特征选择类型和版本(注意:在当前条件下系统会自动选择RedHat而不是CentOS,因为RedHat和CentOS是同根的,只不过前者有商业公司提供商业支持而后者是社区支持)。
接着设置虚拟机的内存,一般建议根据虚拟机系统特点和物理机内存大小权衡设置,一般Linux系列虚拟机内存设置512M-2048M,64位Windows系统建议设置大于4096M,如下图所示:

之后,再给虚拟机添加虚拟硬盘,如果已经有虚拟机文件则创建虚拟硬盘,如果已经有虚拟机文件,则可以选择“使用已有的虚拟硬盘文件“,如下图所示:

如果选择现在创建虚拟硬盘,点击“创建”之后就会进入虚拟机硬盘类型选择画面,如下图所示:

VirtualBox支持的虚拟机文件类型
VDI: Virtual Disk Image,这是VirtualBox默认使用的虚拟机文件类型。
VMDK:这是VMware默认使用的虚拟机文件类型。
VHD:这是微软出品虚拟机软件默认使用的虚拟机文件类型。
在创建虚拟机时选择哪一种看个人偏好了,不过我一般偏好VMDK,因为预研成功的时候我可以将vmdk文件交给虚拟化管理直接加载到公司的虚拟机资源池中。当然,创建之后也是可以通过VirtualBox提供的VBoxManage.exe在三种格式之间转换,这个文件位于VirtualBox的安装目录下。
点击“下一步”进入虚拟机磁盘增长方式选择界面,如下图所示:

一般情况下,建议选择动态分配。
点击“下一步”进入最后一步,如下图所示:

设置虚拟机文件的保存位置和虚拟硬盘容量大小,点击“创建”即可完成虚拟机的创建。
至此,已经完成了一台虚拟机的创建,这台创建出来的虚拟机相当于一台裸机,还没有任何操作系统,同时默认情况下只使用了物理机的1个核,需要进一步设置,比如添加多核和指定ISO镜像文件用于安装操作系统。
安装CentOS7
正确指定CentOS7的iso文件后,启动虚拟机后就会进入下面的启动菜单,分别为:
开始安装CentOS7
测试CentOS安装文件是否损坏(如果多次安装过程中报错,建议先测试一下安装媒体,本人之前就经历过一会下载的ISO损坏、多次无法安装成功的情况),如下图所示:

选择“Install CentOS Linux 7”之后会出现选择安装过程中所使用的语言界面,如果英语较好或者想提高英语建议选择英语,如下图所示:

点击“Continue”之后,出现安装设置主界面,主要包含了时区设置、操作系统语言设置、安装位置设置、网络及主机名设置、安装类型设置等,如下图所致:

点击”INSTALLATION DESTINATION”后出现如下界面,非必要情况下保持默认即可,如下图所示:

在安装设置主界面点击“DATE & TIME”出现时区选择界面,建议选择上海,如下图所示:

在安装主界面点击“SOFTWARE SELECTION”会出现安装操作系统时所需要的软件选择,如果不清楚的话建议按下图所示选择:

虽然有些设置还可在安装主界面中完成设置,但也可以在完成CentOS7安装中在操作系统中设置,至此可以点击按章设置主界面中的“Begin Installation”开始安装,在安装过程中可以安装用户设置,如设置root用户和添加普通用户,如下图所示:

点击图中的”ROOT PASSWORD”即可设置root账户密码,这里就不赘述了。创建普通用户界面如下图所示:

完成CentOS7安装之后,按提示重启虚拟机,首先是接受授权许可协议提示,如下图所示:


至此,CentOS7可以使用了,可以看到期待已久的登录界面,默认情况下root账户不会出现的登录用户名列表中,但可以按照图中提示以root账号登录,如下图所示:

因为还有一些系统级的设置未完成,这里就以root账户登录,然后点击系统中右上角的三角箭头,可以设置网络及重启虚拟机等,见下图中文字注释:

例如,下图就是如何设置虚拟机网络的界面:

安装SSH客户端软件SSHSecureShellClient-3.2.9
从前文本人提供的百度网盘地址下载SSHSecureShellClient-3.2.9文件,按照提示一步步安装即可。注意:网上有不少人用putty之类的SSH软件,但本人还是比较喜欢这个软件,同时提供SSH登录和文件传输功能,不过有点美中不足的是无法支持中文(即如果用户选择了系统语言为中文或者在命令中操作中文目录,会出现乱码)。
在正确设置了虚拟机的网络信息并将虚拟机的网络接入方式改为“桥接”后,即可通过SSHSecureShellClient登录CentOS7。
下图是我现在使用VirtualBox所配置的虚拟机:
