exFAT格式存储设备支持的引入及其原因
随着Android 13的到来及Pixel系列智能手机上对exFAT文件系统的支持,这一功能引发了广泛讨论。对于这种新变化的详细解释和背景信息,用户希望了解具体的缘由、实现过程以及未来的发展方向。
为什么在2022年之前不被支持?
在此之前,由于微软持有该格式的相关专利权,导致 exFAT 在众多操作系统中并不具备原生的支持。直到2019年8月,微软决定为 exFAT 提供技术规范并加入免费加入的 Open Invention Network (OIN)。
这一举动使大量使用其产品的公司可以自由地将其包含在自己的产品和系统中,无需担心侵犯专利权的问题。在此之后,经过长时间的技术评审与社区协作,exFAT 的相关驱动程序最终被合并到了 Linux 内核中,并在 2021 年正式推出了官方驱动。
如何实现对 exFAT 支持?
随着上游 Linux 内核提供了微软许可的 exFAT 驱动程序支持,在 Android 中集成这一功能变得更加简单。然而,将 exFAT 支持引入到 Android 的过程不仅限于上游内核的支持;还需要 vold(volume daemon)能够检测并使用这些新驱动。
在 2018 年早期,vold 已经为 exFAT 提供了基本支持,但前提是它必须要能够在内启动的内核中识别此特性,并且必须有 mkfs.exfat 和 fsck.exfat 这两个工具的存在。这些工具作为 exfatprogs 用户空间工具的一部分,在构建过程中并未包含在 Android 12L 及更早版本中。
直到 Android 13 开始测试版,官方终于将 exFAT 文件系统相关的工具纳入了构建流程。例如,在检查 Pixel 6 系列设备上的 Android 13 构建时,这些工具的可用性成为了成功实现 exFAT 挂载的关键因素之一。
Pixel 系列为何较早支持此功能?
这是因为对于 Pixel 系列这类高端设备在开发和测试阶段,Google 和 OEMs 通常会先一步尝试引入某些先进功能。因此,在 Pixel 设备上实现 exFAT 支持,不仅有助于确保未来可能的系统升级顺利进行,还可以为用户提供一个试验并反馈新特性的机会。
但需要注意的是,目前大部分 Android 12L 和更早期版本并未包含这些支持;因为默认构建配置中未含有 exfatprogs 工具。这也意味着在使用这些较老系统的设备上,即使内核已经支持 exFAT 文件系统,依然可能遇到由于用户空间工具缺失而导致的挂载失败问题。
结论
总体来说,exFAT 成功引入 Android 系统是一个由专利问题到技术合作,再到最终实现跨平台兼容性过程中的重要里程碑。随着 Android 13 和 Pixel 系列产品的更新和改进,相信未来用户将在更多设备上享受到 exFAT 支持带来的便利,为存储解决方案提供了更多的灵活选择。
通过以上内容可以看出,exFAT 格式在各个版本的 Android 内核及系统层面有着复杂的协作关系。随着技术标准和法律法规的变化,以及 OEMs 和软件巨头之间的逐步合作,类似问题能够得到有效处理,并进一步推动移动设备生态系统的进步。