godtears 发表于 2026-8-24 07:16

机顶盒ADB与TTL备份固件及恢复详细教程 救砖参考

本帖最后由 godtears 于 2026-8-25 14:28 编辑

ADB备份         未经同意不得转载
先从最简单的说起吧。
前提:
1.盒子可正常开机
2.电脑和盒子在同一局域网下


打开你盒子的设置,找到网络相关,查看下盒子IP,以我的为例是192.168.0.110,记好这个IP地址。
3.盒子可开adb选项,每个盒子不一样,可去搜相关开启方法,如果搜不到请参考我后面的TTL备份教程。
打开开心电视助手


把刚才记好的IP填入,端口号填5555、 6666、5114看哪个可以,然后点连接,成功后就会出现如上图所示左边会有盒子相关信息,
主要注意的是生产厂家:Amlogie是晶晨的,HI3798V100/200/300等海思的,GK开头就是国科的,一般就这几样。
4.root看上图6标记ADB权限那里是否是root,如果不是点4标记ADB Root,可以狂点几下,然后再点连接。
成功后会显示Root。如不成功请自己查找盒子相关root方法,这里我就不过多介绍了。
5备份

点开工具箱,找到你盒子的芯片,这里我盒子晶晨的举例,选中备份固件(独立版),然后执行,会出现备份窗口如下图:

等待完成后打开开心电视助手的根目录

可以在开心电视助手快捷方式上点右键,选择打开文件所在的位置

开心助手根目录下backup文件夹中就是备份出的主要固件。

开心电视助手备份的文件只是一部分,并不是全部备份,但开心电视助手有一个好处就是可以在不用连接TTL小板的情况下通过命令备份所有分区文件。

点示图中所示ADB Shell

在窗口中输入df 等相关命令,可查看分区信息及备份所需分区。
具体如何备份,请参考我后面的TTL备份教程中的有关命令部分即可。

TTL备份TTL小板识别
1.TTL小板某宝上几块钱

2.安装驱动 购买时记得找商家要,小板不一样驱动也不一样

3.确认小板是否安装成功 (我的电脑是win11演示)
USB小板插入电脑,最好后置,前面板不稳
打开设备管理器 à win+R键输入命令 devmgmt.msc 后回车

连接成功后如上图,记住后面的端口号,我的是COM3
选中USB CH340(COM3)右键属性

端口设置菜单中,每秒位数改成115200,然后定击确定。
主板与TTL小板之间的连接


1.各个盒子的主板都不尽相同,但一般都会有TTL引脚,在主板上找四个连排的引脚一般就是,有的也可能如下图中的几个焊点。

2.我第一个板子好辨认,第二个板子就不好确定了,但GND接地都在最外一侧,你可以接好GND后(接主板任意金属外壳上,一般接USB上),
然后再分别接其它不同引脚测试,如果连接成功可以在跑码软件中看到跑代码,不成功不会跑码。
切记:小板TXD接主板RXD小板RXD接主板TXD GND接地(金属外壳或GND引脚)
TTL跑码
1.盒子与小板连接成好后,盒子断电,然后打开跑码软件。

打开后如下图

选择串口,串行口输入设备管理器中显示的串口号,速度115200。确定后,如下图

2.给盒子上电,如果你的TTL线连接正确的话会出现跑码信息。

