LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2544|回复: 35

什么时候 Arch 可以支持 exFat 文件系统

[复制链接]
发表于 2009-8-4 10:32:35 | 显示全部楼层 |阅读模式
如题,用 Windows 格式化了一个 8G 的 U盘,使用的 exFat 文件系统,结果我的Arch 不能识别,插上U盘,连设备都识别不出来。曾经让我引以为豪的广泛的系统兼容性啊。

这可是硬伤,啥时候能修好哩?
发表于 2009-8-4 10:39:36 | 显示全部楼层
exFat 文件系统是啥东东?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-4 10:46:51 | 显示全部楼层
Post by 难免有错;2012463
exFat 文件系统是啥东东?

哈!?楼上不知道?那我就转贴一篇百毒知道的:0Read::
  1. (全称Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft在Windows Embeded 5.0以
  2. 上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不
  3. 支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。
  4.   相对FAT文件系统,exFAT有如下好处:
  5.   •增强了台式电脑与移动设备的互操作能力
  6.   •单文件大小最大可达16EB(2 305 843 009 213 693 952字节,就是(理论值,16×1024×1024TB),1TB=1024G)
  7.   •簇大小可高达32MB
  8.   •采用了剩余空间分配表,剩余空间分配性能改进
  9.   •同一目录下最大文件数可达65 536个
  10.   •支持访问控制
  11.   •支持TFAT
  12.   采用该文件系统的闪存盘不支持Windows Vista ReadyBoost。Windows Vista SP1支持该文件系统。
  13.   请注意:exFAT只是一个折中的方案,只为U盘而生。
  14.   现在超过4GB的U盘格式化时默认是NTFS分区,但是这种格式是很伤U盘的,因为NTFS分区是采用“日志式”的文件系
  15. 统,需要记录详细的读写操作,肯定会比较伤闪盘芯片,因为要不断读写。
复制代码

后面还有exFAT、NTFS、FAT分区的比较,不抄了。

我的 XP 升了 SP3 之后,好像又打了几个补丁,然后现在格式化 U盘,默认就只有 FAT32 和 exFAT 两种文件系统可选择了。
回复 支持 反对

使用道具 举报

发表于 2009-8-4 10:49:59 | 显示全部楼层
exFat就是把FAT给EX了以后的一个文件系统...

主要是用在存储卡上.

这个也不算ARCH的硬伤, 主要是这文件系统MS没有公开格式, 所以要等人们逆向工程分析完才能写代码. 目前已经有补丁了, 但还有一些BUG.
回复 支持 反对

使用道具 举报

发表于 2009-8-4 11:38:58 | 显示全部楼层
我的U盘只用 ext2 格式。

Windows 下的 Ext2Fsd 对它支持的极好。
回复 支持 反对

使用道具 举报

发表于 2009-8-4 12:51:40 | 显示全部楼层
exFAT 的适用范围很有限,谨慎考虑你的 U 盘文件系统。这里有讨论。
http://forum.ubuntu.org.cn/viewtopic.php?f=50&t=207065
回复 支持 反对

使用道具 举报

发表于 2009-8-4 14:09:23 | 显示全部楼层
exFat这种不公开的格式不值得提倡用
回复 支持 反对

使用道具 举报

发表于 2009-8-4 14:09:52 | 显示全部楼层
自己打上exFAT补丁就好了阿..
这种文件系统估计肯定是进不了内核了的..
回复 支持 反对

使用道具 举报

发表于 2009-8-4 14:50:38 | 显示全部楼层
已经有内核补丁了吧,lz自己patch之后编译估计就支持了
回复 支持 反对

使用道具 举报

发表于 2009-8-4 17:15:47 | 显示全部楼层
刚才在2.6.30内核下编译exFAT出错:
make CONFIG_EXFAT_FS=m M=fs/exfat modules

  WARNING: Symbol version dump /home/arch/Desktop/exfat/src/linux-2.6.30/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  fs/exfat/cache.o
fs/exfat/cache.c: 在函数‘exfat_init_cache_cachep’中:
fs/exfat/cache.c:36: 错误:隐式声明函数‘kmem_cache_create’
fs/exfat/cache.c:38: 错误:‘SLAB_RECLAIM_ACCOUNT’未声明(在此函数内第一次使用)
fs/exfat/cache.c:38: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
fs/exfat/cache.c:38: 错误:所在的函数内也只报告一次。)
fs/exfat/cache.c:38: 错误:‘SLAB_MEM_SPREAD’未声明(在此函数内第一次使用)
fs/exfat/cache.c:39: 警告:赋值时将整数赋给指针,未作类型转换
fs/exfat/cache.c: 在函数‘exfat_destroy_cache_cachep’中:
fs/exfat/cache.c:47: 错误:隐式声明函数‘kmem_cache_destroy’
fs/exfat/cache.c: 在函数‘exfat_cache_alloc’中:
fs/exfat/cache.c:52: 错误:隐式声明函数‘kmem_cache_alloc’
fs/exfat/cache.c:52: 错误:‘GFP_NOFS’未声明(在此函数内第一次使用)
fs/exfat/cache.c:52: 警告:返回时将整数赋给指针,未作类型转换
fs/exfat/cache.c: 在函数‘exfat_cache_free’中:
fs/exfat/cache.c:58: 错误:隐式声明函数‘kmem_cache_free’
make[1]: *** [fs/exfat/cache.o] 错误 1
make: *** [_module_fs/exfat] 错误 2

估计要老内核才支持。。。 2.6.29? or 2.6.28
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表