MiniBindFS使用教程:越狱后如何修改iOS系统字体
玄烨最近完善 MiniBindFS 对 Dopamine 多巴胺越狱3.0 支持。
这个工具主要解决一个问题:越狱后想修改系统字体或系统资源,但是因为现代的越狱都是无根越狱rootless,无权修改系统目录,通常是只读的,直接修改很容易失败。
MiniBindFS 会先复制一份目录,然后把这份副本挂载回原来的位置。这样系统看到的是修改后的副本,原始系统文件不会被直接改写。并且,如果有什么问题,重启设备就能恢复正常不影响系统。
支持情况:
目前 MiniBindFS 已经提供 Dopamine 3.0 和 Relaxin 对应的支持。
添加玄烨的个人源后,Sileo 会显示MiniBindFS的安装包。
Dopamine 3.0 版本我已经在 iPhone 13 Pro Max、iOS 17.0 上进行过测试。按理支持iOS 17.0 -17.3.1.
Relaxin 越狱我也已经测试过了。这两个越狱环境我都测试正常!
MiniBindFS可以做什么?
可以挂载iOS系统目录,复制到用户目录,然后你可以进行覆盖修改。最常见的用途就是修改系统字体。
比如:
- 替换系统字体;
- 修改系统目录中的资源;
- 测试系统文件替换效果;
- 在不直接改写原目录的情况下,临时覆盖系统目录。
简单说,就是把一个只读目录变成“可以修改的副本”。
优点及缺点:
优点:
- 不直接改写原始系统目录;
- 支持复制后挂载;
- 支持使用已有副本;
- 可以查看当前挂载状态;
- 适合测试字体和系统资源。
缺点:
- 这是一个 Root 工具,不是普通应用;
- 第一次复制目录时可能会占用较多空间;
- 挂载状态属于系统层面的修改;
- 操作错误可能导致字体缺失、界面异常,甚至进入安全模式。
风险提示:
使用之前一定要做好备份。
不要直接操作整个 / 目录,也不要一开始就拿 /System 下的重要目录做测试。建议先使用临时测试目录,确认流程没有问题以后,再考虑修改字体目录。
系统进程正在使用的目录可能无法卸载。如果看到 EBUSY,不要强行处理,也不要随便使用强制卸载参数。
一旦出现系统异常、应用闪退或无法进入桌面等情况,需要由你个人承担风险。玄烨不建议在存放重要资料的主力机上直接尝试。
使用教程
一、添加玄烨个人源
打开 Sileo,进入“软件源”,添加下面的玄烨品果官方源:
https://dkxuanye.github.io/repo/
在sileo中搜索plutil 点获取依赖,然后返回
继续,搜索 MiniBindFS,直接安装 Sileo 显示的兼容版本即可。
二、第一次挂载字体目录
在手机上安装终端工具NewTerm beta3,然后打开执行下面的命令:
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 -s可以取消挂载,再次重启用户空间,就恢复iOS系统原生字体。
字体覆盖效果预览


五、使用已有副本
如果之前已经创建过副本,可以执行:
mount_bindfs --skip-copy /System/Library/Fonts
这个命令不会再次复制文件,而是直接使用已经存在的副本。
如果想重新创建副本,可以执行:
mount_bindfs --copy /System/Library/Fonts
重新复制前,建议先确认设备剩余空间足够。
六、查看挂载状态
查看当前 MiniBindFS 状态:
mount_bindfs -l
查看自动挂载设置:
mount_bindfs -s
七、设置自动挂载
如果希望每次越狱环境启动后自动挂载字体目录,可以执行:
mount_bindfs -s /System/Library/Fonts
不想自动挂载时,执行:
mount_bindfs -s
八、恢复原来的状态
先清除自动挂载设置:
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
# 设置自动挂载
mount_bindfs -s /System/Library/Fonts
# 清除自动挂载
mount_bindfs -s
# 卸载临时测试目录
mount_bindfs -u /tmp/test
最后说几句
MiniBindFS 适合用来测试字体和系统资源,不适合拿来随意修改系统文件。
如果你只是想体验一下,建议先创建临时测试目录,确认流程没有问题以后,再操作字体目录。
致谢
- 无尽伤痛都锁进黑夜 & zhaonan(invalidunit)——原版
com.nan.bindfs的作者, 本项目的功能设计与思路来源 - opa334 / Dopamine——
jbctl/jbserver/STEAL_UCRED机制与 libjailbreak (MIT),本插件提权链路的基石 - roothide 团队(RootHide)——roothide 越狱、vroot 机制与开发者文档 (github.com/roothide/Developer)
- Relaxin 越狱团队——iOS 17.0-17.3.1 越狱,本插件的目标环境
- palera1n 团队——rootless 越狱与 jbctl 机制的先驱
- Procursus / theos 社区——bootstrap 与构建工具链
- Diatrus(plutil)——设备端 plist 工具