找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 23850|回复: 51

华为光猫分区备份,还原,制作固件教程

 火.. [复制链接]
发表于 2019-4-13 21:35 | 显示全部楼层 |阅读模式
本帖最后由 {风 于 2019-4-14 10:12 编辑

此操作有风险,只供研究所用,由此造成任何损坏请自己担责

一,华为光猫备份和还原分区手上只有8145v所以以这个光猫为例子,其它华为光猫也差不多,)

1,备份各分区:
插入U盘(剩余空间大于1G)
一行一行的输入后回车,等备份完成后再输入下一行(有的分区较大备份时间较长)


备份命令如下:

dd if=/dev/mtd0 of=/mnt/usb/USB_disc1/0.bin

dd if=/dev/mtd1 of=/mnt/usb/USB_disc1/1.bin

dd if=/dev/mtd2 of=/mnt/usb/USB_disc1/2.bin

dd if=/dev/mtd3 of=/mnt/usb/USB_disc1/3-uboot.bin

dd if=/dev/mtd5 of=/mnt/usb/USB_disc1/5.bin

dd if=/dev/mtd7 of=/mnt/usb/USB_disc1/7.bin

dd if=/dev/mtd9 of=/mnt/usb/USB_disc1/9-kernel.bin

dd if=/dev/mtd11 of=/mnt/usb/USB_disc1/11-rootfs.bin

dd if=/dev/mtd13 of=/mnt/usb/USB_disc1/13.bin

dd if=/dev/mtd15 of=/mnt/usb/USB_disc1/15.bin

dd if=/dev/mtd16 of=/mnt/usb/USB_disc1/16.bin

dd if=/dev/mtd17 of=/mnt/usb/USB_disc1/17.bin

dd if=/dev/mtd19 of=/mnt/usb/USB_disc1/19.bin

dd if=/dev/ubi0_13 of=/mnt/usb/USB_disc1/0_13.bin

U盘根目录下这些 bin文件就是各分区的完整备份

A和B分区是一样的,所以只需备份其中一个即可
各分区的意思如下:
mtd0: ="startcode"
mtd1: ="ubifs"
mtd2: = "reserved"
mtd3: = "ubootA"
mtd4: = "ubootB"
mtd5: = "flash_configA"
mtd6: = "flash_configB"
mtd7: = "slave_paramA"
mtd8: = "slave_paramB"
mtd9: = "kernelA"
mtd10: = "kernelB"
mtd11: = "rootfsA"
mtd12: = "rootfsB"
mtd13: = "wifi_paramA"
mtd14: = "wifi_paramB"
mtd15: = "system_param"
mtd16: = "file_system"
mtd17: = "frameworkA"
mtd18: = "frameworkB"
mtd19: = "apps"
ubi0_13 = "jffs2"


其中最重要的是uboot    kernel     rootfs  这三个分区,后面也只用这三个文件作为示例

其它光猫可以使用命令cat /proc/mtd
查看详细分区结构,8145V结果如下:


dev:    size   erasesize  name
mtd0: 00100000 00020000 "startcode"
mtd1: 0ff00000 00020000 "ubifs"
mtd2: 00000000 00000000 "reserved"
mtd3: 0009b000 0001f000 "ubootA"
mtd4: 0009b000 0001f000 "ubootB"
mtd5: 0003e000 0001f000 "flash_configA"
mtd6: 0003e000 0001f000 "flash_configB"
mtd7: 0003e000 0001f000 "slave_paramA"
mtd8: 0003e000 0001f000 "slave_paramB"
mtd9: 00307000 0001f000 "kernelA"
mtd10: 00307000 0001f000 "kernelB"
mtd11: 02815000 0001f000 "rootfsA"
mtd12: 02815000 0001f000 "rootfsB"
mtd13: 0003e000 0001f000 "wifi_paramA"
mtd14: 0003e000 0001f000 "wifi_paramB"
mtd15: 0003e000 0001f000 "system_param"
mtd16: 0141a000 0001f000 "file_system"
mtd17: 0081d000 0001f000 "frameworkA"
mtd18: 0081d000 0001f000 "frameworkB"
mtd19: 07003000 0001f000 "apps"


然后根据这个详细结果来修改备份和还原分区命令




2,适当修改一些备份文件(也可以不修改,但为了更安全最好是修改一下.因为恢复或刷机bin文件不能大于光猫这个分区的物理flash空间)
将这备份好的bin分区文件在电脑上用winhex或Hex Workshop等等十六进制编辑工具打开
直接将winhex下拉条拉到最下面如下图,可以看到很多FFFFFFFFFFFFFFFFFF之类的东东,这些东东是flash中的空白位,是不需要再刷入的垃圾数值

