macOS 磁盘格式支持扩展工具推荐:https://www.v2ex.com/t/1225846
xntfs:FSKit + ntfs-3g
xntfs 做的是 NTFS 。底层不是自己重写 NTFS ,而是使用成熟的 ntfs-3g ,把 libntfs-3g 接到 FSKit 的 FSVolume 操作上。
插入 NTFS U 盘后,系统可以自动挂载,读写、创建、删除、重命名这些操作都走 ntfs-3g 的逻辑。它的目标不是做一个商业级磁盘套件,而是让 macOS 获得一个更原生的 NTFS 读写入口。
这也解决了我之前一直觉得别扭的地方:NTFS 明明是非常常见的移动硬盘格式,但在 macOS 上一直像一个“外来格式”。xntfs 想做的就是把这层隔阂尽量抹平。
xlinuxfs:FSKit + LKL / lklfuse
xlinuxfs 更有意思一些。它使用的是 lklfuse 方案,也就是把 LKL ( Linux Kernel Library )跑在 macOS 进程内,再通过 FSKit 暴露给系统。
换句话说,ext4 、XFS 、Btrfs 这些文件系统不是重新实现一遍,而是尽量交给 Linux 自己的文件系统驱动处理。对我来说,这是这个项目最关键的点:它不是“仿 Linux 文件系统”,而是把 Linux 文件系统能力接进 macOS 的 FSKit 。
目前 xlinuxfs 支持的几个格式都可以读写。这样一来,macOS 对 NTFS 、ext4 、XFS 、Btrfs 这些常见跨系统磁盘的隔阂会小很多。Windows 盘、Linux 盘、NAS 拆下来的盘、开发测试用的镜像,都可以更自然地出现在 Finder 和 /Volumes 里。
据我目前了解,这是 lklfuse 这类方案第一次在 macOS 上通过 FSKit 做到实际可用的实现。它的意义不只是“能挂 ext4”,而是证明 macOS 也可以通过用户态 FSKit 扩展,把 Linux 文件系统驱动比较自然地接进系统挂载流程。
macOS 磁盘格式支持扩展工具推荐:https://www.v2ex.com/t/1225846
xntfs:FSKit + ntfs-3g
xntfs 做的是 NTFS 。底层不是自己重写 NTFS ,而是使用成熟的 ntfs-3g ,把 libntfs-3g 接到 FSKit 的 FSVolume 操作上。
插入 NTFS U 盘后,系统可以自动挂载,读写、创建、删除、重命名这些操作都走 ntfs-3g 的逻辑。它的目标不是做一个商业级磁盘套件,而是让 macOS 获得一个更原生的 NTFS 读写入口。
这也解决了我之前一直觉得别扭的地方:NTFS 明明是非常常见的移动硬盘格式,但在 macOS 上一直像一个“外来格式”。xntfs 想做的就是把这层隔阂尽量抹平。
xlinuxfs:FSKit + LKL / lklfuse
xlinuxfs 更有意思一些。它使用的是 lklfuse 方案,也就是把 LKL ( Linux Kernel Library )跑在 macOS 进程内,再通过 FSKit 暴露给系统。
换句话说,ext4 、XFS 、Btrfs 这些文件系统不是重新实现一遍,而是尽量交给 Linux 自己的文件系统驱动处理。对我来说,这是这个项目最关键的点:它不是“仿 Linux 文件系统”,而是把 Linux 文件系统能力接进 macOS 的 FSKit 。
目前 xlinuxfs 支持的几个格式都可以读写。这样一来,macOS 对 NTFS 、ext4 、XFS 、Btrfs 这些常见跨系统磁盘的隔阂会小很多。Windows 盘、Linux 盘、NAS 拆下来的盘、开发测试用的镜像,都可以更自然地出现在 Finder 和 /Volumes 里。
据我目前了解,这是 lklfuse 这类方案第一次在 macOS 上通过 FSKit 做到实际可用的实现。它的意义不只是“能挂 ext4”,而是证明 macOS 也可以通过用户态 FSKit 扩展,把 Linux 文件系统驱动比较自然地接进系统挂载流程。