尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
VMware创建CentOS虚拟机:从安装到配置的完整实战指南
VMware里创建CentOS虚拟机这个操作我这些年做了太多次了从大学时装的CentOS 5到现在的CentOS Stream中间踩过不少坑。今天就把整套流程完整捋一遍从VMware Workstation的下载安装、CentOS镜像的选型到虚拟机创建、系统安装、VMware Tools配置再到后期扩容、备份、迁移和常见问题排查让刚接触的人照着能装出一台正常使用的CentOS虚拟机也让老手能查漏补缺。1. 准备工作VMware Workstation与CentOS镜像的选型1.1 VMware Workstation Pro 17下载安装与两个坑先解决宿主机的阵地。VMware Workstation Pro 目前是17.x版本个人使用已经免费这是VMware归到Broadcom之后放开的政策在Broadcom官方下载页面注册一个账号选“Personal Use”个人使用授权就能拿到Windows版安装包。网站前后换过几版入口确实不算好找但别去第三方站点下那种打包过的东西容易带私货账号密码、浏览器设置都可能被改这点要切记。安装本身没什么特殊选项一路Next就行安装包大概几百MB下个几分钟。真正要花心思的是装完之后的环境检查有两点必须在装之前或者刚装完时确认不然新建虚拟机大概率要返工。第一Windows得开启硬件虚拟化。判断方法很简单打开任务管理器性能页看“虚拟化”是不是“已启用”。如果显示未启用进主板BIOS/UEFI里找Intel VT-x或AMD-V开关不同主板牌子位置不一样但一般都在CPU或高级设置下面。没开这个VMware装64位的CentOS十有八九会出问题而且报错让人摸不着头脑最常见的就是“此主机支持Intel VT-x但Intel VT-x处于禁用状态”。第二如果你电脑上开了Hyper-V、Windows虚拟机监控程序平台或者Windows安全中心的“内核隔离/内存完整性”VMware可能出现兼容性报错。两者其实可以共存前提是开启Windows的“Hypervisor Platform”功能但我个人的习惯是直接关掉Hyper-VVMware跑起来最干净也不需要额外的兼容层。这个取舍看实际需要如果你平时还要用WSL2或者Docker Desktop那保留Hyper-V就得走兼容路线。装完打开VMware Workstation Pro新建虚拟机之前还有一个小建议先把“编辑→首选项→更新→启动时检查更新”关掉不然每次打开都弹更新提示演示或上课的时候很尴尬后台的更新检查也会时不时占一点CPU和网络资源。这个选项虽然无关紧要但关掉之后整个软件用起来清爽不少。1.2 CentOS版本怎么选别盲目追新也别死守老版本镜像选型是很多人会忽视的一步。CentOS家族目前常见的是CentOS 7.9最后的7系列小版本2009、CentOS Stream 8/9/10。CentOS 7已经结束维护官方源也基本停止更新如果你只是为了学习或临时搭建环境建议直接CentOS Stream 9或10属于滚动更新版内核和软件包比老版本新不少用来练手不会遇到装个软件都要找旧源的问题。也有些场景确实必须用CentOS 7比如公司老项目还在跑或者某个软件只支持RHEL 7系。那就选7.9 2009但注意装完之后必须先处理yum源因为7的官方源已经归档到vault直接用原来的源会连不上这个问题在后面换源部分我会专门说。镜像类型上主要用Minimal和DVD两种镜像类型大小适用场景Minimal1.6GB左右服务器、无图形界面需求、喜欢自己装组件DVD3.8GB~9GB需要图形界面、离线安装包较多Everything8GB以上全量离线仓库一般用不上新手如果怕命令行不熟可以先选DVD装个带桌面的环境把基础摸熟了再回头折腾Minimal。老手或者目标是跑服务的Minimal起步最干净后面缺什么装什么也好排查依赖问题。1.3 镜像下载与校验别把校验跳过下载ISO我有两个习惯一是优先去国内高校或云厂商镜像站速度比官方快得多比如阿里云镜像和清华TUNA二是下载完必校验哈希值。这个校验步骤很多教程会跳过去但我在实际维护中遇到过ISO损坏导致安装到一半报错的案例排查了大半天最后发现是镜像下载不完整纯浪费时间。Windows下校验SHA256很简单在CMD里执行certutil -hashfile CentOS-Stream-9-latest-x86_64-dvd1.iso SHA256Linux下用sha256sum CentOS-Stream-9-latest-x86_64-dvd1.iso然后把输出的那串哈希值和镜像站提供的SHA256SUMS文件对比一致再用。这一步十几秒的事值得养成习惯。跳过校验的代价有时候会很惨我有一次装CentOS 7在“软件包安装”阶段反复报错重试了好几轮都没用最后重新下载镜像一次解决白白耗掉一个下午。2. 创建虚拟机的完整流程与参数设计2.1 新建虚拟机这几步设置别乱选打开VMware Workstation Pro文件→新建虚拟机选“自定义高级”比“典型”更实用因为可以一步到位控制硬件和固件类型。到“安装程序光盘映像文件”那一步先不急着选ISO选“稍后安装操作系统”这样虚拟机创建完成后还能随时换镜像配置也更灵活。这个选择影响不算大但灵活性差很多后面想换版本就是几秒钟的事。客户机操作系统这里一定要选Linux版本选CentOS 7 64位或CentOS 8 64位和下载镜像的大版本对应。版本选得不对VMware虽然也能启动但一些自动适配逻辑会走偏比如默认固件和SCSI控制器类型容易出现系统起不来或者磁盘认不到的情况。这种问题我在给别人排查时见过新建虚拟机时改一个下拉框就能解决属于典型的低级但隐蔽的错误。名称和位置建议单独建一个目录比如D:\VMs\CentOS-Stream-9别放到系统盘用户目录下虚拟机磁盘文件动辄几十GBC盘塞满之后整个电脑都会变卡。这个目录名会显示在VMware的库面板里起得规范一点比如“CentOS-Stream-9-dev”后面同时维护多台虚拟机的时候会非常省心。我自己的目录命名习惯是“系统名-版本-用途”时间长了也不会看混。2.2 CPU、内存、磁盘参数怎么给才合理虚拟硬件配置没有绝对标准但有一个安全区间可以参考。处理器2核是最低推荐跑编译或者装桌面环境可以给4核但别贪心给到物理核心数的一半以上反而会因为CPU调度开销导致整体变慢更何况拖慢宿主机对谁都没好处。内存CentOS Minimal建议至少2GB带GNOME桌面的至少4GB开发机可以给到8GB。宿主机内存自己得留够否则宿主机卡顿不说虚拟机里的服务也会频繁触发swap磁盘IO直接飙升。我见过有人把16G内存全塞给虚拟机宿主机卡到鼠标都飘虚拟机里的编译也没快多少。磁盘20GB是最小可用量但装完系统加常用软件很容易就满了我自己的习惯是Minimal给40GB、带桌面版给60GB。磁盘类型保持默认的SCSI或SATA就行NVMe性能好一些但老内核比如CentOS 7早期版本对NVMe支持不完善装的时候可能找不到盘没必要冒险。注意两个磁盘相关的选项要留心。“立即分配所有磁盘空间”别勾虚拟磁盘本身是稀疏文件用多少占多少一旦预分配几十GB空间瞬间没掉“将虚拟磁盘存储为单个文件”保留性能略好也便于迁移拆成2GB小文件只有上传云盘时才需要。2.3 系统安装全程分区、软件选择与网络启动虚拟机之后如果没自动进入安装界面手动挂载一下ISO虚拟机→设置→CD/DVD→使用ISO映像文件。开机后第一个界面通常有“Test this media install”和“Install CentOS”两个选项第一次装可以测一下介质装过多次就直接选Install没必要每次等完整校验这一步能省两三分钟。进入安装信息摘要页有几个地方必须处理。日期时间选亚洲/上海打开网络时间同步不设时区的后果是日志时间全错排查问题时各种对不上非常痛苦。软件选择Minimal镜像默认就是最小安装如果你用DVD镜像是可以选带GNOME桌面的。我自己建议先用Minimal走一遍因为后面用虚拟机练Linux的时候少一个桌面环境就少一层干扰等你真需要界面去装也是几分钟的事。安装目的地新手直接点“自动配置分区”就好CentOS安装器默认会按LVM来分生成一个卷组后续想扩容可以直接lvextend不用推倒重来。自动分区有一个小问题是/boot和/的分配比例不一定最合理但日常使用完全足够。网络和主机名进入后把网卡开关打开NAT模式下自动获取IP主机名改成好认的比如centos-dev最后设置root密码并创建一个普通用户。安装过程通常几分钟到十几分钟取决于磁盘速度和镜像类型。装完重启前会提示移除安装介质在虚拟机设置里把CD/DVD改为“使用物理驱动器”或直接断开不然下次开机又会进入安装引导界面白白浪费时间。3. 系统安装后的必备设置与VMware Tools3.1 换源、装基础工具、确认网络CentOS 7刚装完第一件事就是把yum源换掉因为官方源已经归档直接用会报连接超时或404。备份原有repo文件然后用阿里云或清华的vault源替代。CentOS Stream 9则简单很多原始源基本可用想加速一样能换成国内镜像地址。对CentOS 7的vault源操作命令我贴在下面注意不同小版本的repo文件名会略有差异以实际目录为准# 先备份 cp -a /etc/yum.repos.d /etc/yum.repos.d.bak sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-Base.repo sed -i s|^#baseurlhttp://mirror.centos.org/centos|baseurlhttp://mirrors.aliyun.com/centos-vault|g /etc/yum.repos.d/CentOS-Base.repo yum clean all yum makecache执行完看到元数据缓存成功源就没问题了。这里有个细节容易被忽略CentOS 7的老repo在EOL之后很多镜像站只留vault目录如果直接用原有地址解析到的都是空目录或者404后续装任何包都可能卡在源解析上。基础工具包我的固定清单是vim、net-tools、wget、lrzsz、bash-completion、chrony。前几个不用解释lrzsz提供rz/sz命令终端里传文件非常方便chrony做时间同步。装完bash-completion之后建议退出终端重进否则补全不生效你以为自己没装成功其实只是没有重新加载shell配置。网络验证别只盯着ping更稳的方法是同时测ping -c 3和DNS解析一个测链路一个测解析能快速把问题定位到具体层。3.2 VMware Tools决定复制粘贴和分辨率的关键虚拟机装好系统后有一个动作千万别跳过安装VMware Tools。没有它虚拟机的窗口分辨率不会自适应、鼠标进出不流畅、拖拽复制文件更是想都别想。现在的推荐做法是直接装open-vm-tools包这是VMware官方维护的开源版本不用挂VMware自带的安装CD也不用走编译流程。安装命令只有一条yum install -y open-vm-tools装完后确认服务在跑systemctl status vmtoolsd如果用的是旧方式比如虚拟机菜单里的“安装VMware Tools”挂载的虚拟光驱里有一个tar.gz解压后执行vmware-install.pl一路默认即可。但说实话这种编译方式依赖内核头文件等一堆东西CentOS新版本上还容易因为kernel-devel版本不匹配失败非特殊情况我真不推荐直接open-vm-tools省心太多。VMware Tools就位并重启一次虚拟机后分辨率会自动跟随窗口大小拖拽复制一般也就恢复了。如果还是不行检查虚拟机设置里“选项→客户机隔离”的两个勾是否打开。共享文件夹在“选项”页设置启动后挂载mkdir -p /mnt/hgfs vmhgfs-fuse .host:/ /mnt/hgfs想开机自动挂载就把挂载行写进/etc/fstab。有两个容易踩的坑共享路径里别带中文Windows端目录名有中文时挂载会莫名失败另外共享文件夹默认挂载到/mnt/hgfs如果目录不存在记得mkdir先建好。3.3 快照与克隆装完基础环境后先拍一张当我完成系统安装、换源、装好常用工具之后一定会做的动作就是拍快照。VMware菜单里“虚拟机→快照→拍摄快照”名称写“base”备注里写一句“CentOS Stream 9 open-vm-tools 已配置”。快照意味着后面无论你怎么折腾坏了直接恢复快照几十秒回到干净状态这个能力是物理机给不了的。克隆要单独说。右键虚拟机→管理→克隆有两种模式完整克隆和链接克隆。完整克隆会生成一个独立的新虚拟磁盘文件可分发可移植链接克隆依赖父磁盘省空间但父磁盘不能删。我给团队成员分发的模板用完整克隆自己本地快速开实验机用链接克隆。克隆出来的虚拟机默认带着原系统的hostname、SSH主机密钥和网卡信息直接开机会冲突重新设置hostname、清理 /etc/ssh/ssh_host_* 并重启sshd就能解决。克隆还有一个技巧先给原虚拟机拍快照再基于快照做链接克隆这样克隆出来的机器互不干扰且不会因为原虚拟机继续写入导致父磁盘被锁定。我日常做实验经常一台父机挂几个克隆体环境互不污染用完一键删除很爽快。4. 常见问题与排查技巧实录先给一个速查表下面再挑几个展开讲现象常见原因解决方向虚拟机开机蓝屏或卡住宿主虚拟化未开启镜像与固件不匹配开启VT-x/AMD-V检查BIOS/UEFI模式复制粘贴失效VMware Tools未安装安装open-vm-tools并重启拖拽文件没反应客户机隔离选项未开勾选“启用拖拽和复制粘贴”虚拟机没网NAT服务被禁用启动VMware NAT/DHCP服务网卡起来但IP获取不到网卡未激活或DHCP异常用nmcli激活dhclient手动获取时间越来越不准未启用时间同步安装chrony或勾选宿主机同步磁盘空间不足初始分配太小VMware设置扩容分区逻辑卷扩展4.1 开机蓝屏或无法引导的排查顺序虚拟机蓝屏分两种情况一种是一启动VMware界面就报错另一种是虚拟机里引导时崩溃。前者多半是宿主机虚拟化没开或者Hyper-V抢占打开任务管理器确认虚拟化状态没有就去BIOS开Windows功能里Hyper-V和虚拟机监控程序平台如果开着要么关要么用兼容路线。后者在装CentOS时较少见但如果出现“Kernel panic”或卡死在某个模块先查固件类型。虚拟机设置→选项→高级→固件类型CentOS 7 某些场景下对UEFI支持并不完美改成BIOS引导通常能解决。还有一个隐蔽原因客户机操作系统版本选错了比如选了CentOS 7 64位但镜像是Stream 9系统类型自动配置会偏离正常值新建虚拟机时重新选对版本比瞎排查要快得多。4.2 复制粘贴、拖拽失效的详细排查定位顺序就三步先确认open-vm-tools装没装、vmtoolsd服务在不在跑再确认客户机隔离的两个勾是否勾上最后重启虚拟机。三步做完九成能恢复。我自己遇到过一种邪门情况open-vm-tools装了服务也跑着但拖拽就是没反应最后发现是虚拟机设置里“客户机隔离”的“拖拽”没勾上勾上重启就恢复了。如果三步都试过还不行有个土办法叫共享文件夹兜底。设一个共享目录Windows和虚拟机各在自己侧访问虽然没有拖拽直观但文件至少能来回倒。还要提醒一句拖拽复制大文件比如好几个GB的压缩包极容易卡住或中断这种场景老老实实走共享文件夹或scp别贪方便。4.3 虚拟机无法联网从宿主机服务到虚拟机内一一排查NAT模式下虚拟机通过宿主机上网宿主机上负责转发的是Windows服务里的VMware NAT Servicevmnet8。如果你装的是精简版VMware或者某优化软件把启动服务关了虚拟机里就怎么都上不了网。在services.msc里确认VMware NAT Service和VMware DHCP Service都处于运行状态再回到虚拟机内查网卡。CentOS 7里网卡默认是ens33先激活再确认IPnmcli device status nmcli connection up ens33如果还是拿不到IP手动触发一次DHCPdhclient ens33桥接模式单独说一句虚拟机如果选桥接宿主机用无线网卡切Wi-Fi或换热点都会导致虚拟机掉线。桥接适合需要局域网其他设备直接访问虚拟机的场景日常学习用NAT最省心。4.4 时间漂移与虚拟机的性能小优化时间漂移是虚拟机通病尤其宿主机睡眠唤醒后虚拟机里的系统时间可能差出几分钟甚至更多直接影响cron任务和日志排查。解决思路是装chronyyum install -y chrony systemctl enable --now chronyd同时VMware里有一个设置虚拟机设置→选项→高级→“每次唤醒时同步虚拟机时间”建议勾上双保险。如果你观察发现时间仍然不准优先检查宿主机的电源计划睡眠频率太高会让所有时间同步方案都打折扣。性能方面两个点值得说。一是给虚拟机CPU勾上“虚拟化Intel VT-x/EPT或AMD-V/RVI”在处理器的高级选项里这个选项对嵌套虚拟化和编译性能都有帮助。二是虚拟磁盘尽量放在固态盘上机械硬盘跑编译会让你怀疑人生。把整个虚拟机目录放到SSD之后开机速度和包安装速度差距非常明显这个提升是硬件层面马上能感知的。5. 进阶操作扩容、备份与迁移5.1 磁盘扩容从VMware设置到系统内分区扩展虚拟磁盘空间不够了扩容的步骤其实不难但容易错。首先注意如果虚拟机有快照VMware不允许直接调整磁盘大小先删掉旧快照或者恢复后再操作。然后在关机状态下虚拟机设置→硬盘→磁盘工具→扩展把容量调大比如40GB扩到60GB。开机进CentOS后先确认新空间有没有识别lsblk如果虚拟机是自动配置分区的LVM结构典型流程是下面这样# 用fdisk删除物理卷所在分区sda2并重建保留原起始扇区 fdisk /dev/sda # 输入 d 删除分区 2再输入 n 重建分区 2起始扇区保持默认或沿用原值类型改成LVM8e partprobe /dev/sda pvresize /dev/sda2 lvextend -l 100%FREE /dev/mapper/cl-root xfs_growfs /这里最容易翻车的两个点一是fdisk重建分区时起始扇区必须和原来一致如果删了重建后起始位置偏移数据就没了第一次操作时建议把fdisk的p输出截图留底二是根文件系统如果是xfs只能用xfs_growfs如果是ext4则用resize2fs命令不能混用。动手之前先拍快照一旦失手恢复成本非常高这个不是危言耸听。5.2 Clonezilla备份比快照更可靠的系统保险快照依赖VMware的虚拟磁盘文件如果整个虚拟机目录被误删或者想换到另一台电脑上快照就不好使了。Clonezilla是另一套思路它把分区或整个磁盘打成镜像文件镜像可以拷到U盘、网盘、其他磁盘随时恢复。简单理解快照是给当前虚拟机留后路Clonezilla是给系统做可携带的备份包。在VMware里用的步骤不复杂下载Clonezilla的ISO虚拟机设置里挂载开机进入固件菜单选择从CD启动。进入界面后选device-image模式镜像仓库建议挂一块额外的虚拟磁盘或者用共享文件夹映射到宿主机目录不然源盘和目标写在同一个盘上会比较尴尬。备份CentOS时可选savedisk备份整个磁盘也可以saveparts只备份根分区。实测下来CentOS的备份和恢复基本半小时内搞定相当于系统级的保险丝。5.3 虚拟磁盘转U盘DiskGenius的玩法与限制有些场景要把虚拟机里的系统搬到真实设备上比如做好了一个定制化CentOS环境想做成U盘启动盘带走。VMware的虚拟磁盘文件vmdk无法直接被物理机识别DiskGenius这类工具可以把vmdk打开再克隆到U盘。操作思路DiskGenius里打开虚拟磁盘文件然后选择克隆磁盘功能把虚拟磁盘内容克隆到U盘注意U盘容量要大于虚拟磁盘的实际使用量。说实话这个玩法我试过几次成功率并不高主要卡在驱动上虚拟机里用的是虚拟SCSI控制器到了物理机上变成SATA或NVMe内核没有对应驱动就蓝屏。如果只是想快速分发一个可复制的CentOS环境完整克隆虚拟机或导出OVF模板要靠谱得多。想转U盘物理启动得提前在内核里集成好目标机器的磁盘驱动属于高阶定制新手不建议一上来就折腾这个。最后分享一点个人习惯我在虚拟机里每完成一个阶段目标都会拍一张快照再继续往下走装软件、改配置、练命令都遵循这个节奏坏了就回滚不心疼这才是虚拟机的正确打开方式。如果你刚接触Linux建议就从一台CentOS虚拟机开始折腾它给你充分的试错空间试错恰恰是学Linux最快的方式。补充一个小技巧虚拟机里卡死想强制返回宿主机时按住CtrlAlt鼠标就会出来想全屏显示按CtrlAltEnter切换。希望这篇指南能让你少走一些弯路。
RELATED

