虚拟机里装 Linux 这件事,我从 VMware Workstation 8 那个年代就开始折腾,中间踩过的坑能从桌子这头摆到那头。这篇要聊的是CentOS 7 在 VMware 里的完整安装过程——标题里写成了 CentIOS7,其实是社区里最常见的拼写手滑,正式名称是 CentOS 7,下文统一按 CentOS 7 来说。
为什么到现在还有人在 VMware 里装它?原因其实挺实在:CentOS 7 的软件包生态极其稳定,大量企业内部系统、教学实验环境、运维考证练习都还跑在这个版本上;而 VMware Workstation 提供的快照、克隆、网络隔离能力,让它成了练习 Linux 最省心的沙箱。你要是刚入门 Linux、准备考证、或者手头需要一个随时能推倒重来的实验机,这套组合依旧是最省事的路径。
接下来我会从镜像和虚拟机的准备工作开始,一路讲到系统装完之后的收尾配置、必做快照、工具安装,最后把常见的报错和处理办法整理成速查表。每一步我都会说清楚为什么这么做,而不只是告诉你点哪里。
1. 准备工作:镜像、虚拟机软件和硬件账
动手之前有三件事必须先落地:镜像是哪一版、虚拟机软件用哪个版本、宿主机能拿出多少资源。这三件事决定后面是顺风顺水还是全程卡顿。
1.1 CentOS 7 的版本选择和镜像获取
CentOS 7 的最后一个正式版本是 7.9.2009,之后这个分支就进入了维护终止状态,官方的常规镜像站已经不再提供下载。所以现在拿镜像有两个途径:一是从官方的归档站点(vault)拉取历史版本,二是从国内一些高校或云厂商的镜像站找 7.9.2009 的归档目录。
镜像文件一般选CentOS-7-x86_64-DVD-2009.iso,大约 4.5 GB。为什么不选 Minimal 版?Minimal 确实小,只有 1 GB 左右,装完也没有图形界面,但它在安装过程中没有"软件选择"这一步的完整选项,后面想补装图形环境或者开发工具,还得重新配源下载。DVD 版自带完整的软件仓库,装的时候可以自由勾选,离线装机也不会因为断网卡住。
下载完之后一定要校验,这一步很多人跳过,最后安装到一半报"介质损坏"再回头找原因,浪费的时间远多于校验那几十秒:
# Linux / macOS 下 sha256sum CentOS-7-x86_64-DVD-2009.iso:: Windows 下用官方自带命令 certutil -hashfile CentOS-7-x86_64-DVD-2009.iso SHA256把输出结果和归档页面上标注的 SHA256 值逐位对比,一致才算安全。
注意:CentOS 7 已经停止维护,官方源的常规地址已经失效,安装完成后必须换到 vault 归档源,否则 yum 会直接报
Cannot find a valid baseurl。这一点在第 4 章会给出具体的替换命令。
如果你只是学 Linux 基础命令,对发行版没有硬性要求,其实也可以考虑 Rocky Linux 或 AlmaLinux 这类和 RHEL 完全兼容的后续版本,源还在维护,不用担心哪天拉不到包。但如果是跟着教程或者考试大纲走,那就老老实实用 CentOS 7.9.2009。
1.2 VMware Workstation 的版本取舍与授权问题
虚拟机软件这边,Workstation Pro 17.x 是目前的主流选择。它的图形性能、快照管理、嵌套虚拟化支持都比较成熟,对 CentOS 7 这种老系统的兼容性也没问题。
关于授权,这里必须说清楚:从 2024 年开始,Workstation Pro 对个人使用已经免费开放,官网注册账号后按提示选择个人用途即可获取授权,完全不需要去网上找所谓的"密钥最新版"。那些来路不明的密钥和激活工具,轻则失效,重则夹带乱七八糟的东西,为一个免费软件冒这个风险完全不值。
下载渠道只认官方支持门户。搜索时看到各种第三方"下载站""绿色版""精简版",一律绕开——精简版往往砍掉了驱动模块或者网络组件,装完虚拟机连不上网、快照用不了,问题排查起来比重装还费劲。
版本选择上,如果你的宿主机是 Windows 11 或者较新的硬件平台,建议直接上 17.x 的最新小版本;如果宿主机是 Windows 7 或者比较老的机器,Workstation 15 或 16 反而更稳,17 的一些新驱动在老系统上会挑刺。
1.3 宿主机资源的分配账
虚拟机的性能瓶颈基本都落在宿主机上,分配之前先把账算清楚。
内存是最关键的一项。宿主机的物理内存减去系统自身占用(Windows 一般吃掉 4 GB 左右),剩下的才是你能分给虚拟机的。如果你只开一台虚拟机,分 2 GB 就能流畅跑最小化安装的 CentOS 7;要装 GNOME 桌面,最好给到 4 GB。宿主机本身建议至少 16 GB 内存,8 GB 的机器开一台带桌面的虚拟机就会明显发卡。
CPU 方面,虚拟机分配的核数不要超过宿主机的物理核心数。宿主机是 4 核 8 线程,给虚拟机 2 核是比较舒服的配置;要跑编译或者多个服务,可以给到 4 核,但别把宿主机饿死。
磁盘是最容易被低估的一项。CentOS 7 最小化安装大约占用 1.5 GB,带 GNOME 桌面约 8 GB,加上后续装的软件和日志,20 GB 是底线,40 GB 用起来更从容。存放位置一定选固态硬盘,虚拟机跑在机械盘上,光开机就能让你等到怀疑人生。
| 配置项 | 最低能跑 | 推荐舒服 | 说明 |
|---|---|---|---|
| 内存 | 1 GiB | 2 至 4 GiB | GNOME 桌面至少 2 GiB |
| 处理器 | 1 核 | 2 核 | 编译类实验给 4 核 |
| 磁盘 | 20 GiB | 40 至 60 GiB | 选拆分多文件便于迁移 |
| 显存 | 默认值 | 128 MiB | 只对图形界面有意义 |
| 磁盘类型 | SCSI | SCSI | CentOS 7 自带驱动,无需改 |
实操心得:虚拟磁盘默认是"按需增长"模式,你给 40 GB,实际不会立刻占掉 40 GB,而是随着数据写入慢慢涨。但"预分配"模式会在创建瞬间把 40 GB 全部吃掉,虽然读写性能略好,但在笔记本上很容易把盘撑爆。日常练习选按需增长就够了。
2. 虚拟机的创建:从新建向导到硬件参数落地
准备做完,进入实际动手环节。这一章的重点不是"点下一步",而是每个选项背后的取舍逻辑。
2.1 新建向导的三条路线怎么选
打开 Workstation,新建虚拟机的向导会给出两个选项:典型和自定义。很多人图快选典型,结果遇到两个麻烦:一是 VMware 检测到 CentOS 的 ISO 后会自动启用简易安装,帮你把分区、账户、软件包一股脑配好,你根本没机会控制;二是网络模式、磁盘控制器这些参数被默认值锁死,后面再改要关机折腾。
我的建议是走自定义路线,并且在"安装来源"这一步选"稍后安装操作系统"。这样做的好处是虚拟机先按你设定的参数创建好,光驱是空的,等你检查完硬件配置再挂 ISO 启动安装,整个过程完全在掌控中。
客户机操作系统类型选 Linux,版本选 CentOS 7 64 位。这个选择只影响 VMware 给出的默认硬件建议,不影响实际安装,但选对了能让默认值更贴近实际需求。
2.2 硬件参数逐项拆解
命名和存放位置这一步,虚拟机名称别用中文和空格,路径也尽量短。Windows 下路径过长或者含中文,偶尔会出现磁盘文件创建失败的情况。存放目录最好单独建一个,比如D:\vms\centos7-lab,方便后续备份和迁移。
处理器配置界面有两个数字:处理器数量和每个处理器的核心数。这两者相乘才是虚拟机看到的总核数。比如处理器数量填 1、每处理器核心数填 2,虚拟机里nproc看到的就是 2。要留意的是,某些老版本 Windows 对多路 CPU 支持有限,如果你分了 2 路 × 2 核,虚拟机里可能只认到一部分。稳妥做法是处理器数量保持 1,把核心数往上加。
内存按前面算的账来给。这里有个小细节:Workstation 允许你超额分配内存,但它不会阻止你,分太多会导致宿主机频繁使用交换文件,整个系统都变卡。
网络类型这一步在后面单独展开讲,先记住默认是 NAT。
磁盘容量填 40 GB,磁盘类型保持 SCSI,模式选"拆分成多个文件"。拆分模式单文件最大 2 GB,方便拷贝到移动硬盘或者在文件系统容量受限的情况下存放;如果你不打算移动虚拟机,用单个大文件性能会略好一点点。
创建完成后别急着开机,先点"编辑虚拟机设置"做两件事:把打印机、声卡这些用不上的设备删掉,减少开机时的设备探测;确认 CD/DVD 指向你下载好的 ISO 文件,并且勾选"启动时连接"。
注意事项:如果你后续要做嵌套虚拟化实验(比如在 CentOS 里再装 KVM),需要在"处理器"设置里勾选"虚拟化 Intel VT-x/EPT 或 AMD-V/RVI"这一项。宿主机 BIOS 里的虚拟化开关也必须打开,否则开机时 Workstation 会弹窗提示硬件不支持。
2.3 网络模式选型对后续使用的影响
网络模式是很多人装完才后悔的一个点,因为改起来要关机,而且可能影响已经配好的 IP。三种模式的差别其实很清楚。
桥接模式让虚拟机直接接入宿主机所在的局域网,从路由器拿一个独立 IP,局域网内其他机器能直接访问它。适合把虚拟机当服务器用的场景,比如搭个内网测试服务给同事访问。缺点是换网络环境(比如从公司网络切到家里 WiFi)后 IP 会变,之前配的静态地址可能冲突。
NAT 模式是虚拟机通过宿主机做地址转换上网,虚拟机在独立的一个网段里,外面看不到它,但它能访问外网。宿主机换了网络环境也不影响虚拟机内部配置,非常适合笔记本用户和纯上网练习的场景。代价是局域网内其他机器访问不到虚拟机,需要在 Workstation 的"虚拟网络编辑器"里做端口转发才行。
仅主机模式只连宿主机,虚拟机完全上不了外网。这个模式适合做隔离性实验,比如测试恶意样本、搭建断网环境模拟生产内网。
| 模式 | 虚拟机能否上外网 | 局域网能否访问虚拟机 | 典型用途 |
|---|---|---|---|
| 桥接 | 能 | 能 | 当作局域网服务器使用 |
| NAT | 能 | 默认不能 | 日常学习、笔记本用户 |
| 仅主机 | 不能 | 不能 | 隔离实验、内网模拟 |
实操心得:我自己的习惯是实验机一律用 NAT,然后把网卡配置成 DHCP,需要固定 IP 的时候在 Workstation 的 NAT 设置里做端口转发,或者直接在虚拟机里配静态地址并记住网段(默认是 192.168.x.0/24)。这样无论宿主机换到哪个网络,虚拟机内部的配置都不用动。
3. 系统安装过程的逐步实录
硬件参数落定,挂上 ISO 开机,正式进入 CentOS 7 的安装程序。这一章按安装界面的实际顺序走一遍,把每一步的取舍说透。
3.1 引导菜单与安装界面的基础设置
开机后会先看到 CentOS 7 的引导菜单,几个选项里选第一项"Install CentOS 7"直接回车。第二项是介质检测,如果你没做 SHA256 校验,可以先跑一遍检测;校验过的话跳过能省几分钟。
接下来是一屏刷过去的启动日志,正常情况会直接进入图形化的安装向导。如果卡在某一行不动超过两三分钟,多半是内存给太少或者 ISO 有问题,先加大内存再试。
进入向导第一屏是语言选择。这里建议选"中文(简体)",安装界面会中文化,对新手友好。但要注意:安装界面的语言和装完之后的系统语言是两码事,前者只影响安装过程,后者在"软件选择"里单独设置。
第二屏是安装摘要,所有关键配置都在这一页上,包括本地化、软件、系统、网络四块。第一次装的人容易漏掉网络和分区,装完才发现不对劲,所以这一屏一定逐项检查过去。
3.2 本地化设置与软件选择
本地化这块有三项:日期时间、键盘、语言支持。
日期时间选"亚洲/上海",时区会自动跳到东八区。强烈建议勾选"网络时间"开关,让系统通过网络对时,避免虚拟机长时间不开机导致时间漂移。时间不准的后果比想象中严重:yum 会因为证书有效期判断出错而拒绝连接,日志时间戳也会乱套。
键盘保持默认的英语(美国)就行,中文输入法是在系统里另外装的,跟这里无关。
语言支持默认只勾了中文,如果你以后要看英文文档或者用英文界面的工具,可以顺手把英语也勾上,多装几个语言包不会占多少空间。
软件选择是这一屏里最容易出错的地方。点击"软件选择"进去,左侧是一列环境选项:
- 最小安装:只有基础命令和核心库,没有图形界面,装完约 1.5 GB。适合当服务器用,也适合想纯练命令行的场景。
- 基础设施服务器:在最小安装基础上多了一些常用服务组件,比如网络工具、性能监控。
- 带 GUI 的服务器:带 GNOME 桌面环境,适合需要图形界面的新手。
- 工作站:桌面环境更完整,装的东西最多。
我自己的选择是,纯练习命令和服务器配置就选最小安装,然后到右侧的"附加选项"里勾几个实用组件:兼容性库、开发工具、系统管理工具、系统工具。勾上"开发工具"的好处是 gcc、make、perl 这些编译环境一次到位,后面装 VMware Tools 或者编译软件不会卡在缺依赖上。
如果装图形界面,选"带 GUI 的服务器",右侧再把开发工具勾上,装完直接能用,省去后面补装的麻烦。
3.3 分区方案:自动还是手工
安装位置这一项是核心。进去之后默认是自动分区,勾选磁盘后点完成就行。自动分区会创建/boot、/和 swap,但不会单独分/home,所有数据挤在根分区里。
学习环境下自动分区完全够用,但手工分区能让你更清楚系统的结构,也方便以后扩容。我的做法是选"我要配置分区",然后按这个方案来:
| 挂载点 | 建议容量 | 文件系统 | 说明 |
|---|---|---|---|
| /boot | 1 GiB | xfs | 独立出来便于系统救援 |
| swap | 2 至 4 GiB | swap | 内存小于 8 GiB 给 2 倍,大于则给 4 GiB |
| / | 剩余空间 | xfs | 根分区,LVM 管理 |
| /home | 可选,10 GiB | xfs | 数据与系统分离,重装时可保留 |
分区方案选 LVM 而不是标准分区,原因是 LVM 支持在线扩容。虚拟机磁盘不够用了,在 Workstation 里把虚拟磁盘扩容,然后进系统用lvextend加空间,不用重装。标准分区就没有这个灵活性。
swap 大小的传统说法是内存的 1 到 2 倍,但在虚拟机场景下这个规则基本失效了——宿主机内存充足,虚拟机很少真的用到 swap,给 2 GB 完全够用了。除非你做内存压力测试,那可以适当加大。
注意事项:如果你打算给虚拟机扩容,
/和/home都用 LVM 会有优势。但/boot不建议放进 LVM,因为部分引导程序对 LVM 根分区的支持需要额外配置,独立成标准分区最省事。
3.4 网络和主机名:安装阶段就把网卡打开
网络和主机名这一项,默认状态下以太网开关是关闭的。很多人装完才发现网络不通,回头还要改配置文件,其实在这个界面点一下开关就能解决。
打开开关后,DHCP 会自动分配地址,界面下方能看到实际拿到的 IP。主机名可以自定义,比如lab-centos7,别用默认的localhost.localdomain,多个虚拟机一起跑的时候不好区分。
如果你需要固定 IP,可以直接点"配置"进去手工填地址、网关和 DNS。但更稳妥的做法是先让它用 DHCP 装完,重启之后再改静态配置,避免安装阶段网络配置出错导致后面下包失败。
3.5 用户设置与首次启动
安全策略这一项保持默认即可,它会加载一些基础的安全规则。学习环境下不用折腾。
KDUMP 是一项内核崩溃转储服务,默认开启,会占用一部分内存做保留。纯学习环境可以直接把勾去掉,能省下 128 MB 到 256 MB 内存,对内存紧张的小虚拟机挺有用。生产环境就别关了,崩溃时的转储信息对排查问题很有价值。
设置 root 密码时,如果密码强度不够,界面上会出现两次"完成"按钮,需要点两次才能确认。这是 CentOS 7 的一个设计,不是 bug。密码建议设成有大小写字母加数字的组合,太简单的话第一次登录也可能被拒绝。
另外强烈建议创建一个普通用户,并勾选"将此用户设为管理员"。日常操作用普通用户加sudo,比一直用 root 安全得多,也能养成好习惯。
以上全部配置好,点右下角"开始安装"。安装过程中会看到软件包逐个展开,同时可以趁这段时间先设好 root 密码和普通用户,不用干等着。
装完点"重启",会提示先拔出安装介质。在虚拟机里,这一步是自动处理的——Workstation 检测到重启信号后会断开 ISO 连接,所以直接点重启就行。
4. 装完之后必须先做的几件事
系统能进桌面或者命令行,不等于这台机器能用了。下面这几件事按顺序做,能省下后面大量的返工时间。
4.1 第一件事:关机打快照
这是我最想强调的一步。系统刚装完、还没做任何改动的时候,是这台虚拟机最干净的状态。这时候关机、打一个快照,命名成"纯净系统",后面无论把系统折腾成什么样,一键就能回到这个点。
操作方式是先执行shutdown -h now关机,然后在 Workstation 菜单里找"虚拟机 → 快照 → 拍摄快照",填个名字和描述。描述一定要写,比如"CentOS 7.9 最小化安装,已配网络,未装任何服务"。过两个月回头看一堆快照,没描述的话你根本分不清哪个是哪个。
实操心得:快照不是越多越好。每个快照都会让虚拟磁盘的增长变快,而且多个快照叠加会拖慢磁盘性能。我的习惯是只保留三个关键节点:纯净系统、装完基础环境、装完主要服务。做完一个实验,如果能确定不再回退,就把中间的快照删掉,只留最新的基线。
还需要注意的是,快照不等于备份。快照文件本身和虚拟磁盘是关联的,如果宿主机硬盘坏了,虚拟机和它的快照一起没了。重要环境还是要定期把虚拟机文件夹完整复制到另一块盘上。
4.2 VMware Tools 的安装与那个恼人的报错
装完系统,屏幕分辨率不能自适应、鼠标在宿主机和虚拟机之间切换要按快捷键、复制粘贴不互通——这些全都是没装 VMware Tools 的表现。
现在的 CentOS 7 已经内置了开源版本的 open-vm-tools,而且官方也推荐用这个,而不是去挂载 Workstation 自带的工具包。原因很实际:官方工具包里的驱动是编译源码安装的,内核一升级就得重编,而 open-vm-tools 由系统仓库统一管理,跟着内核更新走。
安装命令很简单:
yum install -y open-vm-tools # 如果装了图形界面,再装桌面支持 yum install -y open-vm-tools-desktop systemctl enable --now vmtoolsd装完检查一下版本:
vmware-toolbox-cmd -v有输出就说明服务起来了。分辨率、剪贴板、拖拽文件这些功能通常立刻生效,如果没生效,注销重新登录一次或者重启虚拟机。
那如果你偏要用官方工具包怎么办?挂载之后进系统:
mount /dev/cdrom /mnt/cdrom ls /mnt/cdrom tar -zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/ cd /tmp/vmware-tools-distrib ./vmware-install.pl很多人跑完最后一步会看到 "继续运行脚本未能在虚拟机中成功运行" 之类的提示,或者脚本在搜索内核头文件时死循环。原因基本固定在三处:没有 gcc 和 make、没有对应当前内核版本的 kernel-devel、缺少 perl。补齐依赖再跑就好:
yum install -y perl gcc make kernel-devel kernel-headers # 关键:确认 kernel-devel 版本和当前运行内核一致 uname -r rpm -q kernel-devel如果两者版本对不上,说明系统更新装的新内核还没重启生效,或者 kernel-devel 装的是另一个版本。最直接的解法是重启进最新内核,或者按当前内核版本精确安装:
yum install -y kernel-devel-$(uname -r)我个人现在一律用 open-vm-tools,除非有特殊需求。省事、可维护,才是长期跑虚拟机的正确姿势。
4.3 防火墙和 SELinux:关之前先想清楚代价
教程里经常看到一上来就systemctl stop firewalld和setenforce 0,搞得好像这两个东西天生碍事。实际情况是,它们碍事只是因为你还没配对应的规则。
学习阶段为了减少干扰,临时关掉是可以接受的:
systemctl stop firewalld systemctl disable firewalld setenforce 0但setenforce 0只是当前生效,重启就恢复。要永久关闭得改配置文件:
vi /etc/selinux/config # 把 SELINUX=enforcing 改成 SELINUX=permissivepermissive模式下策略不拦截,只记录日志,比disabled更温和,也方便你观察哪些操作被拦了。真要彻底关,改成disabled,然后重启。
注意事项:如果你是在练服务部署,我的建议是别急着关。firewalld 加端口就一行命令,
firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload,比关掉之后再排查"为什么外网访问不到"要省事。SELinux 同理,很多"文件权限明明对了却读不到"的怪问题都是它拦的,先看/var/log/audit/audit.log再决定要不要放行,比一关了之更有收获。
4.4 换源、装常用工具、校准时间
CentOS 7 停止维护之后,原来的镜像地址已经不可用了。装完系统第一件事就是把仓库地址换到归档源:
cd /etc/yum.repos.d/ sed -i 's|^mirrorlist=|#mirrorlist=|g' CentOS-*.repo sed -i 's|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://vault.centos.org/7.9.2009|g' CentOS-*.repo yum clean all yum makecache执行完yum makecache看到仓库元数据正常拉下来,就说明源换好了。之后再装东西就不会报找不到地址。
常用工具一次装齐,省得以后一个个补:
yum install -y vim wget curl net-tools tree lsof bash-completion chrony systemctl enable --now chronyd chronyc sources -vnet-tools提供ifconfig、netstat这些老命令,CentOS 7 默认不带,但很多教程还在用,装上能少踩一些"命令找不到"的坑。bash-completion让命令补全更好用,输入命令时按 Tab 能补出参数。chrony负责时间同步,前面安装时勾了网络时间的话这步可以跳过,没勾的话补上。
共享文件夹也是常被问到的一项。在 Workstation 的虚拟机设置里启用共享文件夹并指定宿主机目录后,系统里这样挂载:
vmware-hgfsclient # 确认能看到共享名 mkdir -p /mnt/hgfs vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other要开机自动挂载,可以写进/etc/fstab:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other 0 0这一步依赖 open-vm-tools 已经装好,顺序别搞反。
5. 常见问题与排查速查表
虚拟机这东西,出问题的环节比较集中,下面按阶段把高频故障整理出来,遇到的时候对着查。
5.1 安装阶段的高频故障
安装阶段的问题大多和硬件资源、镜像完整性、引导设置有关。
| 现象 | 大概率原因 | 处理办法 |
|---|---|---|
| 开机提示 No bootable device | 光驱没连接或引导顺序不对 | 检查 CD/DVD 是否指向 ISO 并勾选启动时连接 |
| 启动卡在 dracut 或黑屏 | 内存不足或镜像损坏 | 内存加到 2 GiB,重新校验镜像 |
| 提示此主机支持 Intel VT-x 但被禁用 | 宿主机 BIOS 虚拟化未开 | 开机进 BIOS 打开虚拟化选项 |
| 安装界面花屏、乱码 | 显存太小或图形驱动兼容问题 | 提高显存,或在引导菜单加nomodeset |
| 安装进度条长时间不动 | 磁盘在机械盘上或 ISO 读取慢 | 换到固态硬盘,或改用本地磁盘上的 ISO |
| 完成安装后重启又进安装界面 | 光驱没断开 | 关机后在设置里取消"启动时连接" |
引导菜单那一步其实还藏着一个实用选项:按 Tab 键可以编辑内核引导参数。如果你的机器在安装时卡在图形界面起不来,加上nomodeset参数往往能绕过显卡驱动的问题,顺利进入文本安装模式。
5.2 装完之后的高频故障
系统装完,问题会转移到网络、工具、软件包这几块。
| 现象 | 大概率原因 | 处理办法 |
|---|---|---|
| yum 报 Cannot find a valid baseurl | CentOS 7 源已失效 | 按 4.4 节替换为归档源 |
| ping 不通外网但能 ping 通网关 | DNS 没配 | 编辑/etc/resolv.conf加 nameserver |
| 分辨率不能自适应、剪贴板不通 | 没装 VMware Tools | 装 open-vm-tools 及桌面组件 |
| VMware Tools 安装脚本报运行失败 | 缺 gcc、perl 或 kernel-devel | 补齐依赖,或改用 open-vm-tools |
| 复制粘贴的文字粘不进去 | 未装桌面版工具 | 装 open-vm-tools-desktop 后重启 |
| 虚拟机时间越走越偏 | 没开时间同步 | 启用 chronyd 或安装时勾选网络时间 |
| 磁盘满了想扩容 | 初始容量给小了 | Workstation 扩容后进系统 lvextend |
关于主机侧的问题也顺带说两句。有些人在 Windows 上装 Workstation 时会碰到"需要 VMware install disk 上的文件 .dll"或者"无法在更新服务器上找到组件"这类提示,基本都不是虚拟机的问题,而是安装包本身不完整或者上一版本没卸干净。处理顺序是:先用官方提供的清理工具把残留的注册表项和驱动清掉,重启,再用完整下载的安装包重装。别用第三方"清理大师",它们删不干净反而更容易搞乱。
卸载 Workstation 也是同理,控制面板卸载完并不代表干净,驱动和虚拟网卡可能还留在系统里。下次装新版就会冲突。这时候同样要用官方清理工具跑一遍。
5.3 让虚拟机长期好用的几个习惯
跑虚拟机跑了这么多年,有几个习惯是我吃过亏之后固定下来的。
第一是命名规范。虚拟机名字、文件夹名、快照名,统一带日期和用途,比如centos7-base-20250101。半年之后你打开一堆虚拟机,只有名字能救命。
第二是宿主机和虚拟机的文件交换走共享文件夹,别用拖拽。拖拽在大文件上容易中断,而且不同版本的工具支持程度不一样。共享文件夹挂载好之后,用cp走,稳得多。
第三是定期把虚拟机目录整体复制一份到别的盘。快照保护的是"操作失误",保护不了硬盘故障。虚拟机文件看着不大,里面跑过的东西丢了,重搭的时间成本往往远超预期。
第四是别在虚拟机里放唯一一份重要数据。虚拟机的本质是一堆文件,文件系统损坏、宿主系统崩溃、误删目录,任何一种都可能让整台机器瞬间消失。真正的数据要么放宿主机,要么放外部存储,虚拟机里只放能重建的东西。
最后聊一个很多人会纠结的点:装完之后要不要立刻把所有能装的软件都装上。我的建议是不要。先把系统跑起来,打个快照,然后按实际需要一项项装,每装完一类就再打个快照。这样做的好处是,一旦某个软件把环境搞乱了,你能精确回退到出问题之前,而不是一刀切回到最原始的状态,前面配好的东西全部重来。虚拟机最大的价值就在这种可以随便试错的安全感,把这个能力用足,比装多少软件都重要。