我在 Mac 用一行脚本征服了 5TB NTFS:拒绝付费,彻底搞定免费方案

🧩 前言:从"只读"到"征服"

那天下午,我插上那块 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 开发者

重启完毕,终于看到熟悉的成功提示。


🧠 写一个脚本,让一切自动化

我不想每次都手动执行 diskutilumountntfs-3g。于是我写了个智能脚本,叫:ntfs-smart.sh

它能自动:

  1. 检测 macOS 是否已只读挂载 (fskit)。
  2. 自动卸载后用 ntfs-3g 重新挂载为读写。
  3. 卸载时自动执行 diskutil eject 确保物理断电。
  4. 清理 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 点"推出",结果经常提示:

"磁盘正在使用中,无法弹出。"

所以我给脚本加了自动卸载逻辑:

  1. 检测当前挂载点。

  2. 卸载卷。

  3. 自动执行:

    bash 复制代码
    sudo diskutil eject /dev/disk4
  4. 输出:

    复制代码
    ✅ 设备已断开,可安全拔出。

现在,我的拔盘过程优雅得像动画片: 硬盘灯闪两下,停住,安静消失。


⚙️ 最终方案总结

功能 状态
免费方案
兼容 Apple Silicon
支持读写
自动挂载/卸载
安全弹出

所有步骤只需运行:

bash 复制代码
~/Desktop/ntfs-smart.sh

一行命令,全自动完成。


🚀 尾声:一行脚本的自由

回过头看,macOS 的封闭并不是坏事,它保护了普通用户不去乱动系统。可对开发者来说,能完全掌控自己的文件系统,是一种自由。

我没有安装任何收费软件,也没修改系统底层,只是用几个开源工具,让 Mac 和 Windows 重新握了个手。

现在,每次我插上硬盘,只需执行:

bash 复制代码
~/Desktop/ntfs-smart.sh

看着那一行行 ✅ 输出,我都觉得,这个下午,折腾得值。

"懂原理的人,才是真正的管理员。"


仓库地址:macos-ntfs-smart-mount

原文移步个人博客

相关推荐
YF021111 小时前
Frida如何稳定连接PC端跟Android手机端
android·mac·xposed
w***765512 小时前
[golang][MAC]Go环境搭建+VsCode配置
vscode·macos·golang
白狐_79812 小时前
网络基础核心问题深度解析:从IP/MAC到IPv6与路由配置
网络·tcp/ip·macos
z***677712 小时前
macOS安装Redis
数据库·redis·macos
j***630813 小时前
MacOS升级ruby版本
开发语言·macos·ruby
小蹦跶儿2 天前
Mac 端企业微信调试工具开启指南:解决页面兼容性问题必备
mac
AirDroid_cn2 天前
iOS 18 后台应用偷跑流量,如何限制?
macos·ios·cocoa
u***42072 天前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
心灵宝贝3 天前
Mac Unity 2018.dmg游戏工具 安装步骤 简单易懂教程(附安装包)
macos·unity·游戏引擎
学习非暴力沟通的程序员3 天前
Mac 自动定时打开指定URL(无日历版)操作文档
macos