wiki:waue/2011/0309

Version 2 (modified by waue, 10 years ago) (diff)

--

Linux Exfat 格式支援
解決 mac 10.5.4 格式化後, windows & linux 都無法掛載的問題

exFAT(Extended File Allocation Table,又名FAT64)是一種特別適合於閃存驅動器的檔案系統 fat16, fat32, fat64 的比較詳情於此:http://zh.wikipedia.org/zh-hant/FAT32

其實會使用的原因在於,用家中的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 行註解,如下

        /* 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 即可