我在 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

原文移步个人博客

相关推荐
前端架构师-老李3 小时前
Maven安装以及环境变量配置(macOS)
java·macos·maven
上去我就QWER15 小时前
macOS下如何全文检索epub格式文件?
macos
谢娘蓝桥16 小时前
Mac 安装 Xcode 及qt 环境安装
ide·macos·xcode
witton19 小时前
克隆整个macOS系统到新磁盘
macos·asr·克隆·复制·迁移·恢复·restore
csdn_aspnet20 小时前
如何在 Mac、Ubuntu、CentOS、Windows 上安装 MySQL 客户端
linux·windows·mysql·macos·centos
我的golang之路果然有问题21 小时前
mac M系列芯片 unity 安装会遇到的错误以及解决
经验分享·学习·macos·unity·游戏引擎
心灵宝贝1 天前
如何安装 PDF Reader Pro for Mac v3.2.1.0?超简单DMG安装步骤(附安装包)
macos
by__csdn1 天前
nvm命令使用,nvm国内镜像,nvm命令for Linux/Mac
linux·运维·macos
伟大的大威1 天前
Android 端离线语音控制设备管理系统:完整技术方案与实践
android·macos·xcode