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

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

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

答案1

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

笔记:UDF 有不同的版本,并非所有平台都同等支持,请参阅维基百科 - 兼容性

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

答案2

没有麻烦的话,使用 FAT32。没有其他兼容的可能性。 Linux 自版本 2.6.xy 以来不再有 NTFS 问题,但 Mac OS 却有...也许您可以在闪存上创建更多分区,但这实际上不是一个很好的解决方案。

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

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

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

谢谢你彼得夫

答案3

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

更新:微软公开发布了exFAT规范2019 年,exFAT 可作为内核驱动程序Linux 5.4+。有关更多信息,请参阅维基百科,微软博客

另一方面,请记住,许多知情人士会认为 exFAT 为了简单性而牺牲了功能。因此,您将获得能够存储数据并跨各种操作系统工作的东西,但功能方面相当初级。

答案4

Windows、Mac 和 Linux 使用哪种文件系统?

快速总结:

外FAT在 SSD 上,簇大小为 8 KiB。 exFAT 在所有 3 个操作系统上都是本机读/写的,无需任何额外的安装、配置或工作。 8 KiB 的簇大小是速度和浪费空间之间的一个很好的权衡(研究我在这个答案底部绘制的图)。

您也可以考虑 NTFS,但 MacOS 需要额外的驱动程序才能在其上写入。请参阅我的答案底部的链接。

更多详情:

  1. 仅限 Linux:ext4
  2. 仅限 Windows:ntfs
  3. 仅限 MacO:apfs
  4. Linux 和 Windows:ntfs
  5. Mac 和 Windows:exFAT
  6. Linux 和 Mac:exFAT
  7. Windows、Mac 和 Linux:exFAT

长答案:

以下是我针对 Linux、Windows 和 Mac 所推荐的文件系统格式。

  1. 对于单一操作系统使用:
    1. 为了仅限Linux使用,包括在外部硬盘驱动器上,将文件系统格式化为外部4通过 gparted GUI。 EXT4 是一种 Linux 文件格式。这是我最常使用的,即使是在外部硬盘上,因为我是 Linux 的重度用户。

      1. 对于可选加密,请使用 LUKS,它可以通过 Gnome Disks GUI 进行配置。
    2. 为了仅限 Windows 使用,将文件系统格式化为ntfs通过 gparted GUI。

      1. 对于可选加密,请使用维拉密码容器存储在NTFS分区上。如果运行 NTFS 文件系统Windows,您可以使用 VeraCrypt 加密整个磁盘,但这仅适用于使用此工具的 Windows。
    3. 为了仅限 MacOS 使用,将文件系统格式化为APFS(苹果文件系统)。这必须在 Mac 上通过 Mac 磁盘实用程序完成。此实用程序中有多种格式选项可用,如下所示,包括“APFS”、“APFS(加密)”、“APFS(区分大小写)”、“APFS(区分大小写,加密)”: 在此输入图像描述

      1. 据我所知,目前任何操作系统上都没有功能齐全的 APFS 开源实现,正如 Apple 所希望的那样。他们希望他们的设备尽可能不兼容。不过,您可以在这里看到一些工具:超级用户:如何在Linux或Windows上挂载APFS?
      2. 对于可选加密,请在 MacOS 安全设置中打开文件库加密。
  2. 对于共享操作系统使用:
    1. 用于在之间共享文件Linux 和 Windows, 使用ntfs,通过 gparted GUI 格式化。 NTFS 是一种 Microsoft 文件格式,但 Linux(例如 Linux Ubuntu)完全支持对其进行读取和写入,无需额外配置。
      1. 对于可选加密,请使用维拉密码容器存储在NTFS分区上。
    2. 用于在之间共享文件Mac 和 Windows,Linux 和 Mac,Windows 和 Mac, 或者Windows、Mac 和 Linux, 使用外FAT,通过 Linux 上的命令行进行格式化,如我在我的网站上的文章中所示:基于簇大小的 exFAT 文件系统速度和磁盘使用情况 - 在 Linux Ubuntu 上格式化 exFAT 驱动器
      1. ExFAT 是一种 Microsoft 文件格式,但其规范显然已经完全发布,Windows、Mac 和 Linux 都支持对其进行读写,无需在任何系统上进行额外配置。 Mac 和 Windows 的磁盘 GUI 实用程序中也有 exFAT 作为格式选项,Linux 也通过 Gnome 磁盘实用程序和命令行支持格式化为这种类型,如下所示。您也可以使用 FAT32,但它比 exFAT 受到更多限制,特别是其最大文件大小限制为 4 GiB,如“限制”表中所示来自微软这里,所以我强烈推荐使用exFAT。
      2. 对于可选加密,请使用维拉密码存储在 exFAT 分区上的容器。

注意:格式化 exFAT 分区时,我建议簇大小为 8 KiB。 128 KiB 可以让您的速度稍快一些,但如果您有很多小文件,则会浪费更多的磁盘空间。不要高于此值,否则当您有小文件时,您会浪费大量磁盘空间。

详细信息请参见我的图:

在此输入图像描述

在这里阅读更多内容:

  1. 我的答案:最好使用 512kb 块或更小或更大的块将硬盘重新格式化为 exFAT?
  2. 我的网站文章:https://gabrielstaples.com/exfat-clusters/
  3. 我完整的 Python matplotlib/numpy 绘图代码在这里:https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/stack_exchange/format_exFAT_PLOTS.py

适用于 MacOS 的 NTFS 驱动程序:

外FAT最大的缺点是它不支持符号链接。在这种情况下,也许可以考虑NTFS。它本身与 Windows 和 Linux 兼容,并且通过一些额外的驱动程序,您可以使其在 MacOS 上进行写入。前任:https://toolbox.easeus.com/ntfs-for-mac/index.html或者这里提到一个免费工具:https://superuser.com/a/45144/425838

相关内容