资讯动态

M芯片Mac上用VMware Fusion安装CentOS Stream 9:完整避坑指南

发布时间:2026/10/22 19:32:11 来源:尧图企业网站定制
最近手头有台M2芯片的MacBook需要在本地跑一套接近生产环境的Linux虚拟机。对比了一圈方案最后选的是VMware Fusion CentOS Stream 9。这个组合在我折腾的过程中踩了不少坑而且很多坑来自网上教程的“信息断层”教程还在讲Intel版怎么装甚至教人下载x86_64镜像结果在M芯片上根本装不起来。这篇就把完整过程写下来从下载镜像、建虚拟机、安装系统到装完后的网络、VMware Tools和日常使用配置一次性说清楚。这篇东西适合谁看两类人一是有M1/M2/M3/M4芯片Mac想跑个CentOS Stream 9做开发、测试或学习Linux的二是已经在VMware Fusion里折腾过CentOS 7/8但换到CentOS Stream 9后发现“老经验失灵”的。如果你是纯小白也没关系我会把每个操作背后的原因也交代清楚照着做基本就能跑通。1. 为什么是“VMware Fusion CentOS Stream 9”这个组合1.1 先说清楚大前提M芯片上只能跑Arm版M系列芯片采用的是Arm架构和传统Intel的x86_64架构不同。这意味着常规的CentOS x86_64镜像在这个环境下是跑不起来的必须用AArch64架构的版本。这是整个教程里最容易出错的起点没有之一。许多教程之所以“照做之后翻车”就是因为教程作者根本没有意识到M芯片Mac上的虚拟机本质上也是在模拟一台Arm服务器。搞清楚这一点之后后面的选择就顺理成章了既然要装Arm版的Linux那么虚拟机软件也必须能创建Arm架构的虚拟机。VMware Fusion从13版本开始原生支持Apple Silicon能够直接创建AArch64虚拟机。之前只有Intel版Fusion的时候M芯片用户还得等一个叫“Technology Preview”的特殊版本现在倒是不用这么麻烦了。1.2 三个虚拟机平台的取舍在M芯片上能用的虚拟机方案其实有好几个我简单列一下我当时做的对比平台架构支持适合场景不足VMware FusionArm虚拟机原生支持工作中习惯VMware产品线后续要对接ESXi或需要和同事交换虚拟机格式通用个人免费版需要注册配置项对新手略多UTM支持多种模拟方式想尽量贴合Linux ARM环境、喜欢QEMU底层性能介于半模拟和全模拟之间配置复杂Parallels DesktopArm虚拟机支持完善追求开箱即用、图形体验好收费且虚拟机格式难以直接迁移到ESXi等平台我最后选了VMware Fusion主要是因为它的虚拟化方式更接近数据中心里常见的工作负载而且虚拟机配置文件的开放性更高。如果你只是临时跑个Linux看看Parallels可能更省心。但如果你像一样我时不时要测试集群脚本、Kickstart无人值守安装之类的东西VMware Fusion会更让人安心。1.3 CentOS Stream 9在测试环境里的定位CentOS Stream 9是CentOS Stream系列里对应RHEL 9开发流的版本。它和传统CentOS的区别在于传统CentOS是RHEL的复刻版而CentOS Stream是RHEL的上游“预览版”。换句话说CentOS Stream的更新会更频繁也能更早看到RHEL后续版本里可能出现的新特性。在做本地开发、模拟生产环境、跑CI脚本这类场景里CentOS Stream 9其实是一个很合理的选择它比RHEL省去了订阅环节又比一些滚动发行版更接近企业级Linux的行为习惯。而且它在AArch64架构下有官方持续构建镜像直接可用不需要像某些发行版那样自己折腾交叉编译。2. 下载和授权没人会提醒你的两件事2.1 VMware Fusion的版本与免费授权在写这篇教程的操作系统版本上我用的是VMware Fusion 13 Pro。没错现在VMware Fusion个人使用已经免费了不需要破解、不需要找keygen去官网注册一个账号就能下载到正式版本。需要注意的一点是下载的时候要看清楚安装包是否支持Apple Silicon通常下载页面会给两个安装包一个带Intel字样一个带Universal或Apple Silicon字样。如果你的Mac是M1/M2/M3/M4选Universal或Apple Silicon的版本别下错。下载完之后第一次启动时如果系统提示“无法打开因为无法验证开发者”去“系统设置-隐私与安全性-安全性”里点击“仍要打开”就行。2.2 ISO别再下成x86_64CentOS Stream 9的ISO下载页面默认展示的第一个链接往往是x86_64架构。但对M芯片来说必须找aarch64目录下的镜像。以CentOS Stream官方镜像站的结构为例应该去类似这样路径去找https://mirror.stream.centos.org/9-stream/BaseOS/aarch64/iso/里面会有DVD镜像和Minimal镜像。我推荐下载DVD镜像文件名大致是CentOS-Stream-9-latest-aarch64-dvd1.iso为什么推荐DVD而不是Minimal因为DVD镜像自带了安装程序所需的软件包仓库安装过程中不需要依赖外部网络源网络不好或镜像源一时连不上也不影响你装出完整系统。Minimal镜像只包含安装程序的骨架后续软件包的获取完全靠网络一旦网络配置出错你连安装进程都走不完。另外很多第三方下载站会提供各种名称的CentOS ISO我建议直接从官方镜像站或其列出的镜像源下载避免下到被篡改或架构标记错误的文件。2.3 校验镜像完整性下载完成后花十秒钟做一件事校验SHA256。macOS自带的shasum命令可以直接算。以DVD镜像为例shasum -a 256 CentOS-Stream-9-latest-aarch64-dvd1.iso算出来的结果要和官网提供的校验值比对。这一步不是强迫症而是为了防止下到一半断流损坏的文件。损坏的ISO在虚拟机里会出现“安装程序无法读取安装源”这种让人挠头的问题而这些问题排查起来比重新下载更费时。3. 创建虚拟机时最容易埋雷的几个选项3.1 新建向导自定义而非“自动检测”很多教程会让你直接把ISO拖进Fusion窗口让软件“自动检测”。这在Intel版虚拟机里偶尔能成功但在M芯片上自动检测经常把系统类型判断错导致创建出来的虚拟机无法启动安装程序。我的建议是点Fusion主界面的“新建”然后选择“创建自定义虚拟机”手动走流程。这个过程多花两分钟但每一步你都能控制后续出问题的概率小得多。自定义向导走到操作系统选择这一步时Fusion通常会列出大量选项。对CentOS Stream 9这类基于RHEL 9的发行版优先找“Red Hat Enterprise Linux 9 (ARM)”或相近的条目。如果没有选择通用的“Linux 5.x或更高版本”(ARM)也行。关键点是必须带ARM标记不带ARM的Linux选项是给Intel版虚拟机用的。3.2 操作系统类型怎么选不少人在系统类型这里选错是虚拟机建好以后黑屏或启动失败的主要原因。我实测下来选“Red Hat Enterprise Linux 9 (ARM)”最稳。因为CentOS Stream 9与RHEL 9的内核版本和磁盘布局非常接近Fusion会按照RHEL 9的方式生成虚拟机的固件、磁盘控制器和默认参数。如果你在列表里找不到“Red Hat”选项也可以选“Other Linux 5.x或更高版本 (ARM)”但安装过程中可能需要对内核启动参数多做一些手动调整。这里还有一个小技巧选择完操作系统类型后Fusion会创建一个默认的配置。如果你的版本选项里有“CentOS”或“Red Hat”两类可重合的选项优先选Red Hat系而不是通用的Linux因为虚拟机的硬件兼容性设置会更贴近真实服务器。3.3 硬件配置和虚拟机窗口尺寸M芯片的Mac内存普遍是8GB起步所以虚拟机给多少内存是个很现实的问题。以我的M2设备为例物理内存16GB给虚拟机分配了4GB内存和4个CPU核心。CentOS Stream 9装完桌面版之后跑起来不算吃紧如果是做服务器用途2GB内存都够。有一点值得说明很多人以为“分配越多越好”但在Apple Silicon上虚拟机的内存默认走动态分配机制Fusion不会一上来就占满全部物理内存而是根据负载逐步增加。所以初始分配可以按4GB起步之后在虚拟机“设置-处理器与内存”里随时调整不需要太纠结。磁盘容量方面建议给到40GB以上选择“动态分配”即可。动态分配的意思是虚拟机文件会按实际使用量增长而不是一次性在Mac上占用40GB适合大多数本地测试场景。如果你之后打算长期用这台虚拟机跑数据库或者构建缓存可以在设置里改成预分配读写性能会更好一点。3.4 网络模型和启动模式VMware Fusion的虚拟机网络默认为NAT模式对绝大多数场景都够用。NAT模式下虚拟机可以访问外网宿主机也能通过虚拟机的IP访问它和家里宽带路由器很像。启动虚拟机的方式Fusion默认是立即启动。但如果你创建虚拟机后马上点启动ISO挂载可能还没就绪安装界面直接不出现。稳妥的做法是创建完成后先在设置里确认“CD/DVD”设备确实指向了你的aarch64 ISO文件并且勾选了“连接CD/DVD驱动器”。然后再点启动按钮这样安装程序能稳定读到安装介质。4. 安装CentOS Stream 9三个让人卡住的画面4.1 安装源界面和自动挂载CentOS Stream 9的安装用的还是Anaconda安装器。启动之后第一个容易卡住的地方是“安装源(Installation Source)”界面。如果你用的是DVD镜像理论上安装源应该自动识别为“本地介质”。但某些Fusion版本对Arm虚拟机的光驱识别不够及时安装源界面会出现“正在探测”状态迟迟不进下一步。这时候不用干等直接做两步第一在安装源界面点“完成”让它用默认设置走第二如果提示找不到安装源把网络源的勾选去掉只保留本地介质。原因是安装程序在检测到DVD内软件包仓库之后才会生成软件包分组列表。如果光驱没有被正确挂载它就会尝试连远程仓库这在网络隔离环境里会直接卡死在外网环境下则慢得让人怀疑人生。4.2 图形界面没反应的文本安装在M芯片的Fusion虚拟机上CentOS Stream 9安装界面有时会停在一个黑屏或者只有一个鼠标箭头的画面这不是你的虚拟机坏了而是安装程序的图形模式对虚拟显卡的适配问题。我在这台M2设备上第一次安装时就遇到了卡了十分钟没有反应只能强制重启虚拟机。解决方法有两条方法一安装完成后用救援模式或再次启动ISO进入安装程序时按e编辑启动项在linux内核启动行最后加上参数inst.text然后按Ctrlx启动安装程序会进入纯文本交互界面虽然界面简陋但每一步状态清晰可见稳定性远好于图形模式。方法二如果连文本界面都不想看可以跳过图形界面直接用Kickstart无人值守安装。这个适合你已经准备好配置文件的场景不是新手首选。值得一提的是文本安装模式下有一些选项的位置和图形界面略有不同比如软件选择分区等操作需要按数字键切换页面。第一次用的时候我建议对着官方文档或者网上搜“Anaconda text mode centos”再看一眼流程避免误操作。4.3 磁盘分区与root密码里的常见错误安装过程中有一页“安装目的地(Installation Destination)”用来配置磁盘。我强烈建议新手直接选“自动配置分区”然后用默认的LVM方案。有些教程会教人手动分区但手动分区在Arm虚拟机上很容易踩到引导分区过小或EFI分区没创建的问题一旦分区表不适合UEFI引导装完系统之后无法启动。如果你非要手动分我实测可用的方案是/boot/efi512MB文件系统格式选EFI System Partition/剩余所有空间推荐xfs选择LVM卷组root密码那一步CentOS Stream 9默认策略要求强密码。如果你只是本地测试可以设置一个相对复杂但好记的密码。有一个细节安装器会问你是否锁定root账户如果你之后需要用root直接SSH登录这里就不要锁。但如果你平时习惯用普通用户加sudo那锁root更安全。具体看你自己的使用习惯。5. 进入系统后的第一轮配置5.1 安装open-vm-tools并验证服务系统装完后第一件事就是安装VMware Tools。在旧教程里VMware Tools一般指VMware提供的二进制驱动包但现在Linux发行版直接集成了开源版本叫open-vm-tools。CentOS Stream 9的软件仓库里就有一条命令搞定sudo dnf install -y open-vm-tools安装完成后启动并设置开机自启sudo systemctl enable --now vmtoolsd这个名字叫vmtoolsd的服务运行后虚拟机的窗口分辨率会自动跟随Fusion窗口大小变化复制粘贴、拖放文件这些功能也会正常工作。如果没有这个服务你会发现虚拟机窗口固定在一个分辨率怎么调都别扭所以这步别漏。5.2 网络不通时的nmcli抢救我在安装完第一遍CentOS Stream 9后遇到过网络没起来的问题。具体表现是Fusion里NAT模式正常DHCP也给虚拟机分配了IP但虚拟机内部就是上不了外网ping任何地址都失败。排查方法如下ip addr nmcli device status如果网络连接显示“已断开”或者“unmanaged”先试试用NetworkManager重新激活连接sudo nmcli connection up Wired connection 1如果还是不通再手动配置静态IP。先用ip addr看看虚拟机的网卡名然后用nmcli修改连接参数例如sudo nmcli connection modify Wired connection 1 \ ipv4.method manual \ ipv4.addresses 192.168.xxx.xxx/24 \ ipv4.gateway 192.168.xxx.1 \ ipv4.dns 8.8.8.8这里的IP段需要根据你Fusion实际分配的NAT网段来填可以查看Fusion菜单里的“虚拟网络编辑器”确认子网信息。手动设置完之后再激活连接基本就能通网。5.3 共享目录和窗口自适应有了open-vm-tools之后Fusion的“共享文件夹”功能就好用了。在Fusion菜单里选择“设置-共享”把Mac上的某个目录加进去虚拟机里会自动挂载到/mnt/hgfs下方便在Mac和虚拟机之间互传文件。有一点要注意如果你发现/mnt/hgfs目录不存在很可能需要手动安装并加载hgfs内核模块sudo dnf install -y open-vm-tools-devel sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs不过在新版open-vm-tools配合CentOS Stream 9内核时这类问题很少见。大多数情况下装完open-vm-tools后窗口分辨率和共享目录都能自动解决不需要额外操作。5.4 更新系统和安装常用软件装完系统先别急着配置业务环境执行一次全量更新sudo dnf updateCentOS Stream 9的软件包仓库默认已经配置好更新速度取决于网络。如果有现成的内网镜像源比如公司内部或高校镜像可以修改/etc/yum.repos.d/下的repo文件把基础URL指向更快的内网地址。接下来可以按需安装常用工具比如sudo dnf install -y vim wget git tar net-tools如果你是做开发建议再装一个open-vm-tools-devel包方便之后编译依赖虚拟化功能的程序。6. 落地跑了一个月之后我给这份教程打的补丁6.1 重启后无法引导的恢复思路这是我在使用过程中遇到的最让人头疼的问题虚拟机第一次重启后直接卡在黑色GRUB界面或者显示“Operating System not found”。排查到最后问题基本出现在分区方式和固件类型不匹配上。在M芯片的Fusion里虚拟机固件默认是UEFI所以分区表必须是GPT并且要有独立的EFI系统分区。如果你在安装时选择了传统BIOS引导或者手动分区时漏掉了/boot/efi分区重启后就会因为找不到引导加载器而失败。遇到这种情况不要急着重装。可以在虚拟机设置里再次挂载安装ISO以救援模式进入系统用grub2-mkconfig重新生成引导配置并确认efibootmgr能正常识别Linux引导项。如果搞不定直接重新安装、在分区界面选择自动分区也是最省时间的方案。6.2 建议长期保持的设置在跑了一个月之后我觉得有几个设置很值得调整CPU与内存分配不要开太多虚拟机M芯片的Mac在多个Arm虚拟机同时运行时会明显发热。保持单虚拟机状态CPU给4核以内、内存给4GB左右日常使用最均衡。启用磁盘TrimCentOS Stream 9在虚拟磁盘上支持Trim命令打开之后能避免虚拟机文件随着反复写入而膨胀过大。执行以下命令确认sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer这样每周会自动Trim一次虚拟机文件磁盘占用会比较健康。快照管理在做一个比较复杂的安装或配置前先给虚拟机打一个快照。Fusion的“快照”功能可以让你随时回滚到之前的干净状态对踩坑排查来说价值极高。6.3 最后一段大实话什么时候应该改用其他方案VMware Fusion CentOS Stream 9的组合胜在稳定、标准、易迁移但它不是M芯片上跑Linux的唯一答案甚至不总是最优解。如果你只是想在Mac上随手敲几个Linux命令用Docker或方法Podman要轻量得多启动速度和资源占用都比完整虚拟机舒服。如果你的目标是体验CentOS Stream 9的桌面环境Parallels Desktop的图形性能会明显优于Fusion。但如果你需要练的是“怎么在一台标准化的Linux服务器上干活”比如配网卡、挂磁盘、设SELinux、做系统更新那VMware Fusion虚拟机里的CentOS Stream 9给你的真实感是Docker容器替代不了的。我在实际操作中体会最深的一点是别被网上的“一键教程”带着走。M芯片的虚拟化生态一直在变每个小版本的系统镜像、虚拟机软件都可能调整默认行为。把这篇教程当作一份带路地图安装过程中多看一眼报错信息多理解每一步背后的原因你才能真正把这台CentOS Stream 9玩顺。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