MacOS读写ntfs格式硬盘

系统OS X 10.11,之前就有发现ntfs格式的移动硬盘在mac上只能读不能写,通俗点说就是不能保存文件。

总体而言解决方法不外乎4种:

  1. 硬盘在Mac上格式化成ExFAT这种通用格式
  2. 安装第三方插件,比如Paragon NTFS for MAC(收费)
  3. 安装osxfuse+ntfs-3g(命令行)
  4. 修改配置文件打开原生支持方法

首先硬盘里有东西就把第一种方式排除了,缺钱也不想用破解版的第二种也排除,虽说mac也是类unix系统不过看网上改的文件内容也不是特别明白原理排除,所以使用第三种方式吧。

首先安装这2个东西:

[x@bogon ~ ]$ brew install Caskroom/cask/osxfuse
==> Installing brew-cask from caskroom/homebrew-cask
==> Cloning https://github.com/caskroom/homebrew-cask.git
Cloning into '/Library/Caches/Homebrew/brew-cask--git'...
remote: Counting objects: 3193, done.
remote: Compressing objects: 100% (3117/3117), done.
remote: Total 3193 (delta 84), reused 712 (delta 59), pack-reused 0
Receiving objects: 100% (3193/3193), 5.81 MiB | 18.00 KiB/s, done.
Resolving deltas: 100% (84/84), done.
Checking connectivity... done.
Note: checking out 'c216698c730540185ba88f14722fe8b74174eb0d'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
==> Checking out tag v0.57.0
?  /usr/local/Cellar/brew-cask/0.57.0: 2921 files, 12M, built in 4.9 minutes
==> brew cask install Caskroom/cask/osxfuse
==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Caveats
You must reboot for the installation of osxfuse to take effect.
==> Downloading http://downloads.sourceforge.net/project/osxfuse/osxfuse-2.8.1/osxfuse-2.8.1.dmg
######################################################################## 100.0%
==> Running installer for osxfuse; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is FUSE for OS X (OSXFUSE)
==> installer: Installing at base path /
==> installer: The install was successful.
?  osxfuse staged at '/opt/homebrew-cask/Caskroom/osxfuse/2.8.1' (6 files, 8.5M)
[x@bogon ~ ]$ brew install homebrew/fuse/ntfs-3g
==> Tapping homebrew/fuse
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-fuse'...
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 31 (delta 0), reused 23 (delta 0), pack-reused 0
Unpacking objects: 100% (31/31), done.
Checking connectivity... done.
Tapped 26 formulae (80 files, 324K)
==> Installing ntfs-3g from homebrew/homebrew-fuse
==> Downloading https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2015.3.14.tgz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/ntfs-3g/2015.3.14 --exec-prefix=/usr/local/Cellar/ntfs-3g/2015.3.14 --m
==> make
==> make install
?  /usr/local/Cellar/ntfs-3g/2015.3.14: 87 files, 2.0M, built in 78 seconds

安装完成后使用cmd+r重启进入恢复模式,这里就不截图了,在恢复模式下打开终端输入 csrutil disable

然后正常重启,再打开终端

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.bak
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs     

有点unix基础的应该都明白,不详细说了。修改完成后再进入恢复模式,打开终端输入 csrutil enable 再正常重启即可。

修改后将移动硬盘连接在finder中是不显示图标的了,不过默认就挂载在/Volumes目录下,或者打开磁盘工具,右键点击选择“在finder中打开”也可以。

如果想恢复,依然是按照上面的步骤,把mount_ntfs.bak改回原名即可。