等待跑码结束会停在命令输入行,#后就可以输入命令了!
3.如果跑码结束后,无输入提示,或无法输入,盒子断电,上电前按住CTRL+C或按住CTRL狂点C,然后上电,
强行进入uboot输入,如果还是不行,在上电的瞬间按CTRL+C再配合狂点鼠标左键。总之多试几次,多试几次一般都会成功。
TTL备份命令详解(注意命令中的空格输入)
1.例出所有分区信息及详细名称
ls -l /dev/block/ 或 ls -l /dev/block/by-name 或 ls -l /dev/block/platfrom/*/by-name
这要看你盒子中实际目录,才能决定哪个命令有效。我这里命令后面的是通用目录。

这里例出的就是你盒子中所有分区的相关信息,也是你要备份的固件名称。
2.如命令无效,则输入下例命令
cat /proc/partitions
该命令为简化命令,显示分区名,但根据分区大小可以大致判断出重要的分区。




如图中所示,根据大小,可以大致判断,P1/4096/bootloader, P11/8192/recovery,P13/1048576/system,
P15/5074944/data,
后面的4096大小,一般为emmc中存放bootloadert和RPMB安全存储,不挂载,不显示在普通分区表中。
3.有了上面的详细分区名就可以开始进行备份了,首先准备一个大于盒子容量的U盘,但也不要太大超过32G的好多盒子
是认不上的。
在windows下以exFAT格式化U盘,将格式化好的U盘插入离机顶盒网口最近的USB口。

4.根目录下输入 df确认U盘是否挂载。

根据容量可以看到U盘的目录 /storage/external_storage/sda1,这里每个人盒子不同,目录也不同,所以要记好你自己的目录。
如果 df 看不到U盘,输入显示外部存储命令:df-h
如出现提示-h: No such file or directory 表示U盘没挂载。
接着输入挂载U盘命令:ls -l /dev/block/sd*
挂载成功后会出现root提示。命令无效多输入几次,我的就要输入三次才能挂载。
特别注意:上面命令中的/dev/block/这目录是我盒子的,你自己的盒子目录不一定是这个,按上文1.中提到的通用目录中你自己的实际目录进行替换。

5.进入U盘目录,根据上文4中找到目录用 cd 命令进入。
cd storage/external_storage/sda1这目录是我的,需替换成你自己的实际目录。

成功后如上图,#号前就会多出一段U盘目录,表示你已进入U盘。也可以输入查看当前目录位置命令:pwd 回车后,#号前没变证明正确。
其它CD命令:注意cd和符号之间有空格
回到根目录:cd /   回到用户目录:cd ~
回到上级:cd ..       回到上次目录:cd -
6.TTL备份,根据你前面得到的分区信息,就可以进行备份了。如下图:




我们要备份的关键分区有:引导:bootloader,内核:boot,加载:dtb,恢复:recovery,系统:system,用户:data,
以上分区可以在上图中看到,因为写这个教程的盒子是刷过我自己改包的超级精简系统的,原厂分区信息没了,并且是安9的系统,
分区和其它版本不一样,根据你盒子实际分区自行选择要备份的文件名。
这几个分区可以用来救软砖。软砖的意思就是你还可以进uboot,还可以输入命令。
另一种情况是硬砖,一些特定的盒子,刷机时那些需要取消双勾的没点取消,分区表信息丢失,就算刷机软件可以连接,
但是不管什么固件都无法刷入的盒子,比如大麦DM4036,天猫M13的盒子,别问我为什么知道!!!!(这两盒子网上的救砖包没一个能用只能飞线或拆emmc上编程器)。
虽然以上备份理论上可以用来救硬砖,但必须飞线或拆emmc上编程器,修改分区表偏移地址,恢复uboot,实际难度不是一般的大,本人亲身感受过了。
还有命令备份emmc镜像,专门用来救硬砖,我会在后续中详细说明。
6.备份命令格式:
dd if=/dev/block/system of=./system.img
解释:dd备份, if=源文件,/dev/block/文件所在目录,System源文件名称,
of=输出,./当前目录(也就是我们上文进到的U盘目录),system.img 输出文件的文件名及格式。
其中的 /dev/block/ 目录是要根据你自己实际的目录名称进行替换,每个盒子不一样,不要照抄。
System文件名可以替换你要备份的文件名,格式都是一样的
以下是演示如下图:
dd if=/dev/block/system of=./system.img
dd if=/dev/block/bootloader of=./bootloader.img
dd if=/dev/block/recovery of=./recovery.img

分区越大备份时间越长,等待结束即可。
最后用查看命令:ls -lh或ls -l
看是否备份成功,如上图在U盘目录中看到相关文件并有大小即表示成功。
文章写完又弄了个盒子,发现执行df 后u盘不挂载目录,如下图,和我上文中的不一样,这里补充一下。

这时候怎么办呢? 不要慌!

跑码后输入reboot bootloader进入底层引导模式,以防盒子进入系统后禁止输入。
跑码结束输入cat /proc/partitions 查看分区结构

有的小盆友会是上面这张图,依然没有U盘挂载
有的会是下面这张U盘已挂载,但看不到目录

首先,你要确定你的U盘是否插入了盒子上离网口最近的USB口了吗?然后执行如下:
第一步,可能你盒子默认的是只读,为保证盒子可写,我们需将盒子挂载为可读写,命令如下:
mount -o remount rw /   
第二步,创建U盘结点
mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1
创建U盘挂载目录
mkdir -p /data/usb
挂载u盘分区
ls -l /dev/block/sda1   
将u盘挂载到 /data/usb目录,
mount -t vfat /dev/block/sda1 /data/usb
最后查看下你创建的U目录挂载目录中是否包含你u盘的文件
ls /data/usb
当然你也可以通过cd命令进入u盘目录 然后再查看
cd /data/usb         进入u盘目录
ls                        查看U盘中的文件
如果看到U盘中的文件,就表示你已挂载成功。
如执行 ls /data/usb 看不到你U盘中的文件,那说明
U盘不是fat32格式,而是 exfat格式 则替换为exfat如下,
mount -t exfat /dev/block/sda1 /data usb
再执行 ls /data/usb 查看,确定U盘是否挂载。
如果不看不到,请换个小点的U盘或其它U盘再试,太大的和新协议的U盘可能老盒子不支持!
所有命令如下图,请自行对照:

完成上面操作后,回到根目录 cd /
再次输入df,就会看到你u盘已挂载到根目录下了。


这时你U盘的实际目录就变成了 /data/usb了,就和我上文中的不同了。
我们在备份和恢复时U盘的实际目录就是 /data/usb 而不是我上文中所提到的
storage/external_storage/sda1 这个目录了,
你要进入的就变成cd /data/usb,这个目录下了!要注意区分!
TTL备份文件恢复
1.经过上面的备份你应该有两个完整的分区表,对照两个表就可以进行恢复了

有了这两张图,对照下分区的基本信息就可以对应的恢复相关备份到指定分区了。
以system分区为例
图一、图二代码分别为:
brw---rootroot179  13  2015-01-01 08:00     system                         179    13         1048576           mmcblk0p13
看出相同点了吗?其中179代表的是设备号,13是分区号,图二中mmcblk0p13表示的就是system这个文件的地址。
图一,图二不一样的是一个列出了时间,一个列出了文件大小1048576M。其它分区也一样。主要就是找相同的分区号。
boodloader分区对照
brw---rootroot    179      1      2015-01-0108:00      bootloader                           179   1             4096                  mmcblk0p1
根据以上对照你就可以知道各分区的大小,在分区表中的位置。以此就能算出偏移位置,可以用来救硬砖。
2.恢复命令:这就简单多了,你即学会了备份,那恢复就是备份的反向操作。以stytem分区为例如下:
备份命令:dd if=/dev/block/system of=./system.img
恢复命令有多种情况,可根据不同需要自己选用哪个,我从简单的到复杂点的来说明,以应对不同情况下该如何使用。
方法一:最简单,就是备份的反向操作,针对你的U盘没动过的或是你重新格式化,把system.img文件复制后放到根目录下的
跑码后输入:cd storage/external_storage/sda1 进入到U盘根目录
dd if=./dev/block/system.img of=/dev/block/system bs=4M
方法二:代码相对复杂一点点,但可以确保到指定位置恢复
dd if=/storage/external_storage/sda1/system.img of= dev/block/system bs=4M
这里if后是明确了U盘中system.img的具体位置。
方法三:针对你只有第二张表只能靠猜分区的情况下,这种极少,是那种分区表损坏却还能进uboot的情况下使用,风险极高,万不得已听天由命了。
dd if=/storage/external_storage/sda1/system.img of= dev/block/mmcblk0p13 bs=4M
以上三种命令最后的bs=4M代表速度。
不管是你备分还是恢复切记最关键的点是一个
源文件所在目录:/dev/block/mmcblk0p13
U盘所在目录:/storage/external_storage/sda1一定要用你自己的实际文件所在的目录,不要照搬我的目录,不然你命令输入了也没用。
emmc镜像制作
这种备份最大的用处就是救砖,软砖和硬砖都可以搞活。废话不多说了,直接上干货。

还是这两图,可以看到第一张和第二张图都有个mmcblk0
brw—root root   179    0   2015-01-01 08:00    mmcblk0                        179   0         7634944         mmcblk0
第二张图中mmcblk0大小为7634944M,这7.6G的文件直白点说就是你盒子的硬盘大小,我这是8G的盒子,
这里面包含的是你盒子全部的分区信息,也就是硬盘的全部文件。你把这硬盘都备份了你还怕毛玩坏盒子,
大不了象电脑一样格了硬盘用备份克隆一下就又都回来。看懂了上面的备份和恢复命令,这里就简单了,
命令如下:
dd if=/dev/block/mmcblk0 of=/storage/external_storage/sda1/emmc_full.img
或cd命令,进入u盘目录后输入,
dd if=/dev/block/mmcblk0 of=./emmc_full.img
其中emmc_full.img是你备份的后的emmc镜像名称。
由于这个镜像是全盘备份,时间会相当的长,慢慢等吧,
切记关闭盒子的自动待机或自动关机,不然你备份一个小时一下它自己关了,一切从头再来。
不要怀疑盒子是不是死机了,备份emmc那是相当慢了,但是值得,一但有了个这镜像后,你的盒子就是一个打不死的小强了,可以随便折腾了,只要硬件没坏是玩不死的。
各人意见,备份主要文件,1.emmc.img2.bootloader.img3.boot.img   4.recovery.img   5.system.img6.dtb.img
有了上面这六个文件,不管你是软砖还是硬砖,随便整。
以下是盒子出现问题后恢复相关备份可以对照恢复相关文件解决。
卡开机第一屏:boot.img
卡开机动画:system.img
进不去恢复模式:recovery.img
分区错误上电黑屏(慎用,弄不好变硬砖):bootloader.img
硬砖飞线拆焊终极大法:emmc.img有了这个随便拆腾,也不怕变砖了。
最后我有一个请求,朋友让我帮刷的两个盒子,天猫M13和大麦DM4036让我眼瞎没去双勾,
给刷成硬砖了,天猫M13我用终极飞线拆焊大法救活了,大麦DM36全网没有原厂emmc和bootloader备份,
天猫m13和dm4036芯片一样,我用m13的bootloader修改了下,dm4036现在能进uboot和recovery模式,
但bootloader信息有问题,又无原厂底包,刷什么包都卡开机,我的盒子是晶晨S905b,三星emmc的,
手上有大麦DM4036同款机器的兄弟看了我这教程希望你能给我分享一下你备份出的这几个文件,
刷过机的备份也可以,只要你的能正常开机,把备份分享给我,我做个DM4036救砖底包,
万分感谢!
附件:跑码软件 https://gitcode.com/gcw_umOmexdY/adbttl.git
开心电视助手去网上自己下吧,太大不让上传!网上到处都是,且是免费的!

godtears 发表于 2026-8-24 07:25

本帖最后由 godtears 于 2026-8-25 05:04 编辑

哪位大神显显灵,给我个DM4036的全盘emmc备份啊,没有全盘bootload,boot,dtb, misc这几个分区文件也行啊!!!

西双版纳 发表于 2026-8-24 23:04

老师写的非常详细,佩服你了

godtears 发表于 2026-8-25 14:21

西双版纳 发表于 2026-8-24 23:04
老师写的非常详细,佩服你了
网上那些破教程只告诉你输入这个输入那个,也不解释什么意思,你说他没教你吧,还教了点,说教了吧,毛你也看不懂,等于没教,要教就教点真的,写的小白又看不懂,大神又用不着,有屁用!我写点小白能看明白的罢了!

13617315761 发表于 2026-9-1 11:23

这种精神,佩服

无人空间也 发表于 2026-9-3 06:43

这贴详细,学习

znwzb123 发表于 2026-9-4 10:29

好详细啊,一贴掌握所有
页: [1]
查看完整版本: 机顶盒ADB与TTL备份固件及恢复详细教程 救砖参考