先说结论
在 Apple Silicon Mac 上完成 TB710FU Bootloader 解锁、关键分区备份、设备专用 TWRP 安装与 9008 全量刷入,最后格式化 Data 并成功启动 ColorOS 16 的完整记录。
前言
这次折腾的是联想小新平板 Pro GT,设备型号 TB710FU,平台代号 topaz/topaz_prc_wifi,SoC 是高通 SM8650。原系统为 ZUXOS 1.1.04.331,目标是刷入适配 TB710FU 的 ColorOS 16.0.8.301。

整个过程比普通的 TWRP 卡刷多了一层:这个 ColorOS 包要求设备先处在 ZUXOS 1.5.04.428 对应的底层固件环境,而我的平板还在 1.1.04.331。为了避免只刷上层系统后出现固件不匹配,我最终走的是 9008 全量刷入,并在 M4 Mac 上编译了原生 arm64 版 QDL。
先把风险说在前面:
- 解锁 Bootloader 和格式化 Data 都会清空用户数据;
- TWRP 不是通用镜像,必须对应
TB710FU、Android 大版本和分区布局; - 9008 会直接写入底层分区,刷错机型、刷错 XML 或中途断线都可能让设备不开机;
- 刷入第三方系统后不要重新锁定 Bootloader;
- 本文是一次实机记录,不是无风险的一键教程。动手前先准备可靠的数据线、足够电量和自己的分区备份。
最终结果
这次刷写的最终状态如下:
| 项目 | 结果 |
|---|---|
| 设备 | 联想小新平板 Pro GT / TB710FU |
| ROM | ColorOS 16.0.8.301,基于 OnePlus Pad 3 Pro |
| 底层固件 | ZUXOS 1.5.04.428 |
| 安全补丁 | 2026-06-01 |
| Recovery | 内置 TWRP 3.7.1_16 |
| Data | F2FS,可正常挂载,未加密 |
| system | EROFS,只读 |
| SELinux | Enforcing |
| 9008 刷写 | QDL 返回码 0,super 写入速度约 41.8 MB/s |
完成 9008 刷写后,我进入内置 TWRP 执行 Format Data,重启一次 Recovery 后,/data 已能以 F2FS 正常挂载。随后启动 ColorOS,顺利进入桌面。系统里显示的机型是 OnePlus Pad 3 Pro,这是移植包的预期表现,不是刷错设备。
准备材料
我的电脑是 Apple M4 Mac,使用的材料如下:
- Android Platform Tools:提供
adb与fastboot; - ZUI 官方解锁页面签发的
sn.img; - TB710FU 专用的
TWRP-16_HD_2026-01-03.img; ColorOS16.0.8.301_A16_TB710FU[97d558].zip;- 从 linux-msm/qdl 编译的 arm64 QDL;
- 一条稳定的数据线,尽量直连 Mac,不经过扩展坞。
ROM 下载完成后先校验 SHA-256。我这份文件的结果是:
b72de123a2d52a9434415fff2570ac2fe3c3d84f2c598217bea9c2d95897d558 |
macOS 下可以这样计算:
shasum -a 256 'ColorOS16.0.8.301_A16_TB710FU[97d558].zip' |
文件名末尾虽然也带了 97d558,但不能只看这几个字符,应该核对完整哈希。
第一步:申请并解锁 Bootloader
先在开发者选项里打开“USB 调试”和“OEM 解锁”,连接电脑后确认设备已授权:
adb devices |
ZUI 解锁页面需要填写设备序列号和 Bootloader_SN。后者可以在系统里读取:
adb shell getprop ro.boot.bootload_sn |
也可以进入 Bootloader 后查看全部变量:
adb reboot bootloader |
如果输出把 Bootloader SN 拆成 Part1 和 Part2,需要按原顺序直接拼接,中间不要加空格、冒号或换行。序列号与 Bootloader SN 都属于设备敏感信息,不要放到公开截图和文章里。
这里遇到的第一个坑是机型入口。虽然设备名称是“小新平板 Pro GT”,解锁页面里实际要选的是合并分类:
拯救者 Y700 第五代 & 联想平板拯救者 Y900 11&13 / 小新平板 Pro GT |
选错分类时,设备信息即使完全正确也可能无法继续。另外,页面存在每日申请数量限制;遇到“今日解锁数量已达限额”只能等待额度刷新,不建议尝试绕过服务端限制。
收到官方邮件中的 sn.img 后,先确认 fastboot devices 能看到设备,再执行:
fastboot flash unlock sn.img |
设备端出现确认界面时,使用音量键选择、用电源键确认。确认后会清空数据并重启。首次开机重新完成初始化,再次打开 USB 调试。
到这里算成功: 开机警告页面提示 Bootloader 已解锁,且 Fastboot 中查询到的锁状态为 unlocked。
第二步:先备份再改分区
解锁会清数据,但真正值得单独保存的不是应用列表,而是这台设备自己的校准与状态分区。我先保存了原厂 recovery_a、persist,随后又备份了 26 个关键分区并生成 SHA256SUMS.txt。
重点包括:
persist proinfo lenovolock ssd misc keystore frp |
以 persist 为例,在 TWRP 中可以通过 adb 读取:
adb shell 'dd if=/dev/block/by-name/persist of=/tmp/persist.img bs=4M' |
其他分区同理,但必须先通过下面的命令确认真实分区名,不能照抄别人的分区表:
adb shell ls -l /dev/block/by-name |
persist、devinfo 一类分区可能关联传感器、触控、校准或设备状态。以后真要恢复,也只能使用自己这台机器的备份,不能拿别人的镜像互换。
第三步:使用 TB710FU 专用 TWRP
TWRP 绝对不是“同品牌平板通用”。刷之前至少核对三件事:
fastboot getvar product对应 TB710FU/topaz;- 镜像明确标注支持当前 Android 大版本;
- 作者说明的 recovery 分区和 A/B 槽位与设备一致。
能临时启动时,优先先用 fastboot boot 测试:
fastboot boot TWRP-16_HD_2026-01-03.img |
确认触控、ADB 和分区挂载正常后,再根据镜像作者的说明决定是否写入 recovery_a 或当前槽位。不要因为别人的命令里写了 recovery_b,就跟着向自己的另一槽位写入。
我在写入任何新内容前,先把原 recovery_a 导出并计算哈希;这是后面排查 Recovery 问题时最有价值的一份备份。
第四步:为什么这次没有直接卡刷
ColorOS 包作者说明,TWRP 卡刷或 Fastboot 刷入需要设备已经处在 ZUXOS 1.5.04.428 底包。我的设备是 1.1.04.331,两者跨度不小。
只刷 system、vendor 或 super,看起来省事,但底层 bootloader、firmware、DSP、modem 等组件仍可能停留在旧版本。典型后果是卡第一屏、卡第二屏、触控或声音异常,甚至进不了 Recovery。
因此这次选择 ROM 包里准备好的全量 9008 方案,让底层分区和上层系统保持同一套版本。代价是风险更高,所以才把完整备份、哈希校验和 QDL dry-run 放在前面。
第五步:在 M4 Mac 上准备 QDL
我使用的是 linux-msm/qdl,源码固定在提交:
7def06c38aeb05dd108218d63c43e35a1820ee64 |
Apple Silicon 上先安装构建依赖:
brew install libxml2 libusb libzip meson ninja help2man pkg-config |
让 pkg-config 找到 Homebrew 的库,再构建:
export PKG_CONFIG_PATH="$(brew --prefix libusb)/lib/pkgconfig:$(brew --prefix libxml2)/lib/pkgconfig" |
我最后得到的是原生 arm64 可执行文件。第一次从 Finder 双击时,Gatekeeper 会提示无法验证开发者;更适合的使用方式是在终端中运行。确认二进制确实来自自己刚编译的源码后,再到“系统设置 → 隐私与安全性”允许它运行。
第六步:先 dry-run,再进行 9008 写入
把 ROM 解压后,先找到包内的 Firehose programmer,以及所有 rawprogram*.xml、patch*.xml。这些 XML 决定写哪些分区,不能混用其他机型或其他版本的文件。
设备进入 EDL/9008 后通常会黑屏,这是正常现象。可以先检查 QDL 是否识别到设备:
./qdl list |
如果系统仍能使用,可以尝试:
adb reboot edl |
无法使用 ADB 时,确保平板完全关机,按住音量加键不放并插入 USB 线;看到充电图标亮起后再次灭屏,再用 ./qdl list 验证。不同批次的按键时序可能略有差异,关键是电脑端只出现一个高通 9008 设备。
正式写入前先 dry-run:
./qdl --dry-run <包内的prog_firehose文件> rawprogram*.xml patch*.xml |
这一步会检查 programmer、XML、镜像路径和分区大小,不会真正写设备。我的包一共识别到 6 份 rawprogram XML 和 6 份 patch XML,检查中没有缺文件或镜像超出分区的问题。
确认以下条件全部满足后,才去掉 --dry-run:
- ROM 完整 SHA-256 已核对;
- programmer 与 XML 都来自同一份 TB710FU 包;
- 关键分区备份与哈希在电脑上;
- 电量充足,数据线稳定,Mac 不会休眠;
- 命令展开后的 XML 数量与包内说明一致。
./qdl <包内的prog_firehose文件> rawprogram*.xml patch*.xml |
写入开始后不要拔线、合盖或强制结束进程。我这次完整写入 A/B 分区和 GPT,QDL 最终返回 0,并把第 1 分区设为可启动;体积最大的 super 写入速度约 41.8 MB/s。
到这里算成功: QDL 无错误退出,日志末尾完成 patch/reset,设备随后能够进入 Bootloader 菜单。
第七步:进入内置 TWRP 格式化 Data
9008 完成后,我先强制进入 Bootloader,看到绿色 START。然后从电脑执行:
fastboot reboot recovery |
设备进入 ROM 内置的 TWRP 3.7.1_16 后,执行:
Wipe → Format Data → 输入 yes |
这里要选的是 Format Data,不是只滑动做普通 Wipe。完成后先重启一次 Recovery,再检查 /data 是否能挂载;我这里显示为 F2FS,约 215 GB,总占用约 1%。确认挂载正常后再重启 System。
第一次启动 ColorOS 可能比平时久,不要刚看到 Logo 就强制断电。能够进入开机向导、完成初始化并到达桌面,就算整条主线完成。
使用中的已知问题与注意事项
这个移植包日常可用,但不是官方为 TB710FU 发布的系统。实际使用前要接受下面这些差异:
- 不要锁定 Bootloader。 当前分区和签名不是设备原生组合,锁定后可能直接无法启动;
- Data 未加密。 TWRP 挂载和维护更方便,但设备丢失后的数据保护会弱于正常加密状态;
- system 是 EROFS 只读。 不能把它当作传统可直接修改的 ext4 system;
- 不要急着 Root。 Android 16 上的 Root 方案可能引发卡第一屏、第二屏或
PERF-GLUE-LAYER错误,先把原系统稳定性观察几天; - “查找手机”和小布语音唤醒仍是已知问题;
- 前摄一侧扬声器音量偏小属于该版本已知现象;
- 某些应用出现数据流卡顿时,可以尝试关闭该应用的广告跟踪;
- 系统收到的是移植包作者说明中的 SOTA 更新。已经 Root 或改过关键分区时,不要在不了解更新内容的情况下直接安装;
- 每次清除数据后都要重新打开开发者选项和 USB 调试。
踩坑汇总
| 现象 | 原因 | 处理 |
|---|---|---|
| 解锁页面找不到“小新平板 Pro GT”独立入口 | 它被放进拯救者与小新平板的合并分类 | 选择包含“小新平板 Pro GT”的合并项 |
| 页面提示今日解锁数量已达限额 | 服务端每日配额耗尽 | 等待额度刷新,不绕过限制 |
| TWRP 触控、分区或启动异常 | 镜像机型/Android 版本/槽位不匹配 | 只用 TB710FU 专用镜像,先临时启动验证 |
| QDL 在 macOS 被拦截 | 自编译命令行文件未经过 Apple 公证 | 核对源码后在隐私与安全性中允许,终端运行 |
| 9008 后屏幕一直黑 | EDL 模式本来就没有界面 | 用 ./qdl list 判断,别只看屏幕 |
| 卡第二屏 | Data、旧数据或分区状态不兼容 | 进入 TWRP 执行 Format Data,再重启 Recovery |
| 卡第一屏 | 可能涉及 kernel、persist、devinfo 或底层固件 | 停止反复乱刷,核对日志和自己的分区备份 |
| 黑屏且 QDL 识别不到 | 设备状态或 USB 链路异常 | 长按电源键与音量减强制重启,再换线直连 |
| 应用安装器闪退 | 首次启动后的系统组件尚未稳定 | 先重启几次,必要时用 adb install,不要随意擦 FRP |
总结
这次最重要的不是“把 ColorOS 亮起来”,而是把每一步变成可验证的状态:解锁前保存敏感参数,改 Recovery 前备份原镜像,9008 前核对完整哈希和 dry-run,刷完后先在 TWRP 验证 /data,最后才启动系统。
回头看,真正避免翻车的是三件事:TWRP 不通用、底包版本不能想当然、设备独有分区必须自己备份。 做到这些,9008 虽然看起来吓人,过程反而比反复混刷更可控。