MiniBindFS 教程:无根越狱后如何安全修改 iOS 系统字体

越狱之后,很多玩家都想更进一步,把 iOS 的系统字体换成自己喜欢的样式。但真正动手之后往往会发现一个问题:现代的越狱几乎都是无根越狱(rootless),系统目录通常是只读的,直接修改很容易失败,甚至可能把系统搞乱。针对这个痛点,工具 MiniBindFS 提供了一种更安全的思路——不直接改写原目录,而是复制一份副本挂载回原位置。

MiniBindFS 由开发者玄烨完善,目前已经提供对 Dopamine 3.0Relaxin 两种越狱环境的支持。下面详细介绍它的原理与使用方法。

MiniBindFS 的工作原理

要理解 MiniBindFS,先要明白无根越狱的一个核心限制:越狱后的文件系统里,系统目录(如 /System)通常是只读挂载的,普通工具无法直接改写。如果强行去改,轻则失败,重则引发系统异常。

MiniBindFS 的做法是“曲线救国”:它先把目标目录(比如系统字体目录)复制一份到用户目录,然后把这份副本挂载回原来的位置。这样一来,系统看到的其实是修改后的副本,而原始的只读系统文件从头到尾都没有被动过。如果修改出了什么问题,只需要重启设备,挂载就会失效,系统自然恢复原状,不会留下不可逆的破坏。

支持环境与适用范围

目前 MiniBindFS 提供对 Dopamine 3.0 和 Relaxin 两种越狱的支持。开发者在 iPhone 13 Pro Max、iOS 17.0 上对 Dopamine 3.0 版本进行了测试,理论上支持 iOS 17.0 至 17.3.1;Relaxin 越狱环境也已经测试正常。

从用途来看,MiniBindFS 可以挂载 iOS 系统目录、复制到用户目录后进行覆盖修改。最常见的应用场景包括:

  • 替换系统字体;
  • 修改系统目录中的资源;
  • 测试系统文件替换效果;
  • 在不直接改写原目录的情况下,临时覆盖系统目录。

简单来说,它的作用就是把一个只读目录,变成一个“可以修改的副本”。

优点与缺点

在动手之前,先了解这个工具的利弊,能帮你判断它是否适合自己的需求。

优点:

  • 不直接改写原始系统目录,风险相对可控;
  • 支持复制后挂载,也支持使用已有的副本;
  • 可以查看当前的挂载状态;
  • 适合测试字体和系统资源的替换效果。

缺点:

  • 这是一个 Root 工具,不是普通应用;
  • 第一次复制目录时可能占用较多存储空间;
  • 挂载状态属于系统层面的修改;
  • 操作错误可能导致字体缺失、界面异常,甚至进入安全模式。

动手前的风险提示

使用之前,一定要做好备份。不要直接操作整个根目录 /,也不要一开始就拿 /System 下的重要目录做测试。建议先用一个临时测试目录,确认整个流程没有问题以后,再考虑修改字体目录。

系统进程正在使用的目录可能无法卸载,如果看到 EBUSY 报错,不要强行处理,也不要随意使用强制卸载参数。一旦出现系统异常、应用闪退或无法进入桌面等情况,需要由使用者自行承担风险。不建议在存放重要资料的主力机上直接尝试。

使用教程:一步步修改系统字体

第一步:添加玄烨个人源

打开 Sileo,进入“软件源”,添加玄烨品果官方源:

https://dkxuanye.github.io/repo/

在 Sileo 中先搜索 plutil,点击获取依赖;然后继续搜索 MiniBindFS,直接安装 Sileo 显示的兼容版本即可。

第二步:第一次挂载字体目录

在手机上安装终端工具 NewTerm,然后打开并执行下面的命令:

mount_bindfs /System/Library/Fonts

第一次执行时,工具会先把系统字体目录映射到用户目录。目录比较大时,需要等待一段时间。在 Dopamine 环境下,字体副本通常位于:

/var/jb/bindfs/System/Library/Fonts

后续需要修改字体时,修改的是这个目录里的副本,而不是系统原来的 /System/Library/Fonts

第三步:使用 Filza 修改字体

打开 Filza,进入字体副本目录 /var/jb/bindfs/System/Library/Fonts,把需要替换的字体复制到这个目录中。复制之前,最好先备份原来的系统字体,万一有问题可以覆盖还原。

完成复制后,打开 Dopamine,点击重启用户空间,让修改生效。

需要注意的是,所选用的第三方字体必须兼容 iOS 17.x 系统,否则个别页面会出现“口口”字。如果出现口口字也不必慌张,关掉 App 重新打开一般就能恢复,实在不行重启设备即可恢复原状。

第四步:使用已有副本

如果之前已经创建过副本,可以执行下面的命令直接使用,无需再次复制:

mount_bindfs --skip-copy /System/Library/Fonts

如果想重新创建副本,执行:

mount_bindfs --copy /System/Library/Fonts

重新复制前,建议先确认设备剩余空间足够。

第五步:查看状态与自动挂载

查看当前挂载状态:

mount_bindfs -l

查看自动挂载设置:

mount_bindfs -s

如果希望每次越狱环境启动后自动挂载字体目录,执行:

mount_bindfs -s /System/Library/Fonts

不想自动挂载时,执行 mount_bindfs -s 即可清除设置。

第六步:恢复原来的状态

如果不想继续使用修改后的字体,先清除自动挂载设置,然后完整重启一次设备。用户空间重启不一定会清除内核中的 bindfs 挂载,所以恢复时建议使用完整重启。如果只是测试临时目录,可以用 mount_bindfs -u /tmp/test 卸载。

常用命令汇总

# 第一次复制并挂载
mount_bindfs /System/Library/Fonts

# 使用已有副本
mount_bindfs --skip-copy /System/Library/Fonts

# 重新复制副本
mount_bindfs --copy /System/Library/Fonts

# 查看挂载状态
mount_bindfs -l

# 设置自动挂载
mount_bindfs -s /System/Library/Fonts

# 清除自动挂载
mount_bindfs -s

# 卸载临时测试目录
mount_bindfs -u /tmp/test

总的来说,MiniBindFS 适合用来测试字体和系统资源的替换,而不适合拿来随意修改系统文件。如果你只是想体验一下,建议先创建临时测试目录,确认流程没有问题以后,再操作字体目录。这样即便出错,也能通过重启设备快速恢复,把风险降到最低。