{{{ #!html
Linux Exfat 格式支援
解決 mac 10.5.4 格式化後, windows & linux 都無法掛載的問題
}}} [[PageOutline]] exFAT(Extended File Allocation Table,又名FAT64)是一種特別適合於閃存驅動器的檔案系統 {{{ #!html FAT 開發商 微軟 全名 檔案配置表 (12位元版本) (16位元版本) (32位元版本) 發布 1980年前
微軟Disk BASIC) 1987年11月
(Compaq DOS 3.31) 1996年8月
(Windows 95 OSR2) 分區標識 0x01(MBR) 0x04, 0x06, 0x0E(MBR) 0x0B, 0x0C(MBR
EBD0A0A2-B9E5-4433
-87C0-68B6B72699C7(GPT
結構 FAT12 FAT16 FAT32 目錄內容 表格 檔案配置 連結串列 壞塊 對含損壞磁區的叢集加以標誌 限制 FAT12 FAT16 FAT32 最大檔案大小 32 MB 2 GB 4 GB - 1 byte
(232-1) 最大檔案數量 4,077
(212-19) 65,517
(216-19) 268,435,437
(228-19) 最長檔名限制 8.3 或者 長文件名255個字符 最大卷大小 32 MB 2 GB,
使用 64KB 叢集時可達 4 GB,但非所有系統均支援 2 TB
使用 32KB 叢集時可達 8 TB
Features FAT12 FAT16 FAT32 記錄日期 創建、修改、訪問 日期範圍 1980年1月1日2107年12月31日 日期解析度 2 s 岔流 非原生 屬性 唯讀,隱藏,系統,卷標,子目錄,歸檔[1] 訪問許可權 無 透明壓縮 Per-volume, StackerDoubleSpaceDriveSpace 無 透明加密 Per-volume only with DR-DOS 無 }}} 其實會使用的原因在於,用家中的mac mini server 可以對外接硬碟格式化的選擇,除了 mac 自家的檔案格式,就剩下 fat32 , exfat兩種可以選。 而fat32 有單一檔案4G以下的限制,因此只剩下exfat 可以選。 下面是讓linux 支援 exfat 的方式 {{{ apt-get install scons libfuse-dev subversion svn co http://exfat.googlecode.com/svn/trunk/ exfat-read-only cd exfat-read-only scons scons install }}} 不過陷阱在於,用mac mini server 選擇exfat 作格式化,似乎只有自己看得懂,安裝了patch的 windows 與 fuse-exfat 的linux 都無法讀取,一整個感覺良好。 {{{ $ sudo mount -t exfat-fuse -o allow_other /dev/sdc1 /mnt/ FUSE exfat 0.9.4 ERROR: invalid VBR checksum 0xd93a39db (expected 0xd93a39fb). }}} 以下經過用ubuntu 小小測試成功破解以上限制。 到exfat的專案下,將 libexfat/mount.c 的 188~194 行註解,如下 {{{ #!c /* use zero_sector as a temporary buffer for VBR checksum verification * if (verify_vbr_checksum(ef->zero_sector, SECTOR_SIZE(*ef->sb), ef->fd) != 0) { free(ef->zero_sector); close(ef->fd); free(ef->sb); return -EIO; }*/ }}} 並重新執行 scons ; sudo scons install 即可