看了一圈回答,都没有比较满意的。
NTFS和exFAT都有其缺点,选择何种方案,看具体需求:
NTFS和exFAT两个文件系统细节上的区别就不详细说了,要说细了能写两篇论文。最大的区别题主自己已经说了:NTFS在Mac下需要用第三方软件才能写入;exFAT有风险。
先说一下Mac读写NTFS用第三方软件问题:可能造成权限破坏、数据丢失等情况——但一般来说,这种问题往往是发生在用BootCamp安装了Windows的NTFS分区上。
数据丢失是因为从Win8开始,Windows有一个快速启动模式,关机的时候并非传统意义上的关机,更接近于STD(Standby to Disk,挂起到硬盘)的休眠模式,内存数据写入到硬盘上的休眠文件上。这个时候会有部分文件系统的缓存在内存中未完全写入,只是写入到硬盘上的休眠文件中,如果这个时候切换到macOS,并通过NTFS-3G写入数据,然后切换回Windows,Windows启动后把之前未写入的数据写入硬盘的时候,有可能会和NTFS-3G写入的数据覆盖掉,导致数据丢失[1]。对于移动硬盘,Windows默认关闭写缓存,这种情况几乎不会发生。
权限破坏通常也是针对BootCamp双启动的。一般只有在Windows安装分区中,出于系统安全考虑会有部分文件夹默认设置了特殊权限,在macOS上并没有对应的用户、角色信息,写入会破坏这些文件夹的权限。其它分区,除非用户或者软件进行了特殊设置,否则都是默认所有用户可读写的,移动硬盘上的NTFS分区也是这样。
但用NTFS的问题在于,自己的mac装什么软件都好说;但如果需要和别人交换数据,非要给别人的mac装个软件,回头人家系统出点什么问题都怪你乱搞,不装又没法写入,所以需要和别人的mac交换数据,最好另外分一个区出来,用exFAT或者HFS+格式化。如果这些数据有些时候也需要在Windows下访问,那么建议用exFAT,但exFAT上最好别放重要数据。
为什么?因为exFAT是一个没有日志的文件系统,是会出现文件“丢失”的风险的。具体来说,假设我们往移动硬盘上复制一个文件,复制到一半的时候把移动硬盘拔下,那么这个文件肯定没拷贝完,用什么文件系统都一样并没有区别。但是拷贝一个文件,不单单是拷贝这个文件本身,文件系统需要修改这个文件所在的目录的数据,这样操作系统才能知道这个目录下有这么一个文件,这个文件在硬盘上的哪个扇区,这样的数据,一般称之为Metadata(元数据)。但在修改Metadata的过程中,如果移动硬盘被拔下,Metadata被破坏的话,那么这个目录下的文件、子目录数据都会被破坏,结果就是文件、子目录的数据其实都还在硬盘上,但是在操作系统看来,有部分文件/子目录消失了——这是前面说丢失要用双引号的原因。
对于有日志的文件系统,如NTFS、HFS+,在修改Metadata之前会先写日志记录要修改哪些Metadata,如何修改。硬盘拔下后修改失败,只要重新插上,操作系统挂载的时候会发现这个修改未完成,重新修改一遍,保证文件系统数据结构的完整性。对于没有日志的文件系统,如FAT/FAT32/exFAT、HFS,只能在进行文件系统检查的时候发现错误,然后把丢失的文件找出来——但文件信息已经丢失,文件系统只能知道这里曾经有一个文件,但不知道文件名,也不知道在哪个目录下。少量的文件可以用16进制查看工具,根据特征人工判断是什么类型的文件,然后用对应的软件打开来看内容后重新命名放回合适的位置。但如果文件特征不明显找不到对应软件打开查看内容,或者找回来几百上千甚至上万个文件,或者这个文件分成多个碎片存储,那么基本上就只能丢失了。例如Windows上可能不少朋友都见过的Found.000文件夹,里面一堆找回来的FILE****.CHK文件碎片:
所以,如果要用移动硬盘保存重要数据,最好别放在exFAT分区上。