相关推荐

Java校园旧物交易系统开发实战:从环境配置到论文答辩

Java校园旧物交易系统开发实战:从环境配置到论文答辩

每年毕业季,图书馆和宿舍楼下总能看到一堆堆被遗弃的教材、台灯、自行车。其实这些东西里很多都还有使用价值,但缺乏一个靠谱的流转渠道。我前两年带学生做课设时,恰好有小组选了这个题目——Java实现的校园旧物交易系统,当时跟着…

📅 2026/10/3 9:16:50
Python商品销售预测实战:轻量可落地的工作流设计

Python商品销售预测实战:轻量可落地的工作流设计

简介:本资源是一份面向数据分析初学者与课程设计学生的Python销售预测实战项目,聚焦商品销量趋势建模与业务洞察,覆盖数据清洗、特征工程、时序建模与结果可视化全流程。压缩包共72个文件,含20个核心Python脚本(含LSTM…

📅 2026/10/3 9:16:50
AURIX TC3XX启动流程深度解析:从SSW到BMHD,避开复位大坑

AURIX TC3XX启动流程深度解析:从SSW到BMHD,避开复位大坑

接触AURIX TC3XX系列的人,十有八九会被它的启动流程坑上一次。我第一次拿劳特巴赫连上TC39x板子,点了一下复位,PC停在0x701xxxxx,第一反应是“完蛋,程序没烧进去”。后来仔细查手册才明白,这个地址根本不是…

📅 2026/10/3 9:16:50
MORE NEWS

更多资讯

📰

DeepSeek Harness桌面端上手:安装配置、插件Skill部署与报错排查

1. 桌面端来了,为什么这件事比想象中重要DeepSeek Harness 这个工具,圈内人一般直接叫它 DSH。它最早是以命令行形态出现的,核心定位是给大模型应用做一层"编排外壳"——把模型调用、工具调用、文件读写、Skill 执行这些东西串起来…

📰

全国大学生计算机设计大赛作品包实战:源码、说明与数据库导入联调指南

简介:这份资源是全国大学生计算机设计大赛参赛作品的完整工程包,面向计算机、软件工程、电子信息等专业的学生与指导教师,可用于课程设计、期末大作业、毕业设计参考,也适合作为竞赛项目的学习范本。压缩包共438个文件&#xff0c…

📰

一小时Python入门:从环境安装到写出第一个实用整理程序

先跟各位打算入坑 Python 的朋友说句实在话:零基础学编程,第一步根本不是语法,而是把环境装好、把第一个程序跑起来。我见过太多人卡在安装这一步——官网链接一堆、版本看得眼花、装完双击图标发现什么反应都没有,然后就放弃了&a…

📰

MindSpore Transformers 大模型训练迁移与 GPT Layer 本地加速实战

1. 从一张卡到一套框架:为什么大模型训练迁移值得认真对待第一次把训练脚本从原来的框架搬到 MindSpore 上跑 GPT 类模型时,我盯着终端里滚动的日志看了整整一个下午。loss 曲线倒是在动,但每一步的耗时比预期高出一大截,GPU 利用…

📰

Java char与int类型转换详解:从隐式提升到边界陷阱

先说个我上周在项目里亲手踩的坑。线上有个服务突然报NumberFormatException,排查日志追了半天,最后定位到一行人畜无害的代码:某个参数被当成了char取出来,然后直接参与了数字计算。问题就出在d对应的 ASCII 码是 100&#xff0c…

📰

ciscn_2019_s_3 详解:两阶段 SROP 利用链与 syscall 接力

如果你对 SROP 的印象还停留在“用 pwntools 的 SigreturnFrame 把 rax 改成 15”,那么 ciscn_2019_s_3 这道题可能会让你卡一个下午。我第一次做这道题时,第一段 sigreturn 很快打通了,但真正 getshell 的时候才发现:程序里根本没…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