如何在 macOS 中使用外部文件系统

Apple 的 macOS 提供了一种在桌面上安装和访问其他操作系统使用的存储卷的方法。以下是如何开始。

您的Mac能够读取音频 CD 或大多数为 Windows 预先格式化的 USB 拇指驱动器。几十年来,Mac 一直通过插件架构支持外国文件系统,该架构允许macOS挂载、读取以及在某些情况下写入和写入针对其他计算机格式化的存储卷。

它还支持在桌面上安装一些远程网络卷,就好像它们是磁盘一样。

由于 Mac 的外部文件系统插件,所有这一切都是可能的。每个插件都位于本机 macOS 文件 I/O 编程接口 (API) 和实际的低级设备 I/O 代码之间。当对存储卷发出 I/O 请求时,macOS 首先检查该卷的格式。

如果它是 macOS 本身可以理解的格式,它会简单地完成 I/O。但是,如果卷是使用 macOS 本身无法理解的文件系统格式化的,它会查找外部文件系统 (FFS) 插件,如果找到匹配项,则会将 I/O 请求重新路由到 FFS 插件。

然后插件的代码接管并处理 I/O 请求 – 根据请求将数据编组到存储卷或从存储卷中编组数据。

macOS 可以支持任意数量的文件系统,只要每个外部卷格式都有匹配的插件即可。事实上,macOS 甚至不需要知道很多关于外来卷格式的细节——每个 FFS 插件都可以处理大部分工作。macOS 只是说“在这里,读取这个位置的数据,然后把它还给我”,或者“在这里,写这个数据,然后通过确认返回给我”。

这种插件架构允许 FFS 支持在未来轻松扩展以支持更多格式,并允许文件系统作为一个整体独立于操作系统进行更新。杰出的。

42-hero

苹果 14″ 和 16″ MacBook Pro

内置 FFS 支持

从 macOS 13 Ventura 开始,macOS 支持大多数Windows FAT格式、只读模式下的 Windows NTFS 卷、ISO 9660光盘格式、DVD (UDF)、蓝光、其他 ISO 光学标准以及几十年前的旧 Mac OS 格式例如用于 MacOS Extended 的HFS Plus 。

适用于 macOS FFS 的插件位于启动盘上的 2 个位置:

  • /系统/库/文件系统
  • /图书馆/文件系统

如果您查看这 2 个文件夹,您会看到代码包,每个文件扩展名为“.fs”。在这些位置中的任何一个位置删除或安装新的有效 .fs 包,然后注销并重新登录将使 macOS 可以访问新的 .fs 包旨在支持的所有卷。

通常,您不想弄乱 /System/Library/Filesystems 中的任何内容。该目录由系统使用,更改它可能会导致错误、崩溃甚至损坏数据。

您添加的任何新 FFS 插件都应该添加到 /Library/Filesystems 中。

网络文件系统

在这两个文件夹中还有一个名为“NetFSPlugins”的子文件夹。此文件夹包含 .fs 包,这些包知道如何连接、安装、卸载以及读取和写入远程网络服务器,就好像它是桌面上的网络卷一样。

例如,如果您查看 /System/Library/Filesystems/NetFSPlugins,您会发现用于 FTP、HTTP、Windows SMB 共享、NFSWebDAV等的 .fs 包。每个联网的 .fs 包都知道如何与这些网络协议进行远程通信以执行 I/O。

每个联网的 .fs 包还模仿一个真实的文件系统,并“欺骗”Finder,使其认为每个远程资源都是一个存储设备——因此它可以将它们作为卷安装在 Finder 桌面上。安装后,您可以双击它们、将文件拖入远程资源或从远程资源拖出文件、将文件拖入废纸篓、卸载它们以及无缝地执行其他 Finder 任务 – 全部通过网络进行。

某些 FFS 插件可能不支持除基本 I/O 之外的所有 Finder 任务 – 但很多都支持。例如,某些可能不允许您设置 Finder 标签、更改权限或在 Finder 获取信息窗口中显示完整信息。只读 .fs 包将安装、读取和卸载 FFS 卷,但您将无法写入它们。

由于大多数 .fs 包都在操作系统内核级别工作,因此它们必须经过精心编写、测试和可靠。.fs 包中的一个小错误可能会损坏整个卷并使其无法安装 – 并且无法恢复。

Apple 做了一项了不起的工作,使 macOS 中的 FFS 机制非常强大,并且几乎没有报告任何数据损坏问题。

第 3 方 FFS 捆绑包

插件系统为第 3 方提供了编写和发布他们自己的 FFS 解决方案的机会,并且有几个已经这样做了。有些是免费的,有些则需要付费。这些包括但不限于:

  • Tuxera NTFS for Mac – 适用于 Windows NTFS 卷的完整读写 NTFS FFS 插件。14 美元 ntfsformac.tuxera.com
  • Paragon 的 NTFS for Mac
  • OpenAFS
  • OpenZFS
  • 不再支持ProFuse – 支持 Apple II ProDOS – 1980 年代的格式磁盘。

其中大部分包括一个安装程序,您可以运行它来自动将 .fs 包安装到正确的位置。有些不包括安装程序。

MacFUSE:用户级文件系统

2009 年Amit Singh发布了MacFUSE – Mac 文件用户空间扩展。MacFUSE 背后的想法是,一旦安装,外部文件系统现在可以写入用户空间而不是内核。

从理论上讲,这使得它们更容易编写和测试,因为 MacFUSE 文件系统中的错误不会像错误的内核级 FFS 那样使整个系统停止运行。

随后出现了许多 macOS FFS MacFUSE 插件,包括用于 Google 文件系统 (GFS)、Linux (ext) 等的插件。MacFUSE 已经 10 多年没有更新了,但似乎仍然适用于基于 Intel 的机器上 macOS 13 Ventura 中的大多数 FFS 插件。你的旅费可能会改变。

一种基于 FUSE 的 macOS FFS 是来自 Omar Rizwan的TabFS 。安装后,TabFS 允许您将所有打开的浏览器选项卡安装在桌面上的一个文件夹中,并从那里访问它们。

一旦您了解了 macOS 中的外部文件系统是如何工作的,假设您可以为您想要挂载和访问的外部卷格式找到正确的文件系统,剩下的就变成了无缝体验。

未经允许不得转载:表盘吧 » 如何在 macOS 中使用外部文件系统