macos升级后fuse类驱动报错主因是系统弃用kext转向driverkit,需卸载旧版macfuse、安装v4.4.0+适配版,并补全完全磁盘访问等隐私权限,再重启应用或系统。
macos 升级后 fuse 类第三方文件系统驱动(如 macfuse、sshfs、ntfs-3g)报错,核心原因是系统收紧了内核扩展(kext)策略,并转向用户态系统扩展(system extension / driverkit),而老版 fuse 仍依赖传统 kext 机制。问题不是“驱动坏了”,而是 macos 不让它加载了。
先确认是不是被拦截了
打开“控制台”应用(应用程序 → 实用工具),左侧选“报告”,搜索关键词 kernel 或 fuse、macfuse、osxfuse。
看到类似这些日志就坐实了:
-
Kext rejected: not signed by Apple -
code signing blocked -
OSKextLoad: kext failed security checks
也可以在终端运行:
kextstat | grep -i fuse
没输出 = 驱动根本没加载成功。
补全系统权限(常被忽略的关键一步)
即使驱动装上了,macOS 升级后会重置所有隐私权限。FUSE 工具(比如 SSHFS、NTFS-3G 的挂载后台进程)需要以下几项手动开启:
- 进入「系统设置 > 隐私与安全性 > 完全磁盘访问」→ 解锁 → 拖入对应 App(如
SSHFS Mounter.app、NTFS Assistant.app或fuse_wait所在路径) - 同一页面下检查「辅助功能」和「自动化」权限,尤其涉及 Finder 扩展或右键菜单集成的工具
- 若使用图形化挂载工具,还可能需要「屏幕录制」权限(用于捕获挂载状态弹窗等)
改完必须重启该 App,部分情况需重启整个系统。
换用适配新版 macOS 的驱动版本
macOS Catalina(10.15)起逐步淘汰 KEXT;Big Sur(11.0)起 Apple Silicon Mac 彻底禁用;Ventura(13.0)及以后,所有 Mac 默认拒载未公证 KEXT。
所以:
- 卸载旧版 macFUSE(务必用官网提供的 macFUSE Uninstaller 彻底清理残留)
- 去 https://www.php.cn/link/957869544814fc614474c75bc2dd7df4 下载最新版(v4.4.0+),它已全面转向 DriverKit 架构,运行在用户态,无需 KEXT 权限,兼容 macOS Sonoma/Tahoe 及 Apple Silicon
- 安装后,终端执行
kextstat | grep -i fuse应无输出(正常),而fusermount -V或sshfs -V能正常返回版本号,说明底层已切换成功
处理“无法打开”或“已损坏”弹窗(常见连带问题)
如果双击安装包或挂载工具时弹出:
“xxx 无法打开,因为 Apple 无法检查其是否包含恶意软件”
或
“xxx 已损坏,无法打开”
这是 Gatekeeper 在拦截未公证的二进制。快速解决:
- 在 Finder 中找到该 App → 按住
Control键点击 → 选择「打开」→ 弹窗点「仍要打开」 - 或立刻前往「系统设置 > 隐私与安全性」,在底部「安全性」区域找「仍要打开」按钮(仅保留约 1 小时)
若批量处理或脚本部署,可临时移除隔离属性:
xattr -d com.apple.quarantine /Applications/SSHFS\ Mounter.app
不推荐的临时方案(仅 Intel Mac 应急用)sudo nvram boot-args="kext-dev-mode=1" + 重启 —— Ventura 及以后已失效,Apple Silicon 完全不可行,且存在安全风险,别长期开着。











