MAC OS X 讀/寫 NTFS 格式硬碟

mac OS 官方的版本,只能讀 NTFS 格式硬碟的檔案,無法寫入。目前Max用的版本是 macOS 10.15.6 Catalina. 已經可以寫入檔案 NTFS 格式硬碟。

替代的解法是修改 /etc/fstab 檔案。參考圖文教學:
https://max-everyday.com/2019/10/macos-catalina-10-15-access-ntfs/

上面的替代解法,實際上使用起來有2點不太方便,建議使用本文使用的解法:

  • 插入的硬碟不會顯示在Finder 左邊 shorcut 裡。
  • 有些 fstab 裡雖然LABEL寫了 Untitled ,但就是還是無法寫入!

附註 1:如果是使用ntfs-3g 的解法,每次電腦「升級」有可能會需要重新來一次,如果是小改版通常還是可以繼續使用DIY過的版本,重大升級通常需要重新使用csrutil 一次。

附註 2:macOS 10.15 無法支援32-bit軟體早已經在 macOS 10.13.4 就已經開始會跳出提醒「這個程式需要升級,請聯絡開發者進行更新相容性」,不過在舊版 macOS 10.14 依舊都還能使用,直到 macOS 10.15 更新後才真正全部停用 32位元應用程式支援。

建議新的外接式硬碟,似乎格式化為 exFat 會輕鬆很多,少掉這個轉換的問題。


圖文攻略開始:

Step 1. 安裝 NTFS-3G

下載位置:
https://sourceforge.net/projects/catacombae/files/NTFS-3G%20for%20Mac%20OS%20X/2010.10.2/ntfs-3g-2010.10.2-macosx.dmg/download

請勇敢地按下「Install Anyway」

Step 2. 安裝/更新 Fuse for OS X

這個 osxfuse 也常在更新,如果遇到問題(例如:檔案無法顯示出來)時,除了更新下面 NTFS-3G 的版本,也要更新 osxfuse 版本。

安裝檔下載位置:
https://github.com/osxfuse/osxfuse/releases

請勇敢地按下「Continue」
不知道是什麼功能,請「全勾選」

附註:如果你在 macOS 10.15 catalina 之前就已經安裝過 osxfuse,請先去重新下載新的版本,因為舊的版本無法相容在新的macOS 10.15.


Step 3:置換macOS 系統用的 mount_ntfs

詳細攻略如下:

Step 3-1: 安裝 homebrew

install homebrew

First you must have installed the «homebrew» package manager
https://brew.sh/index_zh-tw.html

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

在終端機命令列提示貼上這個。

Step 3-2: 更新 brew

brew update

Step 3-3: 安裝 osxfuse

下載網址 FUSE
https://github.com/osxfuse/osxfuse/releases

下載後,請點 2下 dmg 檔進行安裝。

說明1:osxfuse 會 copy osxfusefs.fs 到目錄 /Library/Filesystems/ 下。如果這目錄下沒有 osxfuse 開頭檔案,會有問題。

說明2:這個這裡遇到版本大改,可能需要定期更新。

Step 3-4: 安裝 ntfs-3g

brew install ntfs-3g

說明,這滿神奇的,居然是下載到好心人修改過的版本,是 2017.3.23_1

如果遇到這一個錯誤:

missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

請執行這行指令來安裝 command line tools

xcode-select --install

This will bring up a prompt to install the necessary command line tools.


重開機,按住 Command+R 進 recovery mode

choose utilities>terminal, then write in the terminal the command below
在最上面的選單裡,找到「工具」,下拉可以看到 Terminal,在 Terminal 裡執行指令:

csrutil disable

正常重開機。 後請開啟 Terminal 執行下列指令:

sudo mount -uw /
killall Finder
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
sudo ln -s /usr/local/Cellar/ntfs-3g/2017.3.23_3/sbin/mount_ntfs /sbin/mount_ntfs
  • 說明1:這是要置換掉Mac OS X 原本內建的 mount_ntfs 為 好心人 DIY 過的版本。
  • 說明2:/usr/local/ 這個目錄在 recovery mode 裡沒有。
  • 說明3:你的 ntfs-3g 版本(上面指令裡黑體字的部份)可能會跟我不同,需要調整 path 的路徑,可以先用 ls 去看。
  • 說明4:macOS 10.15 catalina 的 /sbin/ 目錄在 csrutil status = disable 情況下,還是 read-only 上面指令會失敗請改使用修改 /etc/fstab 檔案。

要驗證上面是否成功,可以使用指令:

ll /sbin/mount_ntfs

來看看這一個路徑的檔案,是指到那裡,正確的話,應該是指到:

/usr/local/Cellar/ntfs-3g/2017.3.23_3/sbin/mount_ntfs

也可以使用指令:

ll /usr/local/Cellar/ntfs-3g/2017.3.23_3/sbin/mount_ntfs

來看看,實體檔案,是否存在。

如果你和我一樣,使用 2017.3.23_3 版本,針對 NTFS 格式的硬碟,只能看到目錄,無法顯示檔案的問題。解法是修改需要手動修改 /usr/local/Cellar/ntfs-3g/2017.3.23_3/sbin/mount_ntfs 檔案的 line:15

line 15 “-o local” 修改為 “-o local,allow_other,auto_xattr”,如此一來就可以看到「目錄」和「檔案」。


最後,請再重開機一次,再進 recovery mode ,在 Utility 裡執行 Terminal,並執行指令:

csrutil enable
reboot

上面的 reboot 指令會重開機,接下來就搞定了,在 macOS 10.15 catalina 環境下,NTFS 格式的 USB  可以寫入和刪除檔案(Move to Trash)。

如果網友DIY過的版本不好用,需要復原回去原本Mac OS X 官方版本,只需要再進一次 recovery mode 去把之前備份的 /sbin/mount_ntfs.orig 搬回去 /sbin/mount_ntfs 即可。

Facebook網友回應

您可能也會感興趣的文章...

LINE 免費貼圖 2018-04-24

生活小事

LINE 免費貼圖 2018-04-24,「熊大農場:Snoopy合作貼圖」取得條件是在熊大農場裡升到等級8,而且在 2018-05-18 09:59(台灣時間) 裡完成 […]

Read More

蜘蛛人裡梅姨的精神

生活小事

最近看了《蜘蛛人:無家日》查了一下網友們分享的心得,編劇似乎有些小漏洞,如果跟動畫版本的《蜘蛛俠:平行宇宙》相比,劇情是較弱一點,但懷舊的成份是100分,因為完美整合前二 […]

Read More

成功就是得到你想要的,幸福則是你享受你得到的

生活小事

1 success is getting what you want,happiness is wanting what you get. 成功就是得到你想要的,幸福則是 […]

Read More

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *