{{{ #!html
Exfat 格式支援 (windos, linux, mac)
解決 mac 10.5.4 格式化後, windows & linux 都無法掛載的問題
}}} [[PageOutline]] exFAT(Extended File Allocation Table,又名FAT64)是一種特別適合於閃存驅動器的檔案系統 fat16, fat32, fat64 的比較詳情於此:[http://zh.wikipedia.org/zh-hant/FAT32] = mac = mac 在 os 10.5.4 之後,就已經支援exfat 的格式化,讀,寫 了,(但其格式化有雷,詳情於後),因此不需額外處理。 = windows = windows xp 一開始並不支援,因此安裝patch 即可支援[http://support.microsoft.com/kb/955704/zh-tw 下載exFAT 檔案系統驅動程式更新套件]。 windows vista sp1 和 windows 7 都已經支援,因此不需而外安裝 = linux = 讓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 都無法讀取,一整個感覺良好。 用windows 系統來掛載該檔案系統,輕則說無法掛載,嚴重的話可能導致系統出錯。 如以下用linux 掛載 mac 用exfat 格式化後的檔案系統,會出現 invalid VBR checksum 的錯誤.... {{{ $ 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 即可