先说清楚适用范围
谁需要这一页
要在 Mac 上把云盘挂成磁盘的人:官网直接下载的核心服务(含 Homebrew 装的),以及 macOS 应用的直接下载版。
Mac App Store 版跑在完整沙盒里,本身就不含本地挂载,也就用不上 macFUSE——浏览、播放、传输和备份都不受影响。两版差异见 macOS 版。
背景
为什么非要动系统设置
挂载要经过内核
把一块云盘变成访达里的磁盘,意味着系统每一次读目录、打开文件、写回内容,都要有人接住。macFUSE 的内核扩展就是接住这些请求的那一层,CloudDrive2 通过它把请求转成云盘 API 调用。没有它,挂载这件事在 macOS 上做不到。
其余功能都不经过它:浏览、播放、跨云复制、备份、WebDAV,没装 macFUSE 一样能用。
Apple 芯片默认不加载第三方内核扩展
Apple 芯片的 Mac 出厂是「完全安全性」,任何第三方内核扩展都不会加载,装了也不会。要让它加载,得进恢复模式把安全策略降到「降低安全性」,并勾上允许用户管理内核扩展。
Intel Mac 没有这一层,装完直接在系统设置里点「允许」即可。
它只是允许加载由 Apple 认可的开发者签名的内核扩展,而且每一个扩展仍然要你在系统设置里逐个放行。它不等于关闭 SIP(系统完整性保护),也不等于关闭 Gatekeeper——这两样都不用动,macFUSE 的安装包本身就经过 Apple 签名与公证。
这套动作每台机器只做一次。做完之后,以后升级 macFUSE 或者 CloudDrive2 都不必再来。
有人会问:macFUSE 新版不是有个不用内核扩展的 FSKit 后端吗?有,但它只对 libfuse3 接口开放,挂载点还只能落在 /Volumes 下面,I/O 性能也不及内核后端。CloudDrive2 走的是内核后端,所以这一步省不掉。
第一步
先看你的 Mac 是哪种芯片
两条路差很多,先确认一下。点屏幕左上角的苹果菜单 →「关于本机」,看「芯片」那一行。
也可以在「终端」里问一句,arm64 是 Apple 芯片,x86_64 是 Intel:
uname -mApple 芯片
三段流程,两次重启
顺序不能换:先在系统设置里开个头,再进恢复模式改策略,回到桌面之后才轮到那个「允许」按钮。
-
装 macFUSE,然后按提示开个头
从 macfuse.github.io 下载安装包装上。系统会弹一条「系统扩展已被阻止」,点「打开系统设置」——如果没弹,自己去「系统设置 → 隐私与安全性」,往下拉到底。
在那里点「启用系统扩展…」,输入登录密码,然后点「关机」。这一步是在告诉系统:等下要进恢复模式改策略。
-
进恢复模式,把安全策略降一档
Mac 完全关机之后,按住电源键(或触控 ID 键)不松手,直到屏幕上出现「正在载入启动选项」。点「选项」,再点「继续」,选择启动磁盘和一个管理员账号,输入密码。
进入恢复界面后,在顶部菜单栏选「实用工具 → 启动安全性实用工具」。选中你的系统磁盘,点「安全策略…」,选「降低安全性」,勾上「允许用户管理来自被认可开发者的内核扩展」,点「好」,输入密码,重新启动。窗口长什么样见下图。
-
回到桌面,点那个「允许」
重启回到 macOS,打开「系统设置 → 隐私与安全性」,往下拉,会看到一条被拦下的记录,右边有「允许」按钮。点它,输入登录密码。
然后再重启一次。这一次之后,内核扩展才真正加载。
第 2 步里那个窗口长这样
示意图,非截图。选「降低安全性」,勾上那个复选框,点「好」,输入密码,重新启动。
第 3 步里要找的那一条
示意图,非截图。这条记录在「隐私与安全性」页面靠下的位置,和「允许以下来源的应用程序」在同一区。
这个按钮只在系统刚拦下扩展之后才出现。如果那一栏是空的,回 CloudDrive2 里再试一次挂载,让系统重新拦一次,然后马上回到「隐私与安全性」看。
Intel
一次放行,一次重启
Intel Mac 不需要恢复模式,也不用改安全策略。
-
装 macFUSE
从 macfuse.github.io 下载安装包装上。
-
放行
系统弹出提示时点「打开系统设置」,在「隐私与安全性」里点「允许」。macOS 12 及更早版本在「系统偏好设置 → 安全性与隐私」,要先点左下角的锁解开才能点「允许」。
-
重启
重启一次,内核扩展就加载了。
收尾
确认它真的加载了
在「终端」里跑这一句:
kmutil showloaded --list-only | grep -i macfuse打印出一行带 io.macfuse.filesystems.macfuse 的,就说明内核扩展已经在跑了。什么都没有,说明还没放行成功,回上面对一遍步骤。
装的是哪一版 macFUSE,可以在「系统设置」侧边栏最下面的 macFUSE 一栏里看到,更新也在那里检查。
确认之后回到 CloudDrive2 的管理界面,进「挂载点」页添加一个挂载点,挂载点填一个空目录。整个流程见帮助页的挂载一节。
排错
没走通的时候
启动时报 libfuse.2.dylib 缺失
macFUSE 没装。挂载功能依赖它提供这个库。到 macfuse.github.io 下载安装,再按本页的流程放行,然后重新启动 CloudDrive2。
升级 macOS 之后又挂不上了
两种可能,按顺序排查。
- 手里这版 macFUSE 还不认识新系统。macFUSE 是给每个 macOS 大版本单独打包一份内核扩展的——你装的那一版发布时如果还没有你现在这个系统,包里就没有对应的那一份,自然加载不了。打开「系统设置」,在侧边栏最下面找到 macFUSE 那一栏,看一眼版本号并检查更新;有新版就装上,装完重启。
- 启动安全策略被重置了。大版本升级有可能把它恢复成「完全安全性」,第三方内核扩展就又不加载了。按上面 Apple 芯片的流程再走一遍即可,恢复模式那一步依然只是勾回同一个选项。
动手之前先用上面那句命令确认一下扩展到底加载没有,能省掉白折腾。
想把安全策略改回「完全安全性」
可以,再进一次恢复模式,在「启动安全性实用工具」里选回「完全安全性」即可。
但改回去之后 macFUSE 的内核扩展就不再加载,本地挂载也就没有了。CloudDrive2 的其余功能不受影响。
Mac App Store 版为什么没有挂载
用 Homebrew 装的核心服务也要这一套吗
要。Homebrew 换的只是 CloudDrive2 的安装方式,macFUSE 该装还得装,该放行还得放行,流程完全一样。也可以用 Homebrew 装 macFUSE:
brew install --cask macfuse装完仍然要按本页的流程在系统设置里放行。
还是没解决?
bug 和功能需求最好提到 GitHub issues 上,有记录也追得到。Telegram 群里平时有人在,也可以直接发邮件。