如何安装虚拟机？

VMware Workstation Pro 15 安装 CentOS6.9 虚拟机

一、前置基石概念

1. VMware Workstation 是？

VMware Workstation是VMware公司推出的一款桌面虚拟计算软件，具有Windows、Linux 版本。此软件可以提供虚拟机功能，使计算机可以同时运行多个不同操作系统。2015 年，VMware Workstation 发表 12 版，VMware Player转型为 VMware Workstation 的免费版并改名为VMware Workstation Player，VMware Workstation 的付费版定名为 VMware Workstation Pro。

2. CentOS 是？

CentOS（Community Enterprise Operating System）是Linux 发行版之一，它是来自于Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码，因此有些要求高度稳定性的服务器以 CentOS 替代商业版的Red Hat Enterprise Linux使用。两者的不同，在于 CentOS 并不包含封闭源代码软件。CentOS 对上游代码的主要修改是为了移除不能自由使用的商标。2014 年，CentOS 宣布与 Red Hat 合作，但 CentOS 将会在新的委员会下继续运作，并不受 RHEL 的影响。

CentOS 和RHEL一样，都可以使用Fedora EPEL来补足软件。

3. 虚拟机是？

虚拟机（英语：virtual machine），在计算机科学中的体系结构里，是指一种特殊的软件，可以在计算机平台和终端用户之间创建一种环境，而终端用户则是基于虚拟机这个软件所创建的环境来操作其它软件。虚拟机（VM）是计算机系统的仿真器，通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统，能提供物理计算机的功能。

二、前期准备

1. VMware Workstation Pro

点击官网登录账号后即可下载，有中文版本。

然后双击进行安装，和平常软件一样这里不再赘述。

Ps：本着良好的软件使用风气，不提倡破解，有能力者尽量正版支持。有需请自行上网搜索 “序列号密钥”。

2. WinSCP

WinSCP是一款开源的SFTP客户端，运行于Windows系统下，遵照GPL发布。WinSCP 除了 SFTP，还支持SSH、SCP。

WinSCP 的开发始于 2000 年 4 月，由布拉格经济大学所发展与维护，基于PuTTY的对于 SSH 的实现，支持 SSH-1 与 SSH-2，WinSCP 同时也支持 SCP（安全复制）通信协议，WinSCP 具有FTP的文件传输功能，又比 FTP 更加具有安全性。用户可在SourceForge网站下载。

简单来说，WinSCP 可以很方便的在物理机与虚拟机之间传输文件。

点击官网下载链接即可下载，有中文版本。

然后双击进行安装，和平常软件一样这里不再赘述。

Ps：捐款一定金额可以开通自动更新及其他一些附属功能，但用处不大，免费版即可实现大多数功能。

3. Xshell

Xshell 是一个强大的安全终端模拟软件，它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器，从而比较好的达到远程控制终端的目的。除此之外，其还有丰富的外观配色方案以及样式选择。

简单来说，Xshell 可以远程控制虚拟机 Linux 终端，配合以上软件，我们就可以在虚拟机开机后将其最小化，节约系统资源。

点击官网填写信息即可下载，有中文版本。

Ps：官方有对家用或学校使用的免费许可，点击填写信息即可下载。

4. CentOS 镜像文件

官网提供了镜像网站列表，可自行查找国内的镜像网站并下载所需 ISO 映像文件。

三、安装虚拟机

1. 虚拟机配置

在做好前期准备后，我们就可以正式开始安装虚拟机了。

首先，双击打开 VMware，在【主页】选项卡中选择【创建新的虚拟机】，然后依次选择【自定义】-----> 硬件兼容性选【Workstation 15.x】后点击【下一步】----->【稍后安装操纵系统】-----> 客户机操作系统选择【Linux】，版本选择【CentOS 6 64 位】 (因人而异) 后点击【下一步】-----> 虚拟机名称和位置可自定义，影响不大。后点击【下一步】------> 处理器配置、虚拟机的内存、网络类型因人而异，最好查看官方帮助文档，了解后选择，点击【下一步】

