文件系统兼容所有操作系统?

tkb*_*kbx 62 linux osx filesystems windows

我经常使用 Linux 和 Mac OS X,有时我不得不使用 Windows。我需要在所有三个上都使用闪存驱动器,并且我需要一个可以在所有这些上运行良好的文件系统。ext 在 Mac 或 Windows 上都不起作用,HFS+ 在 Windows 上不起作用(或在 Linux 上运行良好),NTFS 在 Mac 上是只读的,FAT 在所有操作系统上都很糟糕。是否有一个文件系统可以在所有操作系统上运行良好?我希望它无需驱动程序或额外安装即可工作,因此它可以在任何计算机上使用。

Mar*_*rco 31

UDF是候选人。它在 linux >= 2.6.31、Windows >= Vista、MacOS >= 9 和许多 BSD 上开箱即用。

注意: UDF 有不同的版本,并非在所有平台上都得到同等支持,请参阅Wikipedia - Compatibility

可以使用mkudffs软件包中的工具在 Linux 上创建 UDF udftools

  • 自 2006 年 9 月以来,由于 CVE-2006-4145 内核已禁用写入大小大于 1Gb 的范围。为了写入大于 1Gb 的文件,UDF 驱动程序应该更新以写入更多的文件区。这种情况直到现在(2015 年)才发生,所以在 linux 上 UDF 多年来一直比 FAT32 更糟糕。 (7认同)
  • @Marco我担心对于Windows来说,“有一个fs驱动程序”=>“将在任何媒体上工作”的含义不能得到保证。为什么这是另一个问题,但我不会认为这是理所当然的。不过,它预计可以用于 DVD-RAM。 (2认同)

MIr*_*rra 16

没有问题,请使用 FAT32。没有其他兼容的可能性。Linux 从 2.6.xy 版本开始不再有 NTFS 的问题,但 Mac OS 有...也许你可以在你的闪存上做更多的分区,但这实际上不是很好的解决方案。

其他解决方案:试着想象你有 4GB 的闪存。将其拆分为 2 个分区。1) FAT32 带有免费软件便携式应用程序,可访问所有其他 FS 类型。2) 通用分区,可以是任何你想要的——NTFS、ReiserFS(如果你想要真正的安全和加密)或其他任何东西。感谢您的闪存的第一个分区,您可以轻松地从任何操作系统读取/写入,因为您存储在闪存的 FAT32 分区中的程序。

更好的解决方案:忘记使用闪存驱动器。通过网络使用 Dropbox 或其他东西。它们是在机器之间共享文件的最简单方法之一。

编辑:感谢您的纠正:让我在这里写一个评论:“最大大小取决于所选的簇大小。对于 FAT32 的簇大小为 512B 到 4KB(也在维基页面上提到),限制实际上是从 2TB 到 16TB。 ” 没错,请原谅我的错误。