下面用rootfs作为示例




将光标在最后面的FF处点一下,然后点查找,查找数值处输入00,类型为  十六进制值   ,勾选  向上  查找  如下图


点  确定  开始查找,会看到一堆杂乱的乱码如下图:



找到的00的位置的后面全部是FFFFFFFFFFFF,将这些数据选中并且删除掉(不包括00),请将下图看清楚再删除




删除后如下图


然后保存,就是一个完整无多余的分区bin文件
然后用同样的方法修改其它分区bin文件.说简单点就是:删除掉尾部的空位FFFFFFFFFF数值

3,还原到光猫分区中(此操作风险很大,请自行承担)
将修改处理好的bin文件复制到U盘上,插入光猫USB口
然后输入如下命令进行还原这三个分区(每输入一行回车后,多等会,等成功后再输入下一行,千万不要把三行命令一次全部输入进去)
dd if=/mnt/usb/USB_disc1/3-uboot.bin of=/dev/mtdblock3

dd if=/mnt/usb/USB_disc1/9-kernel.bin of=/dev/mtdblock9

dd if=/mnt/usb/USB_disc1/11-rootfs.bin of=/dev/mtdblock11


说明:一般新光猫未刷错机造成无法启动,系统未滚回备用系统,就是A系统3    9    11分区在运行,否则就是B系统4     10    12分区在启动

还原进光猫分区后,稍等十几秒,再重启光猫,就OK了,

此操作在某种承度上可以代替刷机,也可以看作是手动刷机

二,合成线刷固件(使用组播工具或WEB页面刷机)

1,使用HWFW_GUI工具合成完整固件
打开HWFW_GUI然后将本教程提供的固件模板打开,适合8145v  r017   r018版本的固件,其它版本和光猫使用其它固件模板,模板可以找适合自己光猫的补shell的固件,或其它版本固件,都可以.
这里使用一个论坛上别人所发的补全shell的固件作为示例
a,然后点添加项目,然后选择前文所修改好的3-uboot.bin
项目路径写flash:uboot   项目类型选择UBOOT  如下图   其它默认 点保存


b,点添加项目,选择修改好的9-kernel.bin
项目路径写flash:kernel    项目类型选择KERNEL    项目版本写你备份的这个固件的版本,查看方式可以用winhex打开9-kernel.bin 最前面的一段就是,比如:whwhV300R018C10SPC100B054  不要前面的whwh
如下图


c,点添加项目,选择修改好的11-rootfs.bin
项目路径写flash:rootfs    项目类型选择ROOTFS   项目版本写V300R018C10SPC100B054     (同样也是用winhex打开11-rootfs.bin看前面的字段去掉whwh的那段就是)  如下图



最后保存好,至次真正的固件制作成功,可以使用组播等等工具刷机
来个补好后的固件图
注意顺序,signature一定要放在uboot,kernel,rootfs后面,如上图



使用工具
HWFW_GUI    1.0.6版


HWFW_GUI    1.0.8版


制作固件模板
华为8145v模板














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +2 收起 理由
yufei8051 + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-13 22:38 | 显示全部楼层
大神总是这么默默无声
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-4-14 00:15 | 显示全部楼层
感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-4-14 06:51 | 显示全部楼层
感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-4-22 16:35 | 显示全部楼层
感谢分享 感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-11 07:05 来自手机 | 显示全部楼层
教程不错,不敢试,怕砖,谢谢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-5-11 12:03 来自手机 | 显示全部楼层
正需要这个教材,谢谢楼主分享。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-6-13 09:22 | 显示全部楼层
真是难得的好教材啊,谢谢楼主啦。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-6-23 21:41 | 显示全部楼层
感谢分享 感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-12 22:04 | 显示全部楼层
非常感谢你提供这个号电信
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-19 11:13 | 显示全部楼层
请问作者,我光猫设置界面没有升级选项,ONT刷机也是失败,这个怎么破,HS8145V
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-25 15:32 | 显示全部楼层
看得晕头转向,看不懂。。。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-25 23:53 | 显示全部楼层
8145v5是不是也适用于这个教程?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-1 15:48 | 显示全部楼层
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-15 16:56 | 显示全部楼层
提示没有此命令,是要获取了shell才能备份么
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 22:34

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表