I/O 控制器类型建议选择【LSI Logic】，点击【下一步】-----> 磁盘类型建议选择【SCSI】，点击下一步 -----> 磁盘选择因人而异，了解后选择，点击【下一步】-----> 磁盘容量因人而异，建议至少分配 6G 以上空间、不勾选【立即分配所有磁盘空间】、选择【将虚拟磁盘储存为单个文件】，点击【下一步】-----> 指定磁盘文件名称位置，点击【下一步】-----> 显示清单，可再检查一遍或自定义硬件，点击【完成】结束虚拟机配置。

在新虚拟机选项卡内，点击【编辑虚拟机位置】-----> 选择 CD/DVD-----> 在连接中选择【使用 ISO 映像文件】，并选择之前下载的 ISO 映像文件

2. 安装系统

配置做好后，我们就可以开启虚拟机安装系统了，在虚拟机选项卡内，点击【开启此虚拟机】

此时虚拟机会自动读取 ISO 映像文件，并准备好安装流程

若不放心下载的 ISO 映像文件的话可以选择【OK】进行检查，否则可选择【Skip】跳过

在新界面中，依次选择【Next】-----> 选择语言因人而异，选好后点击【Next】-----> 键盘建议选择【美国英语式】，点击【下一步】-----> 使用设备因人而异，若不清楚可选择【基本存储设备】，点击【下一步】-----> 勾选【在所有包含未探测分区或文件系统的设备中应用我的选择】，点击【是，忽略所有数据】

设置主机名因人而异，配置网络因人而异，有静态 IP 需求的话可以在此设定，点击【下一步】-----> 时区设置因人而异，点击【下一步】-----> 设置根账号 (root) 密码因人而异，点击【下一步】-----> 在类型安装中，选择【创建自定义布局】，点击【下一步】

选择自定义布局是为了满足我们的个性化需求。我的方案是挂载点/boot1G、文件系统swap3G，挂载点/剩余可用空间。设置后点击【下一步】

Ps：挂载点与文件系统是？

挂载点实际上就是 linux 中的磁盘文件系统的入口目录，类似于 windows 中的用来访问不同分区的 C:、D:、E: 等盘符。其实 winxp 也支持将一个磁盘分区挂在一个文件夹下面，只是我们 C:、D: 这样的盘符操作用惯了，一般没有将分区挂到文件夹。

计算机的文件系统是一种存储和组织计算机数据的方法，它使得对其访问和查找变得容易，文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念，用户使用文件系统来保存数据不必关心数据实际保存在硬盘（或者光盘）的地址为多少的数据块上，只需要记住这个文件的所属目录和文件名。在写入新数据之前，用户不必关心硬盘上的那个块地址没有被使用，硬盘上的存储空间管理（分配和释放）功能由文件系统自动完成，用户只需要记住数据被写入到了哪个文件中。

文件系统通常使用硬盘和光盘这样的存储设备，并维护文件在设备中的物理位置。但是，实际上文件系统也可能仅仅是一种访问数据的界面而已，实际的数据是通过网络协议（如NFS、SMB、9P等）提供的或者内存上，甚至可能根本没有对应的文件（如proc 文件系统）。

严格地说，文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型（Abstract data type）。

点击【格式化】-----> 点击【将修改写入磁盘】-----> 点击【下一步】----- 软件安装因人而异，选择后点击【下一步】，可勾选【现在自定义】来个性化自己的安装，点击【下一步】系统开始安装软件和系统。

耐心等待安装完成即可。

安装完成后依据系统提示重启，重新启动后输入账号和密码即可登录系统，至此，虚拟机安装完成！

四、安装完成后

这时，我们已经有了一个刚刚诞生的新虚拟机，现在对讲解进行一些配置和升级方面的小技巧。

1. 个人文件夹命名

学习过 Linux 的人都知道一般情况下每个账户都有自己对应的用户主目录，主目录内有文档，下载等等针对当前用户的文件夹。这些文件夹是会随着当前语言的变更而变更的，所以，就会有以下的使用场景：

使用简体中文的系统，但是在终端中输入路径还是觉得英文好用。

这个很好调，个人目前使用的方法是分别以中文和英文的语言进入系统，系统就会提示你因为修改了语言，是否修改文件夹命名。

2. 设置静态 IP

在使用虚拟机时，我们一般将其最小化以节约系统资源，使用第三方软件远程连接虚拟机工作，但是若不指定静态 IP 的话，每次开机后虚拟机的 IP 都不一样，这不易于连接，所以我们需要固定虚拟机的 IP

