抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
海灵 · 文章导读
00:00 / 00:00
听一听这篇文章

先说结论

在 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、9008 与 ColorOS

整个过程比普通的 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
fastboot getvar all

如果输出把 Bootloader SN 拆成 Part1 和 Part2,需要按原顺序直接拼接,中间不要加空格、冒号或换行。序列号与 Bootloader SN 都属于设备敏感信息,不要放到公开截图和文章里。

这里遇到的第一个坑是机型入口。虽然设备名称是“小新平板 Pro GT”,解锁页面里实际要选的是合并分类:

拯救者 Y700 第五代 & 联想平板拯救者 Y900 11&13 / 小新平板 Pro GT

选错分类时,设备信息即使完全正确也可能无法继续。另外,页面存在每日申请数量限制;遇到“今日解锁数量已达限额”只能等待额度刷新,不建议尝试绕过服务端限制。

收到官方邮件中的 sn.img 后,先确认 fastboot devices 能看到设备,再执行:

fastboot flash unlock sn.img
fastboot oem unlock-go

设备端出现确认界面时,使用音量键选择、用电源键确认。确认后会清空数据并重启。首次开机重新完成初始化,再次打开 USB 调试。

到这里算成功: 开机警告页面提示 Bootloader 已解锁,且 Fastboot 中查询到的锁状态为 unlocked。

第二步:先备份再改分区

解锁会清数据,但真正值得单独保存的不是应用列表,而是这台设备自己的校准与状态分区。我先保存了原厂 recovery_a、persist,随后又备份了 26 个关键分区并生成 SHA256SUMS.txt。

重点包括:

persist  proinfo  lenovolock  ssd  misc  keystore  frp
modemst1 modemst2 fsg fsc devinfo secdata uefivarstore
ddr cdt apdp apdpb spunvm storsec logfs dpm qmcs
qweslicstore_a qweslicstore_b vm-persist

以 persist 为例,在 TWRP 中可以通过 adb 读取:

adb shell 'dd if=/dev/block/by-name/persist of=/tmp/persist.img bs=4M'
adb pull /tmp/persist.img ./persist.img
shasum -a 256 persist.img

其他分区同理,但必须先通过下面的命令确认真实分区名,不能照抄别人的分区表:

adb shell ls -l /dev/block/by-name

persist、devinfo 一类分区可能关联传感器、触控、校准或设备状态。以后真要恢复,也只能使用自己这台机器的备份,不能拿别人的镜像互换。

第三步:使用 TB710FU 专用 TWRP

TWRP 绝对不是“同品牌平板通用”。刷之前至少核对三件事:

  1. fastboot getvar product 对应 TB710FU/topaz;
  2. 镜像明确标注支持当前 Android 大版本;
  3. 作者说明的 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
git clone https://github.com/linux-msm/qdl.git
cd qdl
git checkout 7def06c38aeb05dd108218d63c43e35a1820ee64

让 pkg-config 找到 Homebrew 的库,再构建:

export PKG_CONFIG_PATH="$(brew --prefix libusb)/lib/pkgconfig:$(brew --prefix libxml2)/lib/pkgconfig"
meson setup build
meson compile -C build
./build/qdl --version

我最后得到的是原生 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 虽然看起来吓人,过程反而比反复混刷更可控。

参考

评论




站点访问量 Loading… 站点访客数 Loading…