星期三, 5月 14, 2014

在Mac OS X 利用 OSXFuse 與 NTFS-3G 讀寫 NTFS

我曾經寫過 在Mac OS X 10.6 開啟原生NTFS讀寫支援 ,但是那方法並不穩定,而免費的 NTFS-3G for Mac OS X 也停止維護 (就算能用,寫入也超慢)。
所以若不想用 Paragon NTFS for Mac OS X  ,就只能自力更生,找其他的方法。我發現 NTFS-3G for Mac用的 MacFuse 也停止維護,新的用法是 FUSE for OS X (osxfuse) 加上 新版的 NTFS-3G 。 若有人寫要下載 TUXERA 的 NTFS-3G for Mac,那肯定效率不高。

更新日期: 2015/10/01 ,因應 EI Capitan出現。

我選擇使用 Homebrew 安裝,先打開終端機,再輸入 :
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
接著是
brew install osxfuse ntfs-3g
brew install Caskroom/cask/osxfuse homebrew/fuse/ntfs-3g
會問password,需要有sudo權限
安裝好之後會看到兩行指示,必須手動複製貼上(當然你要有sudo的權限),版本號碼會變,因此路徑可能不同。
接下來比較麻煩
sudo /bin/cp -RfX /usr/local/Cellar/osxfuse/2.6.2/Library/Filesystems/osxfusefs.fs /Library/Filesystems
sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs
若是 10.11 El Capitan必須用Recovery Partition或外接碟開機 關閉 System Integrity Protection (SIP, rootless) 的 fs 角色
目前正式版的 OS X 10.11要用USB/DVD開機後,開terminal
umount /Volumes/Macintosh\ HD
cd /var/tmp
mkdir sss
mount /dev/disk1 sss
cd sss/sbin
mv mount_ntfs mount_ntfs.original
ln -s ../usr/local/sbin/mount_ntfs mount_ntfs

Update:
要關閉SIP/Rootless,開Terminal,輸入
sudo csrutil disable
再重開機,這樣就不用從外接碟開機。再進入Terminal輸入:
cd /sbin
mv mount_ntfs mount_ntfs.original
ln -s /usr/local/sbin/mount_ntfs mount_ntfs
同理恢復SIP/Rootless是
sudo csrutil enable

最後每顆NTFS的外接碟都要插上被偵測後,安全移除再插上,就能讀寫。重新開機,就能讀寫。若有不正常移除,請用 Windows 去修復,否則很容易掉資料,不要說我沒有警告你。

目前遇到的問題是 外接 ntfs只出現在桌面,側邊欄不見,以及移除時在 /Volumes下的目錄名刪不掉。

3 則留言:

匿名 提到...

你好,我是最近投入蘋果的用戶
發現不能使用以前的ntfs硬盤
就參照了以上的做法
先安裝homebrew然後install osxfuse ntfs-3g
完成後仍是無法對ntfs進行寫入
是我漏了什麼步驟麼?

另外sudo的兩行我也不太懂…輸入以後終端機沒有出現回覆

希望版主能夠回覆
harry

Tseng Teng-Yi 提到...

Harry:

sudo 這兩行是安裝系統 driver,你要看自己用homebrew安裝的訊息。

若確定照著這些步驟正常移除再插上仍然無法讀到NTFS硬碟... 建議你花錢買 Paragon NTFS for Mac OS X吧。再不然就只能把外接碟都改成 exFat,在Windows/Linux也能正常使用。

匿名 提到...

Paragon NTFS for Mac 現在有限時免費的樣子
http://goodjack.blogspot.tw/2015/10/paragon-ntfs-for-mac-os-x-for-free.html