8f0040839ce1c94baec261f6526101c7 1980 年代初期還是天價的 5 MB 硬碟,隨著技術演進,早已不可同日而語:當今硬碟不僅容量以 TB 計算,且價位亦已大眾化;甚至數位相機和手機廣為使用的記憶卡,亦動輒以 GB 計算。然而,儲存媒體隨各家作業系統不同,亦有不同檔案系統格式,故跨平台互通性,已是選擇儲存媒體不可忽略的重要考量。

目前個人電腦主流的 Windows XP、Windows Vista 及 Windows 7(以及舊版的 Windows 2000)作業系統,皆預設使用 NTFS 檔案系統;更早期的 Windows 95/98/Me 作業系統則使用 FAT32 作為檔案系統,而這也是目前使用記憶卡的眾多 3C 週邊產品(如數位相機、手機、行車記錄器、導航機等)所支援的唯一檔案系統格式。此外,隨著新一代 SDXC 超高儲存容量記憶卡的推出,exFAT 這個新型檔案系統,已有逐漸浮上檯面的趨勢。

在本文中,筆者將以目前主流的 FAT32、NTFS,以及exFAT 檔案系統,分別於 Windows XP Service Pack 3 (SP3)、Windows 7、Mac OS X 10.6.7 以及 Fedora 14 (Linux) 作業系統進行相容性實測。

格式化工具 

以下是筆者用於磁碟格式化的工具:

1. Windows XP SP3 系統內建的格式化軟體。請於「開始」→「我的電腦」(Windows 7 的使用者,請點選「開始」→「電腦」)以滑鼠右鍵點選磁碟機圖示,再於功能表中選取「格式化…」。

▲Windows XP 系統內建格式化工具。

▲Windows 7 系統內建格式化工具。

2. SD/SDHC/SDXC 專用的格式化工具 SD Formatter 3.0(免費軟體),可至 http://www.sdcard.org/consumers/formatter_3/ 下載。

▲SD Formatter 3.0。

3. Mac OS X 10.6.7「磁碟工具程式」(位於「應用程式」→「工具軟體」檔案夾內)的「清除」標籤。

▲Mac OS X 10.6.7的「磁碟工具程式」。

4.  Fedora 14 (x86_64) 的「磁碟公用程式」。(位於「應用程式」→「系統工具」,點選「格式化儲存區」)

▲Fedora 14的「磁碟公用程式」。

▲使用 Fedora 14「磁碟公用程式」格式化儲存區

<後面還有測試數據>

檔案格式支援情形 

在預設狀態下,Windows XP、Windows 7、Mac OS X 以及 Fedora 14 對於 FAT32、NTFS 及 exFAT 檔案系統的支援情形,整理如下表:

▼主流檔案系統於作業系統上的支援情形


