🧩 前言:从"只读"到"征服"
那天下午,我插上那块 5TB 的移动硬盘,Finder 一脸冷漠。文件是灰色的,右键菜单也没"删除"选项------我只能"看",不能"动"。
那一刻,我第一次认真地理解了:macOS 对 NTFS 是只读的。
我上网一搜,"NTFS for Mac" 的结果铺天盖地,几乎清一色都是收费软件:Paragon、Tuxera、iBoySoft......
¥199、¥299、¥399。
我心想:只是写个文件,还得付钱?
于是我决定自己动手。这一下午,我用一行脚本,搞定了 Mac 对 NTFS 的全面读写。
⚙️ 第一次尝试:brew install ntfs-3g
我打开终端,信心满满地敲下:
bash
brew install ntfs-3g
结果终端甩我一句:
kotlin
Linux is required for this software.
???这啥意思?我又不是在用 Linux。
查了资料才知道:从 macOS Big Sur 开始,Apple 改了文件系统接口,原版 ntfs-3g 不再直接支持,需要借助一个新的驱动桥------macFUSE。
🔌 第二步:macFUSE + ntfs-3g-mac
于是我继续安装:
bash
brew install --cask macfuse
brew tap gromgit/homebrew-fuse
brew install ntfs-3g-mac
安装倒是顺利,但系统弹出一个让我有点紧张的提示:
系统扩展被阻止:Benjamin Fleischer。
原来 macFUSE 属于第三方内核扩展,需要进入恢复模式降低安全策略。
我照着文档重启、长按电源键,进入 Options → Security Policy,
勾选了 "Allow user management of kernel extensions",保存后再重启。
回到系统后,在 系统设置 → 隐私与安全性 里点击 Allow macFUSE 开发者。
重启完毕,终于看到熟悉的成功提示。
🧠 写一个脚本,让一切自动化
我不想每次都手动执行 diskutil、umount、ntfs-3g。于是我写了个智能脚本,叫:ntfs-smart.sh。
它能自动:
- 检测 macOS 是否已只读挂载 (fskit)。
- 自动卸载后用 ntfs-3g 重新挂载为读写。
- 卸载时自动执行
diskutil eject确保物理断电。 - 清理 Spotlight、QuickLook 占用进程。
保存到桌面,赋予执行权限:
bash
chmod +x ~/Desktop/ntfs-smart.sh
运行后,终端输出:
javascript
⚙️ 检测到 macOS 自动只读挂载 (fskit): /dev/disk4s1
➡️ 正在卸载以重新挂载为可写...
✅ 找到分区: /dev/disk4s1
📌 正在挂载到 /Volumes/MyPassport (读写)...
🎉 挂载成功: /Volumes/MyPassport
Finder 里,那些灰掉的文件终于变亮了。
我可以直接复制、删除、创建文件夹。
那一刻,我笑了------它终于听话了。
💡 意外发现:$RECYCLE.BIN?System Volume Information?
刚开始我以为挂载出错,因为 Finder 突然多了两个陌生的目录:
bash
$RECYCLE.BIN
System Volume Information
后来我才知道,它们是 Windows 自带的系统目录。
$RECYCLE.BIN:回收站文件夹。System Volume Information:系统还原点与索引数据库。
macOS 默认隐藏它们,但 FUSE 挂载后全部暴露出来。
我顺手加了个隐藏配置:
bash
echo "$RECYCLE.BIN" >> /Volumes/MyPassport/.hidden
echo "System Volume Information" >> /Volumes/MyPassport/.hidden
Finder 刷新后,它们就消失了。世界干净了。
🔄 卸载也要优雅
以前我都是直接在 Finder 点"推出",结果经常提示:
"磁盘正在使用中,无法弹出。"
所以我给脚本加了自动卸载逻辑:
-
检测当前挂载点。
-
卸载卷。
-
自动执行:
bashsudo diskutil eject /dev/disk4 -
输出:
✅ 设备已断开,可安全拔出。
现在,我的拔盘过程优雅得像动画片: 硬盘灯闪两下,停住,安静消失。
⚙️ 最终方案总结
| 功能 | 状态 |
|---|---|
| 免费方案 | ✅ |
| 兼容 Apple Silicon | ✅ |
| 支持读写 | ✅ |
| 自动挂载/卸载 | ✅ |
| 安全弹出 | ✅ |
所有步骤只需运行:
bash
~/Desktop/ntfs-smart.sh
一行命令,全自动完成。
🚀 尾声:一行脚本的自由
回过头看,macOS 的封闭并不是坏事,它保护了普通用户不去乱动系统。可对开发者来说,能完全掌控自己的文件系统,是一种自由。
我没有安装任何收费软件,也没修改系统底层,只是用几个开源工具,让 Mac 和 Windows 重新握了个手。
现在,每次我插上硬盘,只需执行:
bash
~/Desktop/ntfs-smart.sh
看着那一行行 ✅ 输出,我都觉得,这个下午,折腾得值。
"懂原理的人,才是真正的管理员。"