Version 1 (modified by waue, 14 years ago) (diff) |
---|
Linux Exfat 格式支援
解決 mac 10.5.4 格式化後, windows & linux 都無法掛載的問題
exFAT(Extended File Allocation Table,又名FAT64)是一種特別適合於閃存驅動器的檔案系統
(微軟Disk BASIC)
(Compaq DOS 3.31)
(Windows 95 OSR2)
EBD0A0A2-B9E5-4433
-87C0-68B6B72699C7(GPT)
(232-1)
(212-19)
(216-19)
(228-19)
使用 64KB 叢集時可達 4 GB,但非所有系統均支援
使用 32KB 叢集時可達 8 TB
其實會使用的原因在於,用家中的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 即可