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網友回應

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

星際效應 (Interstellar), 2014

生活小事

神片~,這部片的重點在「愛」和「時間」。劇情和特效都超棒的。重力波已被科學驗證出來。 時間是相對的;相對於你在哪裡,做著什麼,和等著誰。Time is relative. […]

Read More

叢林奇航

生活小事

跟玩命關頭9相比,叢林奇航在 imdb 上的評價比較高,最近這部電影的廣告在Youtube 上常看到。 ◎譯  名 叢林奇航◎片  名 Jungle Cruise◎年   […]

Read More

[MaxBot]請問新加坡的 ticketmaster 怎麼輸入選區呢?

生活小事

Q: 這場我想選C 我在指定座位輸入 “C” 但他還是跳AA: 以下圖來說明, 新加坡 ticketmaster 在 MaxBot 裡的關鍵字設定 […]

Read More

發佈留言

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