FAT32
NTFS
exFAT
Windows XP 支援
(需小於32GB) 
支援 不支援 [註3]
Windows 7 支援
(需小於32GB)
支援 支援
Mac OS X 支援
(無容量限制)
只可讀取 [註1] 支援(系統版本10.6.5以後)
Fedora 14 (Linux) 支援
(無容量限制)
支援 [註2] 不支援 [註4]
  • 註1:Mac OS X 10.6 起已經支援寫入 NTFS 檔案系統,但系統預設並未啟用此功能;建議以 SL-NTFS(下載網址為http://juicybinary.com/sl-ntfs/)啟用 NTFS 檔案系統的寫入功能。此外,Mac OS X 10.4~10.6 的用戶亦可安裝 ntfs-3g for Mac,下載網址為http://www.tuxera.com/products/tuxera-ntfs-for-mac/
  • 註2:須安裝 ntfs-3g。ntfs-3g 為 Fedora 14 預設的安裝套件之一,如果您的 Linux 系統並未安裝 ntfs-3g,則需自行安裝。
  • 註3:Windows Vista SP1 及 Windows 7 業已支援 exFAT 檔案系統。Windows XP SP2/SP3 用戶,請自行下載安裝 KB955704 更新檔(下載網址為http://www.microsoft.com/downloads/details.aspx?FamilyID=1cbe3906-ddd1-4ca2-b727-c2dff5e30f61&displayLang=zh-tw)之後,即可支援 exFAT。
  • 註4:雖然 Fedora 14 官方並未支援 exFAT,但透過安裝開放原始碼的第三方驅動程式,即可支援 exFAT 檔案系統的讀寫功能。方式如下:
    • 1. 如果您的 Fodora 14 並未安裝 subversion、scons、fuse-devel 以及 gcc 套件,請先行安裝。
    • 2. 開啟「終端機」,並輸入如下指令下載並編譯 exFAT 驅動程式:
      • svn co http://exfat.googlecode.com/svn/trunk/ exfat-source
      • cd exfat-source
      • scons
      • sudo scons install
    • 3. 完成上述步驟之後,您的 Fedora 14 已經可以辨認並讀寫 exFAT 檔案系統了(但因 Fedora 14 並未原生支援 exFAT,現階段尚無法使用 exFAT 為磁碟格式化)。

格式化實測結果 

筆者分別使用創見 (Transcend) 8GB SDHC Class 6 記憶卡以及 1.5 TB USB 外接硬碟(內裝硬碟 Seagate Barracuda 7200.11 1.5 TB,型號:ST31500341AS)為例,分別於上述 3 種作業系統使用 FAT32、NTFS 及 exFAT 檔案系統進行格式化的結果:

▼Transcend(創見)8 GB SDHC Class 6 記憶卡

格式 檔案系統
所占空間
(位元組)
可用空間
(位元組)
叢集大小[註1]
(位元組)
格式化軟體
[註2]
FAT32 32,768 8,059,846,656 32,768(32k) SD Formatter 3.0
Windows 7
FAT32 4,096 8,048,332,800 4,096 (4k)
(系統預設值)
Windows XP SP3
FAT32 4,096 8,047,292,416 4,096 (4k)
(系統預設值)
Windows 7
NTFS 65,445,888 7,998,623,744 4,096 (4k)
(系統預設值)
Windows 7
NTFS 66,177,024 7,997,895,680 1,024 (1k) Windows 7
exFAT 98,304 8,061,878,272 32,768 (32k)
(系統預設值)
Windows XP SP3
Windows 7
exFAT 4,096 8,054,374,400 4,096 (4k) Windows 7
  • 註1:叢集 (cluster) 是儲存媒體的最小儲存單元。
  • 註2:以上格式化軟體為 Windows 7 及 Windows XP SP3,係表示使用該系統內建之工具軟體進行格式化(請參見「格式化工具」一節)。

▼Seagate Barracuda 7200.11 1.5 TB 硬碟(型號:ST31500341AS)

格式
[註1]
檔案系統所占空間
(位元組)
可用空間
(位元組)
叢集大小
(位元組)
格式化軟體
[註2]
FAT32 1,769,472 1,499,933,868,032 32,768 (32k) Mac OS X 10.6.7
FAT32 16,384 1,499,569,602,560 16,384 (16k) Fedora 14
NTFS 113,360,896 1,500,188,516,352 4,096 (4k)
(系統預設值)
Windows XP SP3
Fedora 14
NTFS 135,675,904 1,500,166,201,344 4,096 (4k)
(系統預設值)
Windows 7
NTFS 250,703,872 1,500,051,173,376 1,024 (1k) Windows XP SP3
NTFS 273,025,024 1,500,028,852,224 1,024 (1k) Windows 7
exFAT 1,703,936 1,500,252,864,512 131,072 (128k)
(系統預設值)
Windows XP SP3
Windows 7
exFAT 2,490,368 1,500,252,078,080 131,072 (128k) Mac OS X 10.6.7
  • 註1:Windows XP SP3 及 Windows 7 無法在大於 32GB 的儲存媒體使用 FAT32 進行格式化。
  • 註2:以上格式化軟體為 Windows 7、Windows XP SP3、Mac OS X 10.6.7 及 Fedora 14,係表示使用該系統內建之工具軟體進行格式化(請參見「格式化工具」一節)。

依據筆者的使用經驗,在相同的檔案系統(如 NTFS)之下,使用不同格式化軟體對於儲存媒體的效能並無明顯差異;但若選用的叢集大小不同,對於磁碟的儲存空間及讀寫效能上,則會產生決定性的影響。舉例而言,如果您在格式化磁碟時選擇 32k 位元組作為叢集大小,則儲存的資料將以 32k 位元組為單位進行配置。假設某個檔案大小為 32,770 個位元組 (=32,768+2) ,則因為超出 32,768 個位元組的部分(2 個位元組)亦需以 1 個叢集來儲存,所以這個檔案實際占用 2 個叢集,相當於 65,536 個位元組 (32k*2) 的儲存空間;也就是說,剩下的 32,766 個位元組就浪費掉了。

不過,如果儲存媒體有較大的叢集空間,一般而言也代表著較好的讀取效率(可一次讀入較多資料,減少讀寫頭移動的次數)。如果硬碟叢集過小,在頻繁地讀寫資料之下,資料檔案存放的位置將愈來愈零散,導致移動讀寫頭的機械動作過於頻繁,而嚴重減緩讀寫資料的速度。這時候,就必須經常搭配使用磁碟重組工具(Windows 系統內建於「附屬應用程式」→「系統工具」,但筆者建議改用重組速度更快、功能更強的 Smart Defrag 2,網址為 http://www.iobit.com/iobitsmartdefrag.html)重新編排資料檔案在硬碟中的位置,來提升磁碟效能。

至於檔案系統種類、讀寫效能與節省空間的選擇上,如何取捨,請繼續參考下一節。

哪種檔案系統是您的最佳選擇?

選擇最適合您的檔案系統,建議可從幾個面向考量:

1. 相容性:

以 SDHC 記憶卡為例,如果您的 SDHC 記憶卡係以提供數位相機、攝錄影機、車用導航機等週邊使用為主,則 FAT32 的高度週邊相容性,應是您的首要選擇;但如果您的週邊支援 32 GB 以上儲存空間的 SDXC 記憶卡,則 exFAT 或許是更佳考量。此外,對於市售儲存容量動輒超過 250 GB以上的外接硬碟,建議使用 NTFS 或 exFAT 檔案系統,在不同作業系統之間的相容性最佳。

2. 個人需求:

如果相容性並非您的主要考量(無需與其他電腦或週邊裝置共用儲存媒體),筆者建議您可依自己的需要訂作符合自身需求的檔案系統,至於 FAT32、NTFS 或 exFAT,因為主流作業系統皆已支援,皆是不錯的選擇。但對於常需要編輯影片的多媒體工作者而言,FAT32 有單一檔案儲存空間不得超過 4 GB 的限制,如果檔案大小有超過此限值的可能,則 NTFS 或 exFAT 檔案系統,應該是較好的選擇。而 NTFS 檔案系統支援日誌 (journaling) 功能,相較 FAT32 及 exFAT 有更佳的穩定性,但缺點是檔案系統本身占用較多的儲存空間(以筆者的 1.5 TB 外接硬碟為例,NTFS 檔案系統本身即占了數百 MB)。

當您決定選擇何種檔案系統,之後,建議再依據您主要的資料檔案類型,選擇搭配適當的叢集 (cluster) 大小(即Windows XP 及 Windows 7 格式化工具的「配置單位大小」下拉式清單項目),即可進一步將儲存空間做最有效率的使用。

最後,依據筆者的使用經驗,如果資料檔案類型係以文書、試算表等較小容量的檔案為主,則 4 kB 大小的叢集(或者更小的叢集)絕對是不錯的選擇。如果資料係以未壓縮型式 (RAW) 的數位照片、影音畫面等多媒體資料為主,則建議選用 32 kB 以上的大叢集,應可以增進您硬碟的讀寫效率。


共 3 則回應

1 樓 · 拉麵道 · 發表於 2011-04-30 15:24 · 檢舉

推!!實用!!


2 樓 · 凃皓元 · 發表於 2011-04-30 18:36 · 檢舉

超實用的一篇啊...


3 樓 · 小白 · 發表於 2011-05-01 00:33 · 檢舉

嗯,實用文一篇,收下了。

飽食終日,無所事事,關心電腦大小事。