1. 环境准备与镜像选型先把地基打对VMware Workstation Pro 16 装 CentOS7这套组合我从 2019 年用到 2023 年都还在给新人当练手环境原因没别的就是稳、资料多、坑都被前人踩平了。你做运维、学 Linux、搭测试集群或者只是想在本地跑一个干净的服务端环境这一套流程基本是绕不开的起点。但它有个特点看着简单真正动手时十个人里至少有四个会卡在网卡不亮ping 不通外网Xshell 连不上这几步上。问题几乎全部出在前期环境没准备干净而不是中间操作有多难。这篇东西我按自己实际重装十几遍的经验来写从镜像下载、虚拟机参数、分区方案一直讲到静态 IP 和远程连接把每一步为什么这么填讲清楚。不用你死记看完自己就能判断参数该怎么改。适合刚入门 Linux 的、需要临时搭环境做验证的、以及被虚拟机网络折磨过一轮想彻底搞明白的人。1.1 主机硬件与版本怎么定VMware Workstation Pro 16 是 2020 年前后的主力版本它要求宿主机是 64 位系统Windows 10 或更新的版本跑得最顺。官方给的硬件门槛不高但那是能跑不是好用。我自己总结的门槛是这样宿主内存至少 8GB低于这个数你给虚拟机分 2GB 会拖垮整个机器CPU 支持 Intel VT-x 或 AMD-V 硬件虚拟化这两项在 BIOS 里默认可能是关的装之前先进 BIOS 确认 VT-x / SVM 是 Enabled 状态否则虚拟机跑起来会奇慢甚至报此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态。磁盘空间给虚拟机留 40GB 以上因为你后面装 Docker、跑数据库、存快照都会吃空间。我一般直接在一个非系统盘里建一个VM目录统一放方便备份和迁移。宿主机如果是笔记本插着电源再装别在低电量模式跑安装中途休眠会毁掉整个安装进度。提示安装前先把电脑上其他虚拟机软件比如 VirtualBox的虚拟化驱动关掉或卸载。两者同时占用硬件虚拟化层会让 VMware 启动虚拟机时报 VT-x 被占用很多人第一次装就是栽在这。1.2 CentOS7 镜像从哪下、选哪个包CentOS7 在 2024 年 6 月 30 日已经停止维护但它在很多生产环境和教学场景里还在用镜像也一直能下。常见的几个变体要分清楚选错了要么装出一堆用不上的东西要么连图形界面都进不去镜像类型体积适用场景我的建议DVD ISO约 4.7GB需要完整包、要离线装软件新手首选省心Minimal ISO约 1GB纯服务端、最小化安装熟练后用它启动快Everything ISO约 10GB需要全量本地源一般用不到太占盘Live GNOME/KDE约 1.5GB只想体验桌面不建议做学习环境下载渠道优先用国内镜像站速度快且校验完整。阿里云、清华 TUNA、中科大 USTC 这几个都有 CentOS7 的历史归档目录进去找 7.9.2009这是 7 系列最后一个大版本。下完务必做一次 SHA256 校验命令在 Windows 的 PowerShell 里就能跑Get-FileHash -Algorithm SHA256 .\CentOS-7-x86_64-DVD-2009.iso拿输出的值和站点上公布的校验值比对一致才算下载完整。这一步别跳我见过不止一次因为 ISO 下到一半断了安装过程走到一半报介质校验失败白白浪费半小时。版本上我一般直接锁定CentOS-7-x86_64-DVD-2009。原因很实在7.9 是 7 系列的收官版更新源里能拿到的包最全跟各种老版本工具比如某些 JDK、Docker 老版本的兼容问题最少。你要做实验环境选它最不容易踩雷。2. 虚拟机创建参数怎么填才不返工虚拟机的创建界面看着一堆选项其实真正会影响到后续使用的就那几个兼容性版本、操作系统类型、网络模式、磁盘方式和大小。其他的填错了还能回头改这四个填错要么重建要么花时间调。我按顺序把它们讲透你照着填基本不用返工。2.1 新建向导里的每一步取舍打开 VMware Workstation Pro 16点创建新的虚拟机会先问你选典型还是自定义。别选典型典型模式会把内存、CPU、网络模式全部按默认给你定死后面要调还得进设置里翻。直接选自定义高级多花两分钟省后面半小时。第一步兼容性选 Workstation 16.x。这个选项决定了这个虚拟机最低能在哪个版本的 VMware 上打开选太高以后换机器可能读不了选太低有些新特性用不了。16.x 对应你现在这个版本最匹配。第二步安装客户机操作系统选稍后安装操作系统。为什么不在这一步直接挂 ISO因为如果这里就挂镜像VMware 会走简易安装流程它会自动给你分区、设置默认用户你失去对安装过程的控制权学不到东西也改不了参数。选稍后安装等虚拟机建好了再手动挂载 ISO整个安装过程完全自己掌控。第三步客户机操作系统选 Linux版本选 CentOS 7 64 位。这里选对了VMware 会自动为这个系统优化虚拟硬件参数选错了可能出现鼠标漂移、分辨率异常这类小问题。2.2 硬件参数背后的算账逻辑位置和名称自己定注意路径别带中文和空格有些脚本工具对中文路径支持不好。接下来是处理器和内存这两个看宿主机给处理器宿主是 4 核以上就给虚拟机 2 核8 核以上可以给 4 核。给太多会拖慢宿主机给太少编译软件会卡。处理器核心数不要超过宿主物理核数的一半这是条经验线。内存宿主 16GB给虚拟机 4GB 很舒服宿主 8GB给 2GB别超过。CentOS7 最小安装模式下其实 1GB 就能跑起来但要装 Docker、跑编译2GB 是底线。你给内存时看宿主机任务管理器里的可用内存留出至少 4GB 给宿主剩下的再分。网络类型这一步很关键三个选项的意义我先给结论具体原理后面第四章展开网络模式宿主机能否访问虚拟机虚拟机能否上网适用场景桥接Bridged能同网段直连能等于局域网一台机器要当独立服务器用、要给别人访问NAT能宿主机可访问能借宿主机网络出去本地开发、学习最省心仅主机Host-only能不能纯隔离环境、安全实验学习环境我一般选NAT因为它不占用你路由器的 IP换 Wi-Fi 环境 IP 也不会变虚拟机自己就能上外网。等你熟练掌握再玩桥接。磁盘这一步选 SCSI默认推荐然后选创建新虚拟磁盘。磁盘大小给 20GB 起步学习用 20GB 够要装一堆服务给 40GB。关键在这里下面有将虚拟磁盘存储为单个文件和拆分成多个文件两个选项。我推荐拆分单个文件在你拷贝虚拟机到另一台机器时如果中途断了整个文件可能报废拆分文件断了一个小的还能重下。性能差别在实际使用中基本感受不到。最后编辑虚拟机设置里把CD/DVD指向你刚下好的 CentOS7 ISO勾上启动时连接网络适配器确认是 NAT。到这一步虚拟机就建好了可以开机装系统了。3. CentOS7 安装实操从引导到登录按下开启此虚拟机屏幕上出现 VMware 的 BIOS 画面几秒后进入 CentOS7 的安装菜单。这个菜单停留 60 秒会自动选第一项你手快的话直接上下键选 Install CentOS 7 回车。注意菜单里有个 Test this media install它会花几分钟校验 ISO如果你下载时已经校验过这里可以跳过直接选第一项省时间。3.1 语言、分区与软件选择进安装界面第一步选语言我建议直接选中文——不是看不懂英文而是初学阶段中文界面能让你更专注于每一步在干什么而不是这个单词啥意思。你要是想练英文环境选 English 也完全可以操作路径一模一样。接下来是安装信息汇总页三个带黄色感叹号的必须处理掉才能开始安装安装位置、软件选择、网络和主机名。先点安装位置。分区这里最见功夫。自动分区它会给你分一个 LVM 结构能用但不够透明。我第一次学 Linux 时就是手动分的后来一直保持这个习惯。选我要配置分区点完成进手动分区界面。我的标准方案/boot1GB文件系统 xfs。这是引导分区放内核和引导文件1GB 足够且不会浪费。swap2GB文件系统 swap。交换分区等于 Windows 的虚拟内存。经验值是内存的 1 到 2 倍但别超过 8GB现在机器内存大2GB 到 4GB 就够日常用。/剩余全部空间文件系统 xfs。根分区CentOS7 默认就用 xfs别改 ext4没特殊需求就跟着默认走最稳。分完点完成它会弹窗让你确认点接受更改。软件选择这一步看你要干什么只想当服务器练命令行、装 Docker、跑服务选最小安装。系统干净占用小启动快你要装的每个包自己清楚装了啥。需要图形界面选GNOME 桌面或者服务器带 GUI。学习阶段想省心选基础设施服务器它装了一堆常用工具。我一般选最小安装然后后面需要什么再yum install。这样你能清楚地知道系统里有什么而不是面对一个塞满东西的庞然大物。3.2 用户与网络初始化点开网络和主机名把右上角那个以太网开关打开一般是 ens33。这时候 DHCP 会给你分配一个 IP主机名可以顺手改成你想要的名字比如centos7-test。改主机名这一步很多人忽略但后面你用远程连接时一个有意义的主机名比一长串默认名字好认得多。开始安装后会要求你设置 root 密码。这条我踩过坑弱密码它只警告不阻止但如果你点了两次完成用了弱密码系统依然会装好只是安全性差。自己学习用设一个自己能记住的复杂一点的就行别真用 123456。密码设完等进度条走完大概 10 到 20 分钟取决于宿主机性能。装完点重启重启后会有一个初始设置界面要你接受许可证、创建普通用户。普通用户这里建议创建日常操作别一直用 root这是 Linux 的基本习惯。创建完就进入登录界面了。3.3 安装后第一次开机必做的几件事系统起来第一件事先确认网络ip addr看 ens33 有没有拿到 IP。如果是 NAT 模式它应该已经从 VMware 的 DHCP 拿到一个 192.168.x.x 的地址。然后测外网和域名解析ping -c 4 114.114.114.114 ping -c 4 www.baidu.com第一条测网络通不通第二条测 DNS 解析通不通。两条都通说明基础网络没问题。如果第一条通第二条不通是 DNS 没配第一条就不通是网关或网卡配置问题第四章细讲。接着更新一下系统时间避免后面日志时间错乱timedatectl set-timezone Asia/Shanghai如果你要频繁在宿主机和虚拟机之间复制粘贴、拖拽文件装一下open-vm-tools比挂载 ISO 装 VMware Tools 省事得多yum install -y open-vm-tools systemctl enable --now vmtoolsd装完复制粘贴和分辨率自适应就都正常了。这一步不属于必需但装了之后体验提升很明显。4. 网络配置NAT、桥接怎么选静态IP怎么写网络配置是这套流程里最容易翻车的部分也是热词里出现频率最高的。核心就三件事选对网络模式、搞清楚 IP 从哪来、把配置写对文件。我按最常用的 NAT 模式讲透再补上桥接的差异你两种都会了其他模式仅主机、自定义看一眼就懂。4.1 三种网络模式到底差在哪用生活化的说法桥接模式是把虚拟机当成你家局域网里的另一台真机它从你的路由器拿 IP跟你的电脑平级。别人在同一局域网里能直接访问它它也能访问局域网里其他设备。缺点是换 Wi-Fi比如从家到公司IP 会变且会占用路由器的一个 IP 号段。NAT 模式是虚拟机躲在你的电脑后面共享你的网络出去。虚拟机在一个独立的小网段比如 192.168.88.0/24你的电脑相当于这个网段的路由器。虚拟机上网靠你电脑转发外面看不到它但它能出网上。优点是稳定、不占用路由器 IP、换环境不变缺点是局域网其他机器默认访问不到它除非在 VMware 里配端口转发。仅主机模式是虚拟机只能跟你的电脑通信连不上外网。做安全实验、隔离测试用日常学习一般用不上。学习环境我强烈推荐NAT。理由你换到没有 Wi-Fi 的地方插网线它还能用你换一个 Wi-FiIP 不变配置文件不用改宿主机访问虚拟机一直通。这三点加起来能让你的学习体验平滑很多。想改 NAT 网段进 VMware 的菜单编辑 → 虚拟网络编辑器选中 VMnet8NAT 对应 VMnet8桥接对应 VMnet0点更改设置获取管理员权限然后可以改子网 IP 和掩码。默认一般是 192.168.x.0/24网关是 x.2。记住网关是 .2 不是 .1这是 VMware 的规矩很多人写 .1 结果连不通就因为这个。4.2 NAT 模式下静态IP配置全过程DHCP 拿到的 IP 每次重启可能变做开发环境你肯定希望固定。所以配静态 IP。先确认网卡名字nmcli device status或者直接ip addr看那个 ens 开头的名字常见是ens33、ens160用你自己的名字。然后进配置文件目录cd /etc/sysconfig/network-scripts/ ls你会看到ifcfg-ens33这样一个文件。改之前先备份cp ifcfg-ens33 ifcfg-ens33.bak然后编辑vi ifcfg-ens33把内容改成下面这样IP 段按你虚拟网络编辑器里的网段来我这里是 192.168.88.x 举例TYPEEthernet BOOTPROTOstatic DEFROUTEyes NAMEens33 DEVICEens33 ONBOOTyes IPADDR192.168.88.100 PREFIX24 GATEWAY192.168.88.2 DNS1192.168.88.2 DNS2114.114.114.114几个关键点解释一下BOOTPROTOstatic是从 DHCP 改成静态ONBOOTyes是开机自动启用网卡这个必须是 yes很多人装完系统网卡不亮就是因为这里默认是 noIPADDR你选的地址必须在虚拟网络编辑器给的子网里且不能和 DHCP 池冲突一般选 x.100 到 x.200 之间比较安全GATEWAY和DNS1都写网关地址 .2因为 NAT 模式下 DNS 请求也是通过网关转发DNS2加个公共 DNS 做备份防止网关 DNS 出问题时完全解析不了。保存退出后重启网络systemctl restart network注意CentOS7 里systemctl restart network和nmcli connection up ens33两种方式都能生效但如果你两个网络管理服务NetworkManager 和 network状态混乱会出现改了配置不生效的情况。稳妥做法是先用systemctl restart network然后ip addr确认不生效再看服务状态。重启后验证ip addr show ens33 ping -c 4 192.168.88.2 ping -c 4 114.114.114.114 ping -c 4 www.baidu.com从网关到公网到域名依次测。全通就说明配置没问题了。4.3 桥接模式配置与远程连接实测桥接模式的配置跟 NAT 一样的文件、一样的写法区别只在网络段。桥接下你要从你自己路由器的网段里选一个没被分配的 IP比如你家路由器是 192.168.1.0/24网关 192.168.1.1那虚拟机的配置就是BOOTPROTOstatic ONBOOTyes IPADDR192.168.1.200 PREFIX24 GATEWAY192.168.1.1 DNS1192.168.1.1 DNS2114.114.114.114桥接最容易出的问题是选错了桥接的物理网卡。虚拟网络编辑器里 VMnet0 要桥接到你现在实际联网的那块网卡如果你电脑同时有有线网卡和无线网卡桥接选错会完全不通。改法是虚拟网络编辑器里把 VMnet0 的桥接到改成自动或者手动指定当前联网那块。网络通了之后就可以远程连接了。用 Xshell、MobaXterm、FinalShell 这类工具都行新建一个 SSH 连接主机填虚拟机 IP端口 22用户名填你创建的普通用户或 root密码对上就能连。连上以后你会发现比在虚拟机窗口里敲命令舒服太多复制输出、开多个会话都方便。如果你想用 root 直接 SSH 登录默认是允许的但有些加固过的环境会禁确认/etc/ssh/sshd_config里PermitRootLogin是yes。学习环境保持默认就行。5. 常见问题与排查技巧实录前面步骤都对还是可能出问题。我把这几年被问得最多、自己也踩过的坑整理成一张速查表再补几条经验性的建议。5.1 网络类问题速查表现象最可能的原因排查命令解决网卡不亮ip addr 只有 loONBOOT 是 no 或没重启网络cat ifcfg-ens33改 ONBOOTyes重启网络能 ping 通 IPping 不通域名DNS 没配或配错cat /etc/resolv.conf补 DNS1重启网络ping 网关都不通IP 跟网关不在同网段或网关写错ip addr、ping 网关检查 IPADDR/GATEWAY/.2 结尾宿主机 ping 不通虚拟机NAT宿主防火墙拦了 VMnet8宿主防火墙设置放行 VMnet8 或关宿主防火墙昨天能连今天连不上IP 被 DHCP 分给别人了或改成了动态ip addr配静态 IP 彻底解决外网通了但 yum 装不了yum 源过期yum makecache换阿里云 yum 源/etc/resolv.conf这个文件要特别说一句CentOS7 里网络重启后它会根据 ifcfg 文件重新生成你手动改它重启网络后会被覆盖。所以 DNS 一定要写在ifcfg-ens33的DNS1里不要只改 resolv.conf。5.2 安装与运行类问题卡在License information进不去这是图形界面下常见的情况鼠标点了没反应。按CtrlAltF2切到文字终端看是不是有服务卡住。或者直接CtrlAltInsert重启虚拟机重新走一遍一般第二次就正常。这通常是 VMware 的显示适配问题装完 open-vm-tools 后基本不再出现。安装完成后重启进不了系统卡黑屏多半是你在安装时 BIOS 启动顺序还指向光驱虚拟机在尝试从 ISO 引导。进虚拟机设置把 CD/DVD 的启动时连接去掉或者进 VMware 的启动顺序把硬盘提到光驱前面。这个坑很典型新手会以为是系统装坏了。虚拟机跑起来特别慢查 BIOS 的 VT-x / AMD-V 是否开启这是第一位的。其次看宿主有没有同时开着 Hyper-V 或其他虚拟化软件冲突的话性能会掉一大截。内存给够也会改善2GB 是底线。装完发现磁盘不够用虚拟机磁盘可以直接在设置里扩容但扩完之后进系统用fdisk -l能看到新空间还得用growpart加xfs_growfs扩展分区和文件系统才能真正用上。这一步建议在扩容前做快照操作错了能回滚。5.3 我踩过的坑和几条私房建议第一快照是你最好的朋友。在装完系统、网络配好、重启验证过之后立刻打一个快照命名基础环境-可用。后面不管你把系统搞成什么样一键回滚五分钟回到这个干净状态。我早期没有快照习惯把系统搞崩了只能重装一个下午就没了。VMware 的快照管理器就在菜单栏里别懒得用。第二网络配置改完一定重启验证再往下走。很多人改完配置文件不重启网络直接去测远程连接测不通就开始怀疑人生。顺序永远是改配置 →systemctl restart network→ip addr确认 →ping三层验证 → 再测远程。这个习惯养成后排错效率高一大截。第三yum 源早点换成国内的。CentOS7 停维之后官方源基本用不了得换成阿里云、华为云的归档源否则yum install一定会报错。换源流程不复杂网上模板很多但要注意把$releasever变量处理对它可能拿不到正确的版本号。我自己习惯直接写死7避免变量解析问题。第四养成改配置前备份的习惯。cp ifcfg-ens33 ifcfg-ens33.bak这一行敲下去只要两秒但当你配置改错又忘了原来长什么样的时候它能救你一命。我还会把每次大改动前的关键文件统一放到一个/root/backup目录加个日期后缀回头找起来清楚。第五别一开始就追求完美环境。新手容易犯的毛病是想一步到位配好所有东西网络、Docker、防火墙、定时任务全上结果哪一步出问题都定位不到。正确做法是分层推进先保证系统能起来、网络能通打快照再装你需要的服务再打快照。每一层都可回滚排错范围也就一层。这套流程走下来从零到能远程连上、能装包、能跑服务熟练了半小时内能搞定。真正花时间的不是操作是理解和排错。把上面这些原理和坑点搞明白后面你再遇到任何虚拟机网络问题基本都能自己定位到是哪一层出了问题而不是凭感觉瞎试。