使用过Linux和macOS系统的都知道,两个系统默认都是不直接支持对Windows系统的NTFS操作进行写入操作。 要想实现对NTFS磁盘分区进行完全控制,就需要借助工具。

为什么 macOS 不能直接写入NTFS?

NTFS 是微软自 90 年代初以来在 Windows 中使用的专有文件系统标准。它首次在 Windows NT 3.1 中使用,并成为默认文件系统。
微软没有提供NTFS作为开源标准的完整规范,苹果公司很可能需要支付昂贵的许可证,才能让其在其系统中默认对其进行支持。按照微软早期的策略, 为什么要让竞争对手支持自家的东西, 同样可以反问,为什么苹果会支持主要竞争对手的协议?
当然,自从微软第三任CEO萨提亚·纳德拉上台后,微软改变了“仇视”Linux,开源社区的战略,开始慢慢的接受,并对其作出重大的共享。
近年来,微软先后开源了dotNet, winForm, WTF这些自家的命根子,同时也在积极的布局多平台,极力支持跨平台工作。 
最近一段时间微软也宣布对Linux社区公开exFAT的系统设计细节。
也许在未来的某一天,NTFS在其他系统直接支持也不是不可能。
当然,话题扯的有点远,回到正题,那么目前,macOS系统如何实现对NTFS系统的完整的读写控制呢? 

macOS 如何读写NTFS? 

通常在macOS系统下,有几种方法可以做到这一点。
一是可以使用付费软件,如Paragon NTFS for Mac.
二是,可以使用开源免费的软件。但是开源解决方案的缺点,通常是不能一键支持,需要你在终端中进行一系列的操作。

下面我们就来看看如何使用免费的方案实现macOS上读写NTFS磁盘。

准备工作

首先,你需要下载并安装最新版本的FUSE for macOS。该工具可以通过第三方文件系统扩展macOS。 
下载地址:
然后,通过下方命令在终端安装ntfs-3g. 

brew install ntfs-3g
brew命令不是系统自带,需要安装Homebrew软件包管理软件,安装方式很简单,属于一下命令即可:

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



手动挂载NTFS分区

安装好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分区


安装好ntfs-3g后,我们就可以实现自动挂载ntfs
但是,需要注意的是, 自OSX 10.11 El Capitan 以来,需要系统整性保护(SIP)
禁用方式是到恢复模式下: 
重新启动或关闭 Mac,在启动时,按按按组合键 command + R。这将使您进入恢复模式。


苹果系统开启NTFS读写权限有效的方法


在恢复模式下,从顶部菜单中的实用程序打开终端应用程序。然后使用命令禁用SIP:

csrutil disable


苹果系统开启NTFS读写权限有效的方法


再次重新启动 Mac 并正常启动macOS。
由于 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


未经允许不得转载!作者:有问题工单联系,转载或复制请以超链接形式并注明出处哎呦哇啦-Ouch! Wow!

原文地址:https://www.au28.cn/post/569.html发布于:2021-01-07