Linux 上的 exFAT 與 NTFS
情況:我需要一個可以在 Windows 和 Linux 上使用的拇指驅動器上的文件系統。
問題:預設情況下,Windows 和 Linux 之間常見的 FS 只是 exFAT 和 NTFS(至少在更新較多的核心中)
問題:在 Linux 上的性能方面(因為我的基礎作業系統是 Linux),哪個是更好的 FS?
附加資訊:如果您認為有其他文件系統更好並且滿足這種情況,我願意聽取。
編輯 14/4/2020:ExFAT 正在被集成到 Linux 核心中,並且與 NTFS 相比可能提供更好的性能(我了解到,因為讀寫 NTFS 分區的包不是最快的
$$ granted, it is a great interface $$)。底線仍然是 - 如果您需要日誌來防止簡單的損壞,請使用 NTFS。 編輯 18/9/2021:NTFS 現在正在集成到 Linux 核心中(很快),也許這意味著 NTFS 的性能將比它作為使用者級模組時的成本小得多。
exFAT 和 NTFS 都是 Microsoft 專有的文件系統。exFAT,也稱為 FAT64,是一個非常簡單的文件系統,實際上是 FAT32 的擴展,由於其簡單性,它在 Linux 中很好地實現並且速度非常快。
但由於其結構簡單,容易受到碎片的影響,因此性能很容易隨著使用而下降。
exFAT 不支持日誌,因此這意味著它需要在不正常關機的情況下進行全面檢查。
NTFS 比 exFAT 慢,尤其是在 Linux 上,但它更能抵抗碎片。由於其專有性質,它在 Linux 上的實現不如在 Windows 上好,但根據我的經驗,它執行良好。如果發生損壞,NTFS 可以在 Windows 下輕鬆修復(即使對於 Linux 也有
ntfsfix
),並且有很多工具能夠恢復失去的文件。就個人而言,我更喜歡 NTFS 的可靠性。另一種選擇是使用 ext4,並在 Windows 下使用extfsd 掛載,ext4 在 Linux 上更好,但驅動程序在 Windows 上沒有很好的實現。extfsd 不完全支持日誌,所以在 Windows 下寫是有風險的,但是 ext 在 Linux 下比 exFAT 更容易修復。