在本文中,我们将深入探讨华为光猫的备份和还原分区过程,以及如何合成线刷固件。我们将以华为8145v型号为例,但其他华为光猫的操作也类似。请确保您了解操作风险,并自行承担由此可能造成的任何损坏。
华为光猫备份和还原分区
1. 备份各分区
首先,插入一个剩余空间大于1G的U盘。然后,一行一行地输入以下命令并回车,等待备份完成后再输入下一行(备份时间取决于分区大小):
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.binU盘根目录下的这些 .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
2. 适当修改一些备份文件
将备份好的 .bin 分区文件在电脑上用十六进制编辑工具(如 WinHex 或 Hex Workshop)打开。将光标放在文件末尾的 FFFFFFFFFFFF 处,然后查找并删除这些空位数值。保存修改后的文件。
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稍等十几秒后重启光猫,操作完成。
合成线刷固件
1. 使用HWFW_GUI工具合成完整固件
打开HWFW_GUI,选择适合您光猫型号的固件模板。以8145v r017 r018版本为例,添加以下项目:
- 添加
3-uboot.bin,项目路径为flash:uboot,项目类型选择UBOOT。 - 添加
9-kernel.bin,项目路径为flash:kernel,项目类型选择KERNEL,项目版本为V300R018C10SPC100B054。 - 添加
11-rootfs.bin,项目路径为flash:rootfs,项目类型选择ROOTFS,项目版本为V300R018C10SPC100B054。
保存后,固件制作完成。您可以使用组播等工具进行刷机。
请注意,操作过程中务必小心谨慎,确保所有步骤正确无误,以避免不必要的损失。
评论已关闭