題 跨平台文件系統


我希望我的外置硬盤可以從Linux,Mac OS X和Windows讀寫。

FAT32有效,但目前4 GB的文件大小限制是一個顯而易見的問題。還有其他選擇嗎?


82
2017-09-22 14:05


起源




答案:


正如突破所說,使用 NTFS。在Mac OS和Linux中,您都可以使用 NTFS-3G 啟用對NTFS分區的讀/寫。

在OS X上,也可以通過安裝NTFS-3G 家釀 免費的 brew install ntfs-3g。你還需要 OS X的保險絲,但就是這樣。

這些項目是免費的,開源的和成熟的。我在Mac上使用了這個設置,我從NTFS分區訪問數據沒有問題。


46
2017-09-22 14:28



警告:ntfs-3g驅動程序並非所有操作都受支持。 en.wikipedia.org/wiki/NTFS#Linux “由於內部NTFS結構的複雜性,內置的2.6.14內核驅動程序和FUSE驅動程序都不允許對被認為不安全的捲進行更改,以避免損壞。”我有幸體驗到這一點:我的NTFS驅動器曾在運行中期凍結。我終於將它拔掉並重新安裝了,從那以後ntfs-3g就不會碰它了。我最後不得不將NTFS驅動器連接到Windows機箱並啟動,然後將其重新插入Linux機箱,以使其正常工作。 - nagul
好吧,如果你認為ntfs格式都是逆向工程的,它仍然非常穩定。當然,它可能仍會有一些怪癖。你丟失了什麼數據嗎? - alex
不,幸運的是沒有數據丟失。我只是覺得我無法讓驅動器工作 無 首先將它附加到Windows主機。我希望我至少可以強制安裝驅動器。當我需要跨平台兼容性時,我已經恢復使用fat32,因為我發現4GB限制更可口。但那隻是我。我會同意穩定性部分;使用ntfs-3g時,我從不擔心數據損壞。 - nagul
此外,NTFS在大3之外非常不受支持或幾乎不穩定。例如,OpenBSD具有sorta穩定的只讀支持,但只寫是非常不穩定的。由於它是專有的FS,我確定還有其他操作系統存在同樣的問題 - Earlz
@nagul,你怎麼知道你沒有任何數據丟失? - Pacerier


UDF 是候選人。它在Linux> = 2.6.31,Windows> = Vista,MacOS> = 9和許多BSD上開箱即用。

注意: UDF有不同的版本,並不是所有平台都支持,請參閱 維基百科 - 兼容性

相關問題: 在USB閃存驅動器上使用UDF


39
2018-06-20 12:30



