有哪些 macOS 和 Windows 都支持的文件系統?

入手了塊 4T 的移動硬碟,無奈工作環境中 macOS 和 Windows 都要顧及(主要使用 macOS)。有什麼兩者皆支持且不錯的文件系統嗎?


如果僅僅是因為簇大小的話,用exFAT就好,強制簇大小為4K。如果資源管理器的格式化對話框不能選擇的話(這個我不是很確定),可以用命令行的diskpart進行格式化,選擇對應的磁碟、分區後,使用命令:

select disk &
select partition &
format quick fs=exfat unit=4096

其中N和M分別為需要格式化的磁碟ID,分區ID。可以用list &命令查看。

list disk
&
list partition

雖然Windows默認的格式化參數中,exFAT的簇大小是:[1]

  1. 7 MiB–256 MiB:4 KiB
  2. 256 MiB–32 GiB:32 KiB
  3. 32 GiB–256 TiB:128 KiB
  4. &>256TiB:不支持

但實際上,exFAT支持最大128PiB,32MiB簇大小[2],也就是說,單個exFAT卷允許最多4*2^30個簇,使用4KiB簇大小的話,支持最大16*2^40=16TiB大小的卷。

不過考慮到exFAT還是基於傳統FAT的結構,簇數量太多會影響磁碟性能。如果零碎文件可以和大文件分離的話,我建議單獨分一個小容量的分區(容量大小為零碎文件總大小的1.5~2倍左右,取決於預計的文件數量增長速度)放零碎文件,剩餘空間單獨分一個區放大文件——因為4K簇大小的話,按照平均16KiB文件大小計算,400GiB大小的分區可以放25*2^20個文件了。除非是爬蟲程序從網上下載的海量html+js+零碎圖片,我想像不出什麼應用場景會產生這麼多的文件數量。

[1]: Default cluster size for NTFS FAT and exFAT

[2]: exFAT - Wikipedia

@vczh 輪子哥有點答非所問了,而且我的理解是題主有多台機器,一個移動硬碟同時需要mac和win都能訪問。


補充:作為一種無日誌的文件系統,健壯性肯定是不如帶日誌的HSF+和NTFS的,在寫入期間掉電/拔出很容易導致文件結構損壞從而丟失數據。所以題主自行在數據安全和方便性之間選擇吧。

考慮到題主主要使用macOS,一個大分區用HSF+格式化,一個小分區放HSF for Windows的軟體/驅動可能是另一個更安全的使用方案。


目前來看是 NTFS 最好。

FAT32:4G 文件限制,沒有日誌

exFAT:沒有日誌

HFS+:此文件系統本身素質較差,且在 Windows 和 Linux 上沒有良好支持,第三方支持也很差

NTFS:Windows 原生支持,Linux 支持良好,macOS 上第三方軟體提供良好支持(Paragon 或 OSXFuse),作為移動硬碟格式通用性也好

ext4:Linux 原生支持,Windows 和 macOS 都需要安裝軟體,雖支持良好,但作為移動硬碟格式的話通用性差

APFS:macOS 專用

為何不推薦沒有日誌的文件系統:防止斷電、插拔前未正常推出等情況下丟數據。我個人極為重視安全性,認為安全第一,都是血的教訓。況且 macOS 下讀寫 NTFS 並不麻煩。


exFAT可以設置簇大小的啊……用第三方軟體格式化成4k不就解決了嗎……

不過你都4T的硬碟了,還在乎那麼多小文件浪費的空間嗎……


不過從穩定性上來說,肯定還是journal型的文件系統會好一些。

我有考慮了一些HFS+的「穩定性」,看來還是NTFS會靠譜一些?

或者,用ext4?(兩邊都加額外軟體,似乎更麻煩了)


最優解估計是NTFS了,理由如下

1 Windows久經考驗的,忠誠的,穩固的格式。

2 Linux輕鬆配置可讀寫,Mac買個軟體也能讀寫,不買用mounty也能基本讀寫,但是後果自負。macos自己的api很不靠譜。

3 Windows上面能用爽,各種分區助手各種分區天才,你可以很輕易改變分區大小,合併分區,轉換格式等等無損操作,注意重點是無損。

4 看電腦不爽,很煩,怎麼辦,斷電啊,NTFS告訴你什麼叫不怕你斷電的文件系統。


在NAS上用SMB協議。


推薦閱讀:

如何使用特殊許可權:setuid、setgid 和 sticky 位
文件基礎
硬鏈接和軟鏈接
十五. 文件系統一(文件系統的基本概念)
如何在 Ubuntu 上使用 ZFS 文件系統

TAG:Mac | macOS | MicrosoftWindows | 文件系統 |