身為一個 IT 騎牆派,同時擁有 Windows 7 x64 + Windows Server 2012 R2,OS X 10.10 及 CentOS 6.5 x86 等三大平台的系統也是很正常的 ... (星爺上身 ...XDD)
各系統之間也用了 Gigabit Ethernet 的區域網路連接起來,平常使用起來並沒有什麼問題,若是在辦公室裡網路流量較大的狀況下,傳輸大型檔案就是一個很要命的事情,保證會讓區域網路變得更塞,同事們也會用力的賞我很多個白眼。
這時候,也只能勤勞一點,多走馬路、少用網路,用外接磁碟乖乖的複製+貼上。
不過事情當然沒有那麼簡單,Windows 預設的 檔案系統 (File System) 是 NTFS,OS X 是 Mac OS 擴充格式(日誌式),而 CentOS 則是 ext4,勢必要找一個能讓三大系統都願意買單的格式,才能搞定這件事情。
那 ... 到底有什麼格式才能辦的到呢 ???
我們先來看一下三個系統各支援什麼格式。
首先是 Windows,它支援了 FAT32、NTFS、exFAT。
而 OS X 支援 Mac OS 擴充格式(日誌式)、 Mac OS 擴充格式(區分大小寫、日誌式)、MS-DOS (FAT)、exFAT。
至於 CentOS 支援的格式就很多了,主要常見的格式有 ext3、ext4、vfat、NTFS,vfat 指的就是 FAT32。
看來,三大平台共通的格式就是 FAT32,那我們實際來試一下。
很好,Windows 可讀可寫 ...
OS X 也沒問題 ...
CentOS 可讀可寫 ...
太好了,打完收工 !!!
...
...
...
等等,我們似乎忘了什麼,說好的大型檔案呢???
Windows ... 寫不進去。
OS X ... 沒有辦法。
CentOS ... 無能為力。
維基百科 - FAT 裡有提到,FAT32 單一分割區支援到 2TB,單一檔案大小上限為 4 GB。 看來,FAT32 不是最佳解,那還有什麼格式可行呢?
NTFS 是 Microsoft 的專屬格式,請參閱 Microsoft MSDN - NTFS 與 FAT 及 FAT32 的比較;OS X 可讀不可寫,CentOS 讀不到。
Mac OS 擴充格式(日誌式) 是 Apple 的專屬格式,請參閱 Mac OS X:「Mac OS 擴充」格式(HFS Plus)的卷宗和檔案限制;Windows 跟 CentOS 都讀不到。
ext4 是 Unix-Like 系統的開放格式,請參閱 維基百科 - ext4,Windows 跟 OS X 都讀不到。
當然我們可以找的到很多軟體或套件讓這些格式來跨平台共用,但是畢竟不是系統原生所支援的方法,穩定性、相容性都令人擔心 ....
最後的希望只剩下 exFAT 了,根據 Microsoft Technology Licensing 的資料,exFAT 雖然是 Microsoft 的專利,不過有開放申請,尤其特別適用於快閃記憶體 (Flash Memory)。
Windows
在 Windows XP 及 Server 2003 要支援 exFAT,必須額外安裝 KB955704 更新,請參閱 Microsoft Support - 說明 exFAT 檔案系統驅動程式的更新套件,Vista SP1、Server 2008 之後的版本已經提供原生支援;至於 Windows 2000 之前的版本,就請忘了 exFAT 這回事吧 ...。
在 Windows 下還有幾點要注意的地方:
- 僅支援在外接的磁碟使用 exFAT 來格式化,內接的磁碟不會出現 exFAT 的選項。
- 只要是外接的磁碟,不管是卸除式磁碟 (隨身碟、記憶卡) 或 IDE、SATA 外接硬碟都可以使用 exFAT。
- 因為內接磁碟不支援,所以也無法使用 exFAT 做為系統分割區的檔案系統,或許網路上會有勇者想嘗試看看 .... XD
OS X
OS X 10.6 Snow Leopard 就開始原生支援 exFAT,不需要特別安裝任何更新或 App,至於 OS X 10.5 Leopard 之前的版本,那就請快點買一台新的 iMac Retina 5K 吧,好用又免費的 OS X 10.10 Yosemite 在等待著你 !!!
Linux
由於 Linux Kernel 的 File System 目前尚未納入 exFAT 的原生支援,我們必須安裝 Free ExFAT file system implementation 提供的 FUSE 模組進行支援。
目前最新版本是 2014-07-08 釋出的 1.1.0 版原始碼,安裝及使用的方法可以參閱 HOWTO - Quick Start Guide。
不想從原始碼自己編譯,或是覺得自行編譯模組不好管理的話,也可以加入 RPM Fusion 套件庫,他們已經打包好了,我們只要直接用 yum 安裝就好了。
在 CentOS 6.x 使用 RPM Fusion 套件庫要注意,Configuration - Important notes 有提到必須先加入 EPEL 套件庫才可以。
我們可以直接用 yum 安裝 EPEL 套件庫資訊。
yum -y install epel-release
再按照下面的指令安裝 RPM Fusion 套件庫資訊。
su -c 'yum localinstall -y --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm'
更新一下套件庫資訊。
yum -y update
更新後就可以找到 fuse-exfat 套件了。
yum list | grep exfat
把它安裝起來。
yum -y install fuse-exfat
最後把 exFAT 格式化過的 USB 隨身碟掛載到系統裡,就可以正常的讀寫檔案了。
mount.exfat-fuse /dev/sdb1 /media
或
mount -t exfat /dev/sdb1 /media
如果有需要在 Linux 裡格式化成 exFAT 的話,那就要安裝 exfat-utils 工具。
yum -y install exfat-utils
安裝完成之後,就可以在 Linux 裡格式化成 exFAT 了。
mkfs.exfat /dev/sdb1
或
mkfs -t exfat /dev/sdb1
參考資料
- 小州老師: 聯成電腦講師專欄:linux 下使用 Exfat 檔案系統格式的儲存裝置
- Google Code: exFAT
- Microsoft - 比較 NTFS 與 FAT 檔案系統
- MacUKnow - Mac OS X 10.6.5 正式支援 exFAT
更新紀錄
- 2014/11/11 撰文。
感謝分享!請問為什麼有些檔案才幾MB卻寫不進去exFAT的外掛硬碟?謝謝
回覆刪除我剛剛試了一下 3.9 MB 的檔案,很正常啊!!!
刪除考慮一下把外接硬碟重新 FORMAT 一次吧,希望不是因為壞軌。
謝謝,我是剛從PC系統轉到Mac筆電,先前的備存外接硬碟只能讀取不能寫。剛好手邊有一顆新的500G硬碟,從ASUS win8 筆電拆下來,原來的筆電換成SSD,這顆500G硬碟拿來作為Mac備份用。就發現之前,由PC讀寫入到Mac的有些比較舊的pdf與圖檔,寫入Mac時Ok,但從Mac寫入這個備份硬碟時,Mac反應說沒有內容,問還要不要寫入到硬碟?大概一千個檔案,有個位數檔案有這樣的問題。
刪除