macOS 10.15+ 不再支持传统 Fusion Drive,因苹果彻底移除 Core Storage 支持,diskutil cs 命令失效;唯一可行方案是 APFS Volume Group,仅限同类型 SSD,且不支持在线扩容或混合硬盘组合。

macOS 10.15+ 不再支持传统 Fusion Drive
直接说结论:你不能用 macOS Catalina(10.15)及之后的系统,把一块 HDD 和一块 SSD 组成“自动分层”的 Fusion Drive。苹果在系统层面移除了所有 GUI 和 diskutil 对 Core Storage Fusion 的支持,diskutil cs 命令在新系统里根本不可用,强行运行会报错 Command not found 或 Invalid command。
这不是操作问题,是功能被砍了。网上那些教你在恢复模式下输 diskutil cs create 的教程,基本都针对 macOS 10.14 及更早版本,对当前系统无效。
- 旧方案(Core Storage)依赖内核级数据迁移逻辑,苹果已彻底弃用,不维护、不兼容 APFS
- 所谓“热数据上 SSD、冷数据留 HDD”——这个智能分层能力,在现代 macOS 中仅存在于 T2/M系列芯片的内置 NVMe + SSD 缓存架构里,外置或用户组装的硬盘无法复现
- 如果你手头真有一块 SATA HDD + 一块 NVMe SSD,硬要“合并”,系统最多只允许你把它们做成一个 APFS 容量池,但性能会被 HDD 拖垮,且毫无分层逻辑
唯一可行方案:APFS Volume Group(多 SSD 空间聚合)
macOS 10.15+ 原生支持、稳定、可日常使用的多盘逻辑卷,只有 APFS Volume Group。它不是 RAID,也不是 Fusion,本质是把多个物理设备的空闲空间汇成一个“池”,上面可以创建多个共享池空间的 APFS 卷。
关键限制很实在:只推荐同类型、同接口、性能接近的 SSD(比如两块 PCIe 4.0 NVMe),否则最慢那块盘会成为 I/O 瓶颈,写入延迟可能翻倍。
- 必须先备份!
diskutil eraseDisk会清空所有数据,没有撤销选项 - 确认磁盘标识符:运行
diskutil list,找清楚你要用的disk2、disk3等,别选错内置系统盘(通常是disk0) - 执行命令(两块空盘为例):
diskutil eraseDisk APFS "MyPool" disk2 disk3—— 注意顺序无关,但设备名必须准确,中间空格不能少 - 成功后运行
diskutil apfs list,能看到 “Volume Group” 字样和成员磁盘列表,挂载点为/Volumes/MyPool
已有单卷想扩容?不能“在线合并”,必须重建
APFS Volume Group 不支持向已存在的单个 APFS 卷“添加磁盘”。也就是说,如果你现在有个叫 Macintosh HD 的卷在 disk0s2 上,想加一块新 SSD 扩容——不行。Apple 没提供这种迁移路径。
实际能走的路只有一条:备份 → 抹掉原盘 + 新盘 → 用 eraseDisk 重建 Volume Group → 恢复数据。
- 误以为
diskutil apfs addVolume能扩容?它只是在已有容器里新建卷,不增加物理容量 - 试图用
diskutil apfs resizeContainer拉伸到另一块盘?会报错Invalid target,因为目标不在同一容器内 - 第三方工具(如 SoftRAID)虽能做跨盘条带,但需额外付费、不被 Apple 支持,且无法用于启动盘
别碰 RAID 0,除非你清楚后果
磁盘工具里的 “RAID 助理” 确实能建 RAID 0(条带),但它有硬性限制:不能用于启动盘,且一旦其中一块盘故障,整个阵列数据全丢——没有冗余,也没有警告机制。
更重要的是,RAID 0 在 macOS 上由内核驱动管理,APFS 层完全感知不到底层条带结构,快照、加密、克隆等功能虽可用,但损坏恢复难度远高于单卷。
- RAID 0 不等于 Fusion,也不等于 Volume Group:它不统一命名空间,不共享快照池,卷名还是分开的(如
RAID0Vol1、RAID0Vol2) - 如果你用 USB-C 外接多块 SSD 做 RAID 0,雷电带宽和控制器稳定性会成为隐性瓶颈,小文件随机读写可能比单盘还慢
- 真要高性能,不如直接换一块大容量 PCIe 5.0 SSD,省心、兼容、可启动、支持 Time Machine 直接备份
真正麻烦的从来不是命令怎么敲,而是搞清「苹果允许你做什么」和「硬件实际能撑住什么」之间的落差。比如你以为加块二手 SATA SSD 就能加速,结果发现整个池子的 4K 随机写入被拉到 20 MB/s;又比如你按老教程输了一串 cs 命令,终端只回你一句 zsh: command not found——这时候停手查版本,比反复试错更省时间。

















