2014年9月5日 星期五

FAT

FAT (File Allocation Table) 檔案系統一般是 FAT12、FAT16、FAT32 的通稱,原始設計是在 1977 給軟碟使用,也用在硬碟。隨著容量擴充,擴展出 FAT12、FAT16、FAT32,目前仍用於常用於隨身碟、記憶卡、數位相機、EFI 系統分割。

FAT 最大的缺點是 fragment造成讀寫速度變慢。

VFAT:FAT 支援長檔名的擴充,跟 FAT 相容,但會減少根目錄檔案數目。

在 Linux 檔案系統,msdos、vfat、及 umsdos 都支援 FAT12/16/32,msdos 只支援 8.3 的檔名,vfat 支援長檔名,umsdos 更加支援 Unix 檔案權限。

FAT12/16/32 檔名的編碼不是用 unicode,需要 native language 的 codepage 轉換,如 iso8859-1、cp437。

Linux 需載入 fat.ko、vfat.ko、nls_cp437.ko、及 nls_iso8859-1.ko,然後 (例如 SD 卡) 執行 mount /dev/mmcblk0p1 mnt/ 掛載。

exFAT:其實跟 FAT 的關係不大,沒有 NTFS 的 overhead,單檔可超過 4 GiB。
  • http://jamyy.dyndns.org/blog/2014/02/6011.html

最大容量最大檔案檔案數量叢集 (cluster) -- Allocation unit size
叢集大小叢集數
最小最大最少最大
FAT12
32MB4077



FAT16
2GB65517
64KB
65525
FAT3232GB、2TB4GiB - 1268435437512B64KB65,527 (*512B = 32MB = 最小容量)4177918
extFAT16EB16EB
512B32MB

NTFS


512B64KB


FAT32
opkg install dosfstools #工具程式,包含 mkfs.vfat 和 fsck.fat
opkg install kmod-fs-vfat #檔案系統不支援時安裝驅動程式
opkg update; opkg list “kmod-nls*” #列出可安裝的 NLS 檔,用來處理檔名編碼

exFAT
opkg install kmod-fs-exfat #工具程式
opkg install libblkid #檔案系統不支援時安裝驅動程式

參考來源:
  1. wikipedia: File Allocation Table
  2. wikipedia: FAT filesystem and Linux
  3. microsoft: Choosing Between File Systems
  4. microsoft: Character Sets Used in File Names
  5. iT邦幫忙─如何在XP使用超過4GB的隨身碟?
延伸閱讀

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...