谢谢彼得

  • 不,那不是事实。FAT32 仅将最大文件大小限制为 4GB,但我见过 FAT32 分区大小超过 200GB。所以 FAT32 的最大大小是每个分区 512GB。看这里:http://en.wikipedia.org/wiki/File_Allocation_Table (3认同)
  • @MIrra 最大大小取决于所选的集群大小。对于 FAT32 的集群大小为 512B 到 4KB(也在维基页面上提到),限制实际上是从 2TB 到 16TB。 (3认同)
  • 具有此技能水平的任何人都永远不必接触任何不受信任的 3rd 方存储,例如 Dropbox。只需在您的服务器上使用 sshfs,这应该是开箱即用的,并完成它。是的,有 [许多适用于 Windows 的 SSHFS 客户端](http://alternativeto.net/software/webdrive/?platform=windows),提供正常的挂载能力。 (2认同)

pet*_*rph 13

由于您已将其切割为开箱即用的 OS X 和 Windows 支持的文件系统,恐怕最不常见的分母是 FAT32。如果您可以放宽要求并接受使用 FUSE,exFAT可能是一个选择——它受专利保护,因此它不会在 2029 年或微软以免版税的方式授予专利之前进入内核,以先发生者为准。

更新:Microsoft于 2019 年公开发布了exFAT 规范,exFAT 可用作Linux 5.4+ 中的内核驱动程序。有关其他信息,请参阅维基百科MS 博客

另一方面,请记住,很多见多识广的人会争辩说,exFAT 交易功能是为了简单。因此,您将获得能够存储数据并在各种操作系统上工作的东西,但功能方面是相当初级的。

  • 另外,我们希望 2029 年没有 Windows。 (12认同)
  • 现在,我只是想知道为什么 Apple 和 Microsoft 不能摆脱他们的专有马并支持 ext。 (6认同)
  • @tkbx 如果我没记错的话,人们在 2033 年就停止使用它了,那时他们只是一个云平台提供商。然而,至少到 2099 年,3 个字符的文件扩展名的使用持续了多年。 (2认同)

ger*_*los 8

我建议exFAT。原因如下:

  • 它适用于任何地方的 RW(与 NTFS 不同,它仅在 Mac OSX 上支持只读),它自 Windows XP 起包含在 Windows 中,自 Mac OS X 10.6(Snow Leopard)起包含在 Mac OSX 中,并且 afaik 所有 GNU/Linux 发行版都包括在默认存储库中为其打包。
    到 2017 年,甚至 Android 设备、iOS 设备(iPhone 和 iPad)和一些智能电视都支持它。
  • 它不支持文件的权限和所有权(与 ext2/3/4、NTFS 和 HFS+ 不同),这是一件好事,因为它们在您经常连接到多台不同计算机的闪存驱动器上非常烦人。
  • 它支持大磁盘和大文件系统而不会浪费空间,并且支持大于 4GB 的文件(与 FAT32 不同)。它支持文件名和目录名中的几乎任何 unicode 字符(与 FAT32
  • 它足够简单,速度快(与 NTFS 不同)和可靠(与 FAT32 不同)。
  • 有了 SDXC 卡,exFAT 成为存储大于 32 GB 的 SD 和微型 SD 卡的标准,因此人们可以期待在最新的相机、摄像机、智能手机和游戏机中支持它。因此,即使您认为不需要它,也可能您已经有一台或多台设备在使用它或准备好使用它。

不幸的是,exFAT 的专利不允许将其包含在主线 Linux 内核中,因此您需要手动安装 exFAT 的实现以在您的系统中添加对它的支持。无论如何,一旦安装它,系统将能够使用正常机制挂载或卸载它。

大多数发行版都提供了安装 FUSE 实现的软件包,该实现可以正常工作且完美无缺。我将它用于闪存驱动器、SD 卡和外部 USB 磁盘,我对它很满意。

我希望 FUSE 文件系统比本地文件系统慢,但最常见的瓶颈在于硬件,而不是文件系统(通常闪存驱动器本身比文件系统驱动程序慢),所以对于“正常”使用起来完全没有问题。

要在 Ubuntu 和 Debian 上使用 exFAT,您只需要安装exfat-fuseexfat-utils软件包:

sudo apt-get install exfat-fuse exfat-utils
Run Code Online (Sandbox Code Playgroud)

  • 同意,鉴于缺乏更好的替代品 exfat _is_ 目前是最低公分母,甚至适用于 android 设备(使用 OTG 电缆,您可以连接格式化为 exfat 的闪存和硬盘驱动器)。它缺乏符号链接和权限支持,与 NFS 不兼容,但可以用于数据存储。在 Mac 上,设置脏位时可能会出现问题;我在这里描述了一种解决方法:https://superuser.com/a/1491743/65975 (2认同)
  • 专利问题似乎已经解决了,而且由于内核中包含了对 Linux 5.7 (2020-04) 良好的 exfat 文件系统支持,所以现在没有任何理由不使用它。参见 https://www.phoronix.com/scan.php?page=news_item&px=New-exFAT-For-Linux-5.7 (2认同)