linux 不能挂载exFAT格式的移动硬盘

  • Post author:
  • Post category:linux


昨天有个公司的网站,要上传linux服务器网站大概有1个多G,用于公司网速的问题,用winscp上传慢的要死,所以跑到机房本打算通过客户的移动硬盘拷贝上去,但是试了很久也没有mount到机器上,实在郁闷。由于时间太晚所以就回家了,所以只能通过软件上传了,今天来了把移动硬盘插在电脑上看到没有显示文件格式,通过格式化看到就有一个exFAT格式,而这个移动硬盘有1.5T实在不小啊,而这种文件格式linux是不支持,怪不得弄了半天。

今天在网上查了下原来是微软在Windows Vista SP1中被引入的文件系统。具体说明如下:



Linux下实现对微软新文件系统exFAT的支持



微软新文件系统exFAT在Windows Vista SP1中被引入,上周Windows XP更新实现了支持。exFAT是为了在移动设备中使用,如大容量USB闪盘。exFAT突破了先前FAT32文件大小和分区的限制,以及其他的改进。exFAT是私有的,Linux内核对exFAT还没有实现读写支持,但Linux下的只读补丁已经出现。


虽然微软没有发布exFAT技术规格,但是一位开发者通过对Windows Vista镜像进行反向工程,编写了相关补丁。


Linux下exFAT的支持远不完美,并且不支持写入。但是这只是个开始。当然,如果你没有exFAT格式的媒质,你可以在高容量媒介上使用其他文件系统如EXT4、Tux3和Btrfs。


exFAT(全称Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。

相对FAT文件系统,exFAT有如下好处:

•增强了台式电脑与移动设备的互操作能力

•单文件大小最大可达16EB(2 305 843 009 213 693 952字节,就是(理论值,16×1024×1024GB),1TB=1024G)

•簇大小可高达32MB

•采用了剩余空间分配表,剩余空间分配性能改进

•同一目录下最大文件数可达65 536个

•支持访问控制

•支持TFAT

采用该文件系统的闪存盘不支持Windows Vista ReadyBoost。Windows Vista SP1支持该文件系统。

请注意:exFAT只是一个折中的方案,只为U盘而生。

现在超过4GB的U盘格式化时默认是NTFS分区,但是这种格式是很伤U盘的,因为NTFS分区是采用“日志式”的文件系统,需要记录详细的读写操作,肯定会比较伤闪盘芯片,因为要不断读写。

下面请看exFAT、NTFS、FAT分区的比较

FAT32 NTFS exFAT

操作系统 Win 95 OSR2之后 Win2000之后 Win CE 6/Vista SP1

最小扇区 512bytes 512bytes 512bytes

最大扇区 64KB 64KB 32768KB

最大单一文件 2bytes-4GB 受最大分割容量 16EB(理论值)

最大格式化容量 32GB、2TB 2TB 16EB(理论值)

档案数量 4194304 无 至少可以大于1000



版权声明:本文为wanglei2258原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。