使用過Linux和macOS系統的都知道,兩個系統默認都是不直接支持對Windows系統的NTFS操作進行寫入操作。 要想實現對NTFS磁盤分區進行完全控制,就需要借助工具。
NTFS 是微軟自 90 年代初以來在 Windows 中使用的專有文件系統標準。它首次在 Windows NT 3.1 中使用,并成為默認文件系統。
微軟沒有提供NTFS作為開源標準的完整規范,蘋果公司很可能需要支付昂貴的許可證,才能讓其在其系統中默認對其進行支持。按照微軟早期的策略, 為什么要讓競爭對手支持自家的東西, 同樣可以反問,為什么蘋果會支持主要競爭對手的協議?當然,自從微軟第三任CEO薩提亞·納德拉上臺后,微軟改變了“仇視”Linux,開源社區的戰略,開始慢慢的接受,并對其作出重大的共享。近年來,微軟先后開源了dotNet, winForm, WTF這些自家的命根子,同時也在積極的布局多平臺,極力支持跨平臺工作。 最近一段時間微軟也宣布對Linux社區公開exFAT的系統設計細節。也許在未來的某一天,NTFS在其他系統直接支持也不是不可能。當然,話題扯的有點遠,回到正題,那么目前,macOS系統如何實現對NTFS系統的完整的讀寫控制呢? 通常在macOS系統下,有幾種方法可以做到這一點。
一是可以使用付費軟件,如Paragon NTFS for Mac.二是,可以使用開源免費的軟件。但是開源解決方案的缺點,通常是不能一鍵支持,需要你在終端中進行一系列的操作。
下面我們就來看看如何使用免費的方案實現macOS上讀寫NTFS磁盤。首先,你需要下載并安裝最新版本的FUSE for macOS。該工具可以通過第三方文件系統擴展macOS。 brew install ntfs-3g
brew命令不是系統自帶,需要安裝Homebrew軟件包管理軟件,安裝方式很簡單,屬于一下命令即可:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝好NTFS-3g后,便可以掛載ntfs分區了。到此你可以手動掛載ntfs文件系統的分區了并可以對ntfs文件系統進行讀寫操作。sudo mkdir /Volumes/NTFS #建立掛載目錄
sudo /usr/local/bin/ntfs-3g /dev/disk2s2 /Volumes/NTFS -olocal -oallow_other #開始掛載
其中,disk2s2是NTFS分區所在的磁盤,可以在磁盤工具中查看。安裝好ntfs-3g后,我們就可以實現自動掛載ntfs但是,需要注意的是, 自OSX 10.11 El Capitan 以來,需要禁用系統完整性保護(SIP)。
重新啟動或關閉 Mac,在啟動時,按按按組合鍵 command + R。這將使您進入恢復模式。在恢復模式下,從頂部菜單中的實用程序打開終端應用程序。然后使用命令禁用SIP:
csrutil disable
由于 macOS 10.15 Catalina的新的保護機制, 蘋果會通過文件系統對一些關鍵部分進行只讀保護,,因此還需要另外的步驟來解除。 sudo mount -uw /
之后,可以備份系統自帶的掛載NTFS程序mount_ntfs,然后替換為新的ntfs-3g提供的程序。sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.baksudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs
重啟系統,然后你就會發現NTFS分區就能正常讀寫了!設置好自動掛載NTFS分區后, 如果需要開啟系統完整性保護(SIP),再次進入恢復模式,輸入以下命令開啟SIP: csrutil enable