把 Mac mini M4 接上显示器的第一个周末,我基本没干别的,就耗在“怎么在上面把 Kali 装利索”这一件事上。Kali 是安全研究场景里最常用的 Debian 系发行版,装好它,本地就等于多了一个随时能搭实验环境的工具箱。网上一搜,Apple Silicon 虚拟化跑 Kali 的教程确实不少,可十篇里有八篇还停留在 Intel 时代,剩下的要么推荐云端方案,要么用的模拟器体验很差。我最后落地的组合是:VMware Fusion 25H2 + Kali 官方 ARM64 安装镜像,桌面环境选 Xfce。从把 ISO 拖进 Fusion 到第一次看见桌面登录框,全程大约四十分钟,中间有两个坑不看官方文档根本绕不过去。这篇就按我的实际操作顺序,把选型、下载、建机、安装、首启调优完整过一遍,给同样想在 M4 上本地折腾 Kali 的人一份可以直接照做的流程。
1. 为什么是这套组合:M4 上跑 Kali 的方案对比
1.1 Mac mini M4 的虚拟化前提:ARM64 是硬门槛
先讲清楚一个物理前提。Mac mini M4 用的是 Apple Silicon,整个 CPU 指令集是 ARM64,不是 Intel 的 x86。这意味着你不能像老 Mac 那样装个 Intel 版的虚拟化软件再硬跑 x86 镜像——Apple Silicon 上没有 x86 的硬件虚拟化支持,Fusion 在 M 系芯片上只能创建 ARM64 架构的虚拟机。所以第一步的结论只有一个:镜像必须选 ARM64 版,别看到“Kali ISO”就想当然去下 x86 的。
这句话说得轻巧,但我见过不止一个人卡在这一步。他们用的是 Intel 时代流传的下载链接,拿回来一个 amd64 的镜像,在 Fusion 里要么直接提示架构不匹配,要么虽然能创建虚拟机,但一开机就黑屏,或者干脆提示无法引导。Apple Silicon 设备上跑任何虚拟机方案,都必须遵守“客户机是什么架构,镜像就得是什么架构”这条铁律。M4 上跑 Kali,唯一正确的选择就是 Kali 官方持续维护的 arm64 版本。
1.2 Fusion、Parallels、UTM 三选一,我为什么投了 Fusion
Apple Silicon 上能跑 Kali 的主流方案其实有三个:VMware Fusion、Parallels Desktop、UTM。每个我都试过,简单说下体验差异。
UTM 是 QEMU 封装,免费开源,能跑的系统很杂,但图形性能和系统集成度一般,日常操作偶尔会有一种“帧率不够”的黏滞感,尤其是窗口拖动或者快速滚动终端输出时。Parallels Desktop 在 Apple Silicon 上的口碑一直不错,图形加速和与 macOS 的集成确实做得好,但它是收费软件,而且它的 Linux 模板更多面向日常桌面使用,拿来长期跑 Kali 这类滚动更新发行版,反而要多操心模板兼容和工具链版本的问题。
VMware Fusion 现在对个人用户免费,25H2 这个版本号就是 2025 下半年发布版的命名规则。它对 ARM64 Linux 的支持是原生级别的,创建虚拟机时能直接以 ARM64 架构建机,CPU、内存、磁盘、网络都走 macOS 的 Hypervisor.framework 虚拟化框架,性能接近裸机。对 Kali 这类 Debian 系发行版尤其友好,因为 Fusion 的 Linux 识别库里包含了较新的 Debian 内核版本,很多参数不用手动配。综合免费、原生 ARM64 支持、和 macOS 的集成度这三条,我最终选了 Fusion。
1.3 Xfce 而不是 GNOME:虚拟机里别跟资源过不去
桌面环境选 Xfce 是另一个我坚持的决定。Kali 近年的默认桌面一直在往 GNOME 靠,但 GNOME 在虚拟机里的表现,尤其是没有强图形加速的情况下,动画和窗口管理的开销明显偏大。Xfce 走的是轻量路线,内存占用低,界面响应快,在 Fusion 分配 4 到 8GB 内存的虚拟机里,窗口拖拽、终端滚动、浏览器开文档都非常跟手。
另外,Xfce 对“高 DPI 缩放”这类虚拟机显示问题处理得比较老实,不像 GNOME 在分辨率切换时偶尔出现窗口模糊或者字体渲染怪异的状况。安全测试也好,日常跑工具也罢,桌面环境应该是个不添乱的背景板,而不是消耗资源的负担。Kali 安装器在软件选择环节本身就给了一堆桌面选项,Xfce 一直在列表里,选它就完了。
2. 下载与校验:ARM64 安装镜像的两个关键判断
2.1 该下哪个文件:Installer ISO 与预装 VM 镜像的区别
进入 Kali 官网的下载页,你会看到密密麻麻的镜像,对新手来说确实容易懵。按用途分,其实就两类。
一类是 VM 预装镜像。Kali 官方为一些虚拟化平台提供了解压就能用的压缩包,目前官方维护的主要是 Parallels 和 UTM 的 Apple Silicon 版本,VMware Fusion 的预装包并没有持续跟进到 ARM64 形态,或者是比较老的版本。所以别在 Fusion 里硬试那些包,你会发现要么解压出来的格式不对,要么虚拟磁盘文件对应的是别的平台的配置。
另一类是 Installer ISO,也就是安装器镜像。我们要的是其中文件名带 arm64 的那个,形如kali-linux-2025.2-installer-arm64.iso。注意看文件名,别把 amd64 当成“通用版”下载了——amd64 是 x86 架构,在 M 系列芯片上没法直接引导。这个安装器镜像自带图形安装界面,装出来的系统是干净的标准 Kali,后续想装什么工具自己用 apt 拉就行,自由度比预装镜像高得多。
我的建议是:用 Installer ISO 自己装。原因有两个。第一,Fusion 毕竟是独立的虚拟化平台,官方预装镜像的 VMware 版本不一定紧跟最新 Kali 发布,自己装可以确保系统和发行版最新状态对齐。第二,安装过程本身就是一次很好的排错演练,以后遇到引导、分区、GRUB 问题,你知道该往哪看,而不是两眼一抹黑。
2.2 校验步骤与一个常见误区
下载完之后别急着拖进 Fusion,先校验。Kali 官网每个镜像旁边都挂着 SHA256 校验值,在 macOS 终端里执行:
shasum -a 256 ~/Downloads/kali-linux-2025.2-installer-arm64.iso把输出的 64 位十六进制串和官网页面上的值逐字符对比。这个环节不是走过场,Kali 镜像一般走镜像站分发,中间经过 CDN 转手,理论上存在镜像被污染的可能,虽然概率极低,但安全类发行版还是该有安全类发行版的自觉,校验这一步必须做。
这里有一个很多人不知道的误区:校验的是.iso文件本身,不是 ISO 旁边的压缩包。如果你下载的是.7z或者.torrent相关文件,需要先解压或者完整下载得到 ISO,再对 ISO 算哈希。有人拿.7z的哈希去比对了半天,怎么都对不上,以为文件坏了,其实比错了对象。
校验通过后,我有个小习惯:把 ISO 单独放到一个目录,别和一堆乱七八糟的下载混在一起。后面创建虚拟机要指定这个镜像路径,路径里最好别有空格和中文,Fusion 虽然能处理,但少一个变量,之后排查问题就少一个方向。
3. Fusion 25H2 建机:架构选择、硬件配额与安全模式
3.1 新建虚拟机的关键选项
打开 Fusion 25H2,新建虚拟机的入口在 File > New。把 ISO 拖进弹窗,Fusion 会自动识别镜像里的引导信息,通常能认成 Debian 12.x 64-bit 之类的 Linux ARM64 模板。
这里要注意:在 Apple Silicon 的 Fusion 上,创建向导会确认架构方向,界面里会出现 Apple Silicon 和 Intel 之类的架构选择。你选 Apple Silicon 方向,然后确认操作系统的架构一栏是 ARM64。如果 Fusion 自动识别出来的模板带着 x86 字样,宁可手动改成 Other Linux 5.x kernel 64-bit (ARM)。这个细节决定了后面能不能正常引导,值得多看一眼。
创建过程的另一个细节是引导固件类型。Fusion 对 ARM64 Linux 客户机一般用 UEFI 引导,Kali 的 arm64 镜像同时支持 UEFI 和传统 BIOS,保持默认的 UEFI 就行,不用特意去改。如果你在之后的安装过程中遇到引导相关的报错,再回来检查这里的设置,通常能排除掉一半的变量。
3.2 内存、CPU 与磁盘的配额参考
硬件配额这块,我的建议基于 Mac mini M4 的基础配置(16GB 内存)来给,直接抄作业就行:
| 资源 | 建议值 | 说明 |
|---|---|---|
| 内存 | 8GB | 留一半给 macOS 本体,Kali 跑桌面和常用工具都够 |
| CPU | 4 核 | M4 的 10 核里分 4 个给虚拟机,别贪多 |
| 磁盘 | 80GB | 默认 20GB 装完组件就开始报警,直接给大点,省得后面扩盘 |
| 网络 | NAT | 默认即可,稳定省心,之后要隔离实验网再做自定义 |
内存这个参数多说两句。有人觉得 Kali 以命令行为主,给 4GB 够了,实际装完 Xfce 桌面之后,再开浏览器和几个工具窗口,内存很快就见底,系统会明显变卡。虚拟机内存要和宿主机内存一起算:Mac mini M4 是 16GB 起步,虚拟机占 8GB,macOS 还剩 8GB,日常使用不会吃紧。
CPU 核数反而别给满。虚拟机里 4 核是甜点区,M4 总共 10 核,你给 8 核,单线程任务并不会翻倍变快,反而会和宿主机日常任务抢调度,两边都卡。磁盘建议 80GB,是因为 Kali 的滚动更新比较吃空间,工具链、软件包缓存、日志,几个月下来 40GB 很容易被吃掉。创建时一次给足,比以后扩盘再去动分区要省心得多。
3.3 Standard 还是 Secure:这个选项卡你半小时
Fusion 在 Apple Silicon 上创建虚拟机时,有一个 Standard Virtual Machine 和 Secure Virtual Machine 的选择。Secure 模式会启用更强的内存隔离和引导保护,听起来更安全,但代价是部分 Linux 内核在这个模式下会启动失败——表现就是 GRUB 之后黑屏、光标闪烁,然后整个虚拟机没有任何响应。
我第一次安装就卡在这个地方。当时创建完虚拟机,从 ISO 引导直接黑屏,一点反应都没有。排查路径是:先怀疑 ISO 坏了,重新校验哈希发现没问题;又怀疑架构选错,回去一看也是 ARM64;最后翻了 Fusion 的官方兼容说明,才知道问题出在 Secure 虚拟机模式——部分 ARM64 Linux 发行版的加载机制和 Secure 模式的启动隔离不兼容。
解决办法很简单:创建虚拟机时选 Standard Virtual Machine。如果已经用 Secure 模式建好了,也可以在虚拟机设置里切换,然后重启虚拟机。切到 Standard 之后,ISO 引导流程一次就过了。所以我的建议很直接:跑 Kali 这类 Linux 客户机,直接选 Standard,安全隔离在这个场景里没有实际收益,兼容性才是第一位的。
4. 安装器实录:从语言选择到 GRUB 刷进虚拟盘
4.1 引导与分区:新手也能一遍过的配置顺序
虚拟机开机后,从 ISO 引导会进入 Kali 的安装器菜单,第一个界面有 Install 和 Graphical install 两个主要选项。选 Graphical install,图形化界面在虚拟机窗口里操作更直观。
接下来的安装流程是一串标准 Debian 系步骤,顺着走就行:
- 语言:选 English。终端命令和工具输出的编码问题少,后续需要中文界面可以在系统里再装语言包。
- 位置和键盘:位置选 other > Asia > 中国会顺带配好时区,键盘保持默认即可。
- 网络:虚拟机的 NAT 网卡默认走 DHCP,安装器会自动拿到地址。主机名填 kali,域名留空。
分区这一步是大多数人最紧张的地方,其实在虚拟机里完全不用慌。选择 Guided - use entire disk,目标盘就是虚拟磁盘,提示通常是 /dev/sda(SATA 虚拟盘)或者 /dev/vda(部分配置下的 virtio 盘)。接下来选 All files in one partition——单分区方案,新手最不容易出错,Kali 对单分区没有特殊要求。
最后安装器会问是否把改动写入磁盘,确认即可。这里提醒一句:虚拟机里怎么分区都不会影响实体 Mac 的磁盘,因为虚拟磁盘在宿主机上只是一个大文件,随便折腾,大不了删掉重建。这也是我推荐先在虚拟机上练手的原因之一,容错成本几乎为零。
4.2 软件选择环节:只勾 Xfce,工具集按需来
安装进行到 Software selection 步骤时,界面是一堆复选框,分为桌面环境和工具集两块。桌面环境列表里有 GNOME、Xfce、KDE Plasma、LXDE 等,需要手动把 Xfce 勾上,并且把 GNOME 的默认勾选取消。要是两个都勾,装出来的系统会同时存在两套桌面会话管理器,登录时还要切换,纯属浪费空间。
工具集部分,Kali 安装器提供了几个预定义的安装集合,比如 top10、默认工具、无线工具等。我的做法是只选最基础的 Kali tools 默认集合和标准系统工具。装完系统之后,再通过 apt 按需安装具体工具。这样镜像保持精简,启动更快,也不会有“装了一堆用不上”的冗余。
这一步的等待时间主要取决于网络和磁盘速度。Fusion 里给虚拟机 4 核、8GB 内存的话,整体安装大概十五到二十分钟。中间会看到下载软件包的进度条,不要以为卡住了——虚拟机里没有 macOS 那样流畅的图形进度反馈,耐心等就好。如果进度条长时间不动,再检查是不是网络配置那一步有问题。
4.3 重启陷阱:ISO 还挂着就会二进宫
最后一步是安装 GRUB 引导器。提示选择引导安装位置时,选整个磁盘 /dev/sda,而不是分区 /dev/sda1。然后安装器会提示安装完成,询问是否重启,点击重启。
到这里,最容易踩的坑出现了:Fusion 里的虚拟光驱还挂着安装 ISO,重启后主机会再次从 ISO 引导,于是你又看到安装器的初始界面,还以为系统没装上。别慌,这不是装失败了,是引导顺序的问题。
处理方法:让虚拟机强制关机,打开设置,找到 CD/DVD 相关选项,把 Connected 取消勾选,也就是断开 ISO 的挂载。然后再开机,这时候虚拟机会从硬盘引导,看到 GRUB 菜单和 Kali 的启动 logo,系统就算真正装好了。这个小坑几乎是每个第一次在 Fusion 里装 Kali 的人都会碰到的,提前知道能省下二十分钟的反复重启。
5. 首次进入 Xfce 桌面后的必修课
5.1 装 open-vm-tools:剪贴板、共享目录和自适应分辨率都靠它
第一次看到 Xfce 桌面时,默认分辨率通常很低,大概 1024x768 甚至更小。鼠标键盘能工作,但窗口显示很局促。而且你会发现,从宿主机往虚拟机里复制粘贴文本是失效的,拖拽文件也没反应。这些问题的根源都一样:虚拟机里没装 Fusion 的客户机增强组件。
Fusion 对 Linux 客户机的增强组件不是旧式的 VMware Tools 安装包,而是 open-vm-tools。在 Kali 终端里执行:
sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktop装完重启一次虚拟机,你会看到几个明显变化:窗口分辨率能跟随虚拟机窗口大小自动调整了;宿主机和虚拟机之间的剪贴板双向打通了;如果之后配置了共享文件夹,文件操作也会顺畅很多。这一步强烈建议在第一次开机后就做,别拖。因为后续很多操作在“小窗口低分辨率、不能复制粘贴”的环境下做起来非常痛苦,先把基础体验搞好,后面效率才上得来。
5.2 分辨率与显示问题排查
如果装完 open-vm-tools-desktop 之后分辨率还是固定在那几个档位,先确认增强服务的运行状态:
systemctl status open-vm-tools正常状态应该是 active (running)。如果服务没起来,手动启动然后重启虚拟机。另外可以在 Xfce 的 Settings > Display 里手动选更高的分辨率,Xfce 不像其他桌面环境那样激进地自动缩放,有时候需要手动点一下。
还有一种情况:虚拟机窗口拉大后桌面跟着变,但字体和图标显得很小。这是高 DPI 下的正常现象,Xfce 里可以在 Appearance 的 DPI 设置里适当调大,比如从 96 调到 120 左右,视觉上会舒服很多。这属于个人偏好,不影响功能,建议按自己屏幕的实际观感来调,不用迷信某个固定数值。
5.3 更新、快照与后续使用建议
进入桌面之后,第一件事永远是更新系统。Kali 是滚动发行版,安装器里的软件包可能已经落后于最新版:
sudo apt update sudo apt full-upgrade -y这个命令会升级内核和几乎全部软件包,耗时看网络情况,一般几分钟到十几分钟。更新完建议再重启一次,让新内核生效。
然后立刻做一件事:在 Fusion 里给虚拟机拍一个干净快照。Fusion 的快照功能在虚拟机图层的右侧菜单里,拍摄快照等于把当前系统状态完整保存下来。以后装了某个工具把系统搞乱了,或者 apt 升级把依赖弄坏了,直接恢复快照,几分钟就能回到当前状态。我个人的习惯是每完成一轮环境配置、确认关键工具能正常跑之后,就拍一个快照,并按阶段命名。折腾 Linux 虚拟机,快照就是后悔药,而且这个后悔药不要钱。
最后说一个使用方向上的建议。虚拟机不是真机,网络默认走 NAT,外部设备接入、无线网卡监听这类和硬件强相关的功能,在虚拟化层基本不可用或者受限。如果你后续要做更深入的实验,可以在 Fusion 设置里为虚拟机单独规划自定义网络,把多台实验机放进同一个隔离网段。虚拟化平台的网络拓扑,才是本地实验环境真正值钱的部分,从一开始就值得留个心思。