一、Windows上常见的exFAT,NTFS,FAT32有什么区别

     Windows常见的文件格式包括NTFS、FAT、FAT32、exFAT等。
  • NTFS:最早出现在windowsNT的日志文件系统,有文件加密(权限管理)、磁盘文件压缩(节省磁盘空间)、目录索引(方便快速查找)、支持长文件名(255个字符)、磁盘预警、大容量(根据簇的不同最大容量可以达到16~256TB,但存储文件过多,由于索引增多,文件碎片化可能会导致实际性能下降)、记录操作日志(数据安全)等特性
  • FAT32:较早的文件系统类型,兼容性好,但是最大仅支持2TB分区,NT内核仅限制为32GB,单个文件最大也仅4GB
  • exFAT:微软为了解决FAT32在大文件上表现不佳的问题,专门为闪存盘设计的文件系统类型。但是由于没有NTFS的许多特性并不适合作为系统分区使用
        exFAT,NTFS,FAT32在LINUX上兼容情况:
   NTFS:由于是windows特有的文件系统类型,所以原生Linux、MacOS默认不支持此文件系统类型。想使用这种文件系统类型的文件,Linux需要安装第三方包,否则会提示I/O error或缺少驱动,macos需要开启相关功能。用NTFS制作的U盘也可能由于不兼容而无法读取,NTFS日志记录会频繁读写U盘某区域导致寿命下降。
   exFAT支持macOS 10.6.5及以上的系统版,支持Linux Kernel 5.4及以上的内核版本。
   FAT32作为较老的文件系统类型兼容性上没有问题,下图是识别出的FAT32类型u盘

二、Linux支持的文件系统类型

  minix:在Minix操作系统上使用的文件系统,Linux上运行的第一种文件系统。它有很多限制:64M分区大小限制,短文件名,唯一时间戳等等。只有软盘或者RAM中可能用的到。
  ext:minix文件系统的复杂扩展,已经被ext2文件系统完全取代,在核心(2.1.21)中已经完全移除。
  ext2:在Linux的固定盘或者可移除媒体中表现优异的文件系统。ext2是ext文件系统的扩展,ext2可以给Linux的文件系统提供最佳支持(主要是速度和CPU使用上)。
  ext3:ext2文件系统的日志版本,可以很容易的在ext2和ext3文件系统来回切换。
  ext4:ext3的一系列更新,包括增加了很多特性,可靠性增强,支持更大的卷、文件、目录格式限制。
  Reiserfs:由Hans Reiser设计的日志文件系统,整合进核心版本号2.4.1的Linux中。
  xfs:SGI开发的日志文件系统,整合进核心版本号2.4.20的Linux中。
  JFS:由IBM开发的日志文件系统,整合进核心版本号2.4.24的Linux中。
  (xiafs、msdos、umsdos、ISO、hpfs、sysv、smb、ncpfs略过)
  vfat:Microsoft  Windows 95 和 Windows NT使用的一种扩展DOS文件系统。VFAT增加了MSDOS文件系统下可以使用长文件名的特性。
  ntfs:代替Microsoft Window的FAT文件系统(VFAT,FAT32),在可靠性和空间利用方面增加了像ACL、日志、加密等特性。
  proc:作为内核数据的接口而不是读取解释 /dev/kmem的伪(虚拟)文件系统。尤其是它的文件不占用硬盘。
  nfs:供远程电脑访问读取的网络文件系统。
 

三、文件系统选择

    如果你在犹豫该选择NTFS,exFAT,FAT32,XFS和EXT4的哪一种文件系统:

   3.1 对于Windows

   Windows系统更适合用NTFS文件系统类型做分区,在Windows系统上用U盘传文件,无脑做成exFAT就行。
   Windows Vista/7非常依赖NTFS的文件许可等特性,就算你不想使用NTFS的特性, 你也不能把系统安装在exFAT文件系统类型的磁盘上。不过对于win10和win11这条是否还生效还没有试过。
   虽然exFAT设计上是为了取代FAT32,但是由于微软授权机制的限制,exFAT的普及并不广泛,在消费电子领域的应用也不是特别多,跨系统类型文件传输建议提前进行验证。linux上也应该注意内核版本是否符合要求,比如上图的CentOS7.5仅能识别出exFAT但是无法挂载U盘。
   如果你经常需要在Linux和Windows上用U盘互相传文件,而且Linux核心版本又比较低,U盘推荐还是使用FAT32,那么传输超4G的文件就只能用分包压缩的方式来规避最大文件限制。不过如果可以的话更建议用FTP或者SSH远程传输。
  总结:硬盘分区选NTFS;U盘选exFAT,除非经常用U盘Windows、Linux来回传文件选FAT32

3.2 对于Linux

   对于数据库服务器,如果你使用的数据库在某一种文件系统上可能会发挥更好的性能,所以优先看数据库官方文档的推荐选择。
   ext4的分区容量可以达到1EB,而文件则达到16TB;xfs是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在16TB。所以根据你存储内容的情况来选择。
   一般情况下最好使用ext4文件系统,因为其向前兼容性很好,你可以把ext2、ext3的文件系统按照ext4挂载。并且ext4可以有效减少碎片,对于SSD和HDD硬盘是很好的选择。
   XFS由于其对大文件的IO性能良好,因此适合存储数据文件。但是由于对小文件的不可预测的表现,可能不适合作为系统分区的文件系统类型。不过即便如此,我接触过的绝大多数生产环境Linux服务器是使用这种文件系统类型。
  总结:生产服务器选XFS;自己的Linux工作站选ext4。

四、Windows系统如何查看ext3/ext4

      安装驱动软件:Ext2Fsd-0.69.exe
     安装查看软件:Linux_Reader
12-04 19:34