图形化界面

右键点击网络状态图标，点击【编辑连接...】

选择你正在使用的网络，点击【编辑】-----> 在【IPv4 设置】中，设置【方法】为【手动】并在下方设置地址、子网掩码、网关以及 DNS 服务器。有关相应的知识点分析，请参考阮一峰老师写的文章《互联网协议入门》，相当的详细，这里不再赘述。

设置后，断开网络重连，使用 ifconfig 命令查看 ip 地址是否变更；使用 ping 命令查看能否 ping 通其他计算机；在物理机上 ping 虚拟机能否 ping 同。都能说明没有问题，静态 IP 设置成功！

命令行界面

若在安装时没有安装图形化界面的话，我们需要手动进到系统的网卡配置文件进行修改。

Copy
vi /etc/sysconfig/network-scripts/你的网卡名字

在IPADDR=中修改你的 IP 地址，然后输入 reboot 重启，此时你的 IP 地址就已经更改了。之后再和图形化界面一样检查能否连通就好。

3. 同步时间

完成安装后，可能会造成虚拟机与物理机，也就是真实时间不一致的情况，不过不要紧，我们可以通过 ntpdate 来同步时间。

Copy
ntpdate cn.pool.ntp.org

当然没有反应的说明你的虚拟机还没有安装 ntp 服务，先使用yum install ntp安装再使用吧。

4. 设置 yum 源

Yum（Yellow dog Updater, Modified）是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而成，是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载 RPM 包并且安装，可以处理依赖性关系，并且一次安装所有依赖的软件包，无须繁琐地一次次下载、安装。被Yellow Dog Linux本身，以及Fedora、Red Hat Enterprise Linux采用。

简单来说，yum 就像 Node.js 中的 NPM，macOS 中的 homebrew 一样。但是苦于种种原因，国内访问官方 yum 源的速度很慢，我们需要手动更换 yum 源为国内，这样访问速度就能直线上升。

本次我们以更换 “清华大学开源软件镜像站” 为例。

首先备份 CentOS-Base.repo

Copy
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

接着创建文件CentOS-Base.repo将以下内容写入：

Copy
sudo vi /etc/yum.repos.d/CentOS-Base.repo

Copy
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

然后运行sudo yum makecache更新缓存。值得注意的是上面的文件内容是针对 CentOS6 的，不同的版本应有不同的文件内容，还请务必核实。

之后我们就可以享受连接国内的高速下载啦，赶快用yum update感受一下吧！

5. 升级内核

内核（英语：Kernel，又称核心）在计算机科学中是一个用来管理软件发出的数据I/O（输入与输出）要求的电脑程序，将这些要求转译为数据处理的指令并交由中央处理器（CPU）及电脑中其他电子组件进行处理，是现代操作系统中最基本的部分。它是为众多应用程序提供对计算机 硬件的安全访问的一部分软件，这种访问是有限的，并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法，来完成这些操作。有了这个，通过进程间通信机制及系统调用，应用进程可间接控制所需的硬件资源（特别是处理器及 IO 设备）。

严格地说，内核并不是计算机系统中必要的组成部分。有些程序可以直接地被调入计算机中执行；这样的设计，说明了设计者不希望提供任何硬件抽象和操作系统的支持；它常见于早期计算机系统的设计中。但随着电脑技术的发展，最终，一些辅助性程序，例如程序加载器和调试器，被设计到机器内核当中，或者写入在只读记忆体里。这些变化发生时，操作系统内核的概念就渐渐明晰起来了！

简单来说，内核可以决定哪些软件，以哪种方式，多长时间操作硬件。据此，越高级的内核，对系统优化越好。但反过来说，越高级的内核，体积越大，越臃肿，所以请根据自己的系统匹配核实的内核。

一般来讲运行yum update会自动安装 yum 源中的最新内核，不过我们也可以启动ELRepo源来下载。

导入公钥:

Copy
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

为了红帽系系统而安装 ELRepo：

Copy
yum install https://www.elrepo.org/elrepo-release-6-9.el6.elrepo.noarch.rpm

之后使用yum update安装就好了（如果有更新的话）