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 以上的大叢集,應可以增進您硬碟的讀寫效率。


共 4 則回應

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

推!!實用!!


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

超實用的一篇啊...


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

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

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


4 樓 · eason · 發表於 2019-07-10 18:17 · 檢舉

格式化是指對磁碟或磁碟機中的分區(partition)進行初始化的一種操作,這種操作通常會導致現有的磁碟或磁碟機中的分區中所有的檔案被清除。作業系統為我們提供了兩種格式化的方式:低階格式化和高階格式化。一般情況下,如果沒有特別指明,對硬碟的格式化通常是指高階格式化。

低階格式化(Low-Level Formatting)又稱低層格式化或物理格式化(Physical Format),低級格式化被用於指代對磁片進行劃分柱面、磁軌、磁區的操作。它會對磁片進行填零操作。既對磁片的所有可讀寫區域進行二進制位的改寫。該操作可以完全的清除舊資料,避免資料被救回。

高階格式化又稱快速格式化或邏輯格式化,它是指根據使用者選定的檔案系統(如FAT12、FAT16、FAT32、exFAT、NTFS、EXT2、EXT3等),在磁片的特定區域寫入特定資料,以達到初始化磁片或磁碟分割、清除原磁片或磁碟分割中所有檔的一個操作。高級格式化包括對主引導記錄中分區表相應區域的重寫、根據使用者選定的檔案系統,在分區中劃出一片用於存放檔案配置表、目錄表等用於檔管理的磁碟空間,以便使用者使用該分區管理文件。高階格式化不會掃描磁片壞扇區。它會保留所有檔案,並且只會使磁碟區顯示為空。

因此,如果您不小心執行高階格式化操作並丟失所有重要檔案,我們可以確認您仍有機會救回丟失的檔案。而低階格式化操作後將無法救回任何檔案。