這對我來說似乎是最好的方法。它適用於Windows,Linux和Mac。 - Vortico
為了獲得最佳兼容性,請確保使用正確的格式化選項,請閱讀以下主題: serverfault.com/questions/55089/... - MarcH
看來Linux只支持UDF寫到版本2.05: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/fs/... :( - Gerry
@Gerry它在這里工作沒有問題: truncate -s 100M udf.img && mkudffs udf.img && mount udf.img /mnt && echo foo > /mnt/foo && umount /mnt && uname -r → 3.16.0-4-amd64 - Marco
@Marco我認為他的意思是版本2.05的UDF,而不是Linux - osvein


簡單回答是不。除了FAT32之外,這些操作系統沒有最低的共同點。

通過最小公分母,我的意思是內置文件系統。對於附加組件,您可以自己動手。


16
2017-09-22 14:07



找到替代品並不難 - alex
如果想要將驅動器插入任意計算機(以前未配置),是否可能有替代方案是有爭議的。 - EmmEff
UDF是最低的共同點。除嵌入式系統外,所有當前的PC操作系統都內置了對UDF的支持 - phuclv
UDF不適用於Chromebook。看這裡: support.google.com/chromebook/answer/183093?hl=en - Jim Hunziker


那你有兩個解決方案。許多Linux發行版都包含用於讀取和寫入NTFS驅動器的工具......

另一種方法是使用Ext2。有一個 Windows實用程序 它將文件系統與Windows操作系統集成在一起。我認為這將是您理想的解決方案:

它安裝了一個純內核模式文件系統驅動程序Ext2fs.sys,它實際上擴展了Windows操作系統以包含Ext2文件系統。由於它在Windows NT操作系統核心的同一軟件層上執行,就像Windows的所有本機文件系統驅動程序一樣(例如NTFS,FASTFAT或JOLiet / ISO CD-ROM的CDFS),所有應用程序都可以直接訪問Ext2卷。 Ext2卷獲取驅動器號(例如O :)。 Ext2卷的文件和目錄顯示在所有應用程序的文件對話框中。無需從Ext2卷複製文件或將文件複製到Ext2卷以便使用它們。


9
2017-09-22 14:21



如果可以並且願意在目標計算機上安裝這些第三方工具,則提供有效的解決方案。 - EmmEff
這將是一個很好的解決方案,OSX可以原生支持Ext2。但是使用Ext2,AFAIK,意味著你必須在Windows上安裝驅動程序,在OSX上安裝Fuse。 - Rolf


嘗試 exFAT的,可用於越來越多的操作系統。根據鏈接的維基百科文章(參見消息來源),有一個用於開發中的Linux的開源內核模塊。 OS X從10.6.5開始就支持它,Windows自Vista以來就支持它。 oler Microsoft OS有更新。

exFAT支持大文件。


8
2018-03-05 20:59



exFAT在Linux系統上並不真正可用。 - polemon
實際上似乎是這樣 exFAT在Linux上具有讀/寫支持。您無法創建exFAT卷。但是我不知道支持有多好。至少 它的開發者說它仍處於測試階段。


使用NFS和Samba將外部驅動器掛載到服務器。


7
2017-09-22 23:08





FAT32是您幾乎可以在任何地方工作的東西。

我在文件大小限制方面遇到了困難,今天的標準已經不再那麼大了。由於exFAT尚未在Linux上提供,我一直在尋找替代品,而且很難找到合適的東西。

UDF曾經是一個跨平台和跨媒體文件系統,但它有點被遺忘。可以選擇為硬盤驅動器格式化UDF,這非常適合可移動驅動器,但從我的經驗來看,Windows上的支持是最小的,如果有的話。我不知道Windows 7是否支持除BluRay光盤以外的UDF驅動器。

我決定將NTFS用於外部驅動器,需要插入Windows計算機以及Linux計算機。對於我的可移動驅動器,主要是,如果不僅在Linux計算機上使用,我使用XFS。

同樣的問題也適用於加密:我在Linux上使用LUKS,它在Windows上有一些支持。與LUKS相比,TrueCrypt無法很好地集成到Linux系統中,所以我決定使用它。


4
2017-10-01 19:13



UDF現在可以運行(Windows 7)。看到 serverfault.com/questions/55089/... - MarcH
superuser.com/questions/39942/using-udf-on-a-usb-flash-drive - MarcH


如果您的跨平台要求 不要 包括Windows我的理解是,截至2017年底,ZFS是廣泛使用的流行現代操作系統的最佳選擇。請參閱OpenZFS實現,其中包括對OSX / macOS,Linux,FreeBSD的支持: https://en.wikipedia.org/wiki/OpenZFS http://www.open-zfs.org/wiki/Main_Page

應該可以通過虛擬機(或其他資源)使用Windows,但無需Windows即可滿足我的需求。


1
2017-09-08 14:57





我建議使用 exFat 文件系統,因為我格式化了一個120GB的硬盤分區 exFat 它與macOS,Linux和Windows完美配合。


0
2017-09-23 05:54



這在2011年已經提到了, superuser.com/questions/45130/cross-platform-file-system/...,更多細節。 - Arjan


說實話,沒有像這樣的文件系統。 NTFS是Linux / Mac的讀/寫模式,但不建議安裝Linux。事實上,我沒有看到任何人在NTFS上安裝Linux。 Linux通常安裝在ext2 / ext3文件系統上。 FAT32現在可能正常工作,但Windows 7的未來版本將無法正常工作。

使用此處提到的某些軟件/驅動程序在Windows上工作時,您可以在Linux分區上進行讀/寫。

http://www.helpfolder.com/2009/08/27/how-to-access-linux-partitions-from-windows/


-3