跨平台文件系统


86

我希望可以从Linux,Mac OS X和Windows读取和写入我的外部驱动器。

FAT32可以使用,但如今4 GB的文件大小限制已达到了顶峰。还有其他选择吗?

Answers:


46

正如Breakthrough所说,请使用NTFS。在Mac OS和Linux中,都可以使用NTFS-3G启用对NTFS分区的读取/写入。

在OS X上,也可以通过Homebrew免费安装NTFS-3G brew install ntfs-3g。您还需要OS X的Fuse,仅此而已。

这些项目是免费,开源且成熟的。我在Mac上使用了此设置,并且从NTFS分区访问数据没有问题。


24
一句警告:ntfs-3g驱动程序不支持所有操作。en.wikipedia.org/wiki/NTFS#Linux “由于内部NTFS结构的复杂性,内置2.6.14内核驱动程序和FUSE驱动程序都不允许更改被认为不安全的卷,以避免损坏。” 我很幸运能经历到这一点:我的NTFS驱动器曾经在运行中冻结。我终于拔下了插头,重新连接了它,从那时起,ntfs-3g便再也不会碰它。最后,我不得不将NTFS驱动器连接到Windows机器并启动,然后将其重新插入Linux机器,以使其正常工作。
nagul

3
好吧,如果您认为ntfs格式都是反向工程,它仍然非常稳定。当然,它可能还会有一些怪癖。您丢失了任何数据吗?
亚历克斯

3
不,幸好没有数据丢失。它只是激怒我,我不能让开车上班,而不首先将其连接到Windows主机。我希望我能至少强行安装驱动器。从那以后,当我需要跨平台兼容性时,我就恢复使用fat32,因为我发现4GB的限制更合适。但这就是我。不过,我会在稳定性方面达成共识;使用ntfs-3g时,我从不担心数据损坏。
nagul

4
另外,在三大厂商之外,NTFS几乎不受支持或几乎没有稳定性。例如,OpenBSD具有稳定的只读支持,但只写非常不稳定。我确信其他操作系统也存在相同的问题,因为它是专有的FS
Earlz

1
@nagul,您怎么知道您没有任何数据丢失?
Pacerier,2014年

41

UDF是候选人。它可以在Linux> = 2.6.31,Windows> = Vista,MacOS> = 9以及许多BSD上即时使用。

注意: UDF具有不同的版本,并非所有平台都同样支持该版本,请参阅Wikipedia-Compatibility

相关问题:在USB闪存驱动器上使用UDF


3
这对我来说似乎是最好的方法。它可以在Windows,Linux和Mac上正常运行。
Vortico

:为了获得最佳的兼容性确保您使用格式选项正确,阅读此线程serverfault.com/questions/55089/...
三月

似乎Linux仅支持直到2.05版的UDF写入: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我认为他的意思是UDF 2.05版,而不是Linux
osvein '16

16

简单回答是不。除了FAT32,这些操作系统之间没有最低的公分母。

最低公分母是指内置文件系统。对于附加组件,您自己一个人。


1
寻找替代品并不难:)
alex

11
如果要将驱动器插入先前未配置的任意计算机中,是否可以替代是一个有争议的问题。
EmmEff

4
UDF是最低的公分母。除嵌入式系统外,当前所有PC操作系统都内置了对UDF的支持
phuclv

UDF不适用于Chromebook。看到这里:support.google.com/chromebook/answer/183093?
hl = zh-

9

好吧,您有两种解决方案。许多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卷复制文件即可使用它们。


4
如果可以并且愿意在目标计算机上安装这些第三方工具的有效解决方案。
EmmEff

如果OSX可以原生支持Ext2,那将是一个不错的解决方案。但是使用Ext2和AFAIK意味着您必须在Windows上安装驱动程序,在OSX上安装Fuse。
罗尔夫

9

尝试exFAT,它可用于越来越多的操作系统。根据链接的维基百科文章(请参阅源代码),有一个针对Linux的开源内核模块正在开发中。OS X从10.6.5开始支持它,Windows从Vista开始支持它。有针对Microsoft Microsoft OS的更新。

exFAT支持大文件。


7
exFAT在Linux系统上并不真正可用。
polemon 2011年

4
实际上,似乎exFAT在Linux上具有读/写支持。您只是无法创建exFAT卷。但是我不知道这种支持有多好。至少它的开发人员说它仍处于beta中

7

使用NFS和Samba将外部驱动器安装到服务器上。


4

您可以确定FAT32几乎可以在任何地方工作。

我在文件大小限制方面苦苦挣扎,按照今天的标准,这个限制已经不那么大了。由于exFAT在Linux上尚不可用,因此我一直在寻找替代方法,而且很难找到合适的方法。

UDF曾经是一个跨平台和跨媒体文件系统,但它却被遗忘了。有一个用于格式化硬盘驱动器的UDF的选项,该选项非常适合可移动驱动器,但是从我的经验来看,即使有的话,Windows上的支持也很少。我不知道Windows 7是否支持BluRay光盘以外的UDF驱动器。

我决定将NTFS用于外部驱动器,该驱动器需要插入Windows计算机和Linux计算机中。对于我的可移动驱动器,主要是(如果不仅在Linux计算机上使用),我使用XFS。

同样的问题也适用于加密:我在Linux上使用LUKS,在Windows上有一些支持。与LUKS相比,TrueCrypt不能很好地集成到Linux系统中,所以我选择了那个。


1
UDF现在可以使用(Windows 7)。见serverfault.com/questions/55089/...
三月




-3

老实说,没有这样的文件系统。对于Linux / Mac,NTFS是读/写模式,但对于Linux安装则不建议这样做。实际上,我没有看到有人在NTFS上安装Linux。Linux通常安装在ext2 / ext3文件系统上。FAT32现在可能可以使用,但是Windows的将来版本(例如Windows 7)将无法使用。

在Windows上工作时,您可以使用此处提到的某些软件/驱动程序在Linux分区上进行读取/写入。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.