《手机字库备份指南:降低玩机风险,轻松应对故障》

对于玩机用户而言,如果经常刷第三方 ROM 或面具模块,建议先完整备份手机字库,以降低因意外问题导致的变砖风险。有了手机字库备份,在遇到手机丢基带 / 掉串码等问题时,至少有个修复方法,否则送售后可能只能建议更换手机主板解决。

一、什么是手机字库

可以简单将其理解为手机分区。虽然在刷机时也会刷写分区,但并非刷写全部分区。如果恰好是其他分区数据损坏,这时刷写官方 ROM 就无法恢复。而备份手机字库包含了全部分区,所以可以修复绝大部分非硬件故障问题。

手机字库包括基带分区,因此无需额外备份手机基带,备份字库就包含了备份基带。基带的主要分区如下:

  • 高通机型:fsg,fsc,modemst1,modemst2。

  • 联发科机型:nvram,nvdata,nvcfg,persist,protect1,protect2,seccfg。

二、准备工作

在备份手机字库前,请确保满足以下条件:

  1. 手机电量充足。

  2. 获取 Root 权限

  3. USB 调试模式连接到电脑,且电脑配置好 ADB 命令环境变量

  4. 检查手机有足够存储空间,最好 20G 以上(通常手机型号越新,备份内容越大)。

  5. 如果是联发科机型,请将下面命令中的 /dev/block/bootdevice/by-name 修改为 /dev/block/by-name

  6. 风险提示:虽然本文方法经过了足够多次的测试,但由于各人环境不同,其中潜在风险须自行承担。

免责声明:

本网站(onfix.cn)提供的刷机教程仅作参考,其分享目的是助力用户修复手机相关问题及供学习交流。刷机操作存在风险,可能导致设备损坏、数据丢失等不可预见情形,由此产生的一切后果均由您自行承担。本网站对因您未正确理解或执行教程而引发的设备故障或其他损失,以及任何法律责任均不承担。对于教程中涉及的第三方软件、工具或资源,本网站不对其安全性、合法性、有效性作任何担保。因教程而支付查看的下载链接,除非链接失效,否则不予退换。您应在充分知晓刷机风险与自身能力后,谨慎决定是否进行刷机操作。

 

三、备份手机字库

  • 步骤 1:进入 Shell 并获取 Root 权限

打开电脑命令行窗口,输入命令进入 Shell 和获取 Root 权限(运行命令后留意手机屏幕授权提示)。

adb shell
su
  • 步骤 2:创建备份内容目录

在手机内部储存创建存放备份内容目录。

mkdir /sdcard/000_Backup
  • 步骤 3:创建备份和恢复脚本

读取手机分区名称,从中排除 userdata 和 cache 分区(这两个不用备份),然后创建备份和恢复脚本。

ls -1 /dev/block/bootdevice/by-name | grep -ixvE "userdata|cache" | while IFS= read -r name; do echo "dd if=/dev/block/bootdevice/by-name/$name of=/sdcard/000_Backup/$name.img" >> /sdcard/000_Backup/001_Backup.sh; echo "fastboot flash $name $name.img" >> /sdcard/000_Backup/002_Restore.bat; done
  • 步骤 4:运行备份

运行备份(备份速度取决于手机储存读取性能)。

sh /sdcard/000_Backup/001_Backup.sh
  • 步骤 5:修改恢复脚本

修改恢复脚本,注释掉一些不必要的分区恢复(可自行按格式添加不需要恢复的分区)。

sed -i -e '/ super.img/s/^/::/g' -e '/ system.img/s/^/::/g' -e '/ system_a.img/s/^/::/g' -e '/ system_b.img/s/^/::/g' -e '/ vendor.img/s/^/::/g' -e '/ vendor_a.img/s/^/::/g' -e '/ vendor_b.img/s/^/::/g' -e '/ mmcblk0.img/s/^/::/g' -e '/ sda.img/s/^/::/g' -e '/ sdb.img/s/^/::/g' -e '/ sdc.img/s/^/::/g' -e '/ sdd.img/s/^/::/g' -e '/ sde.img/s/^/::/g' -e '/ sdf.img/s/^/::/g' -e '/ sdg.img/s/^/::/g' /sdcard/000_Backup/002_Restore.bat
  • 步骤 6:查询备份内容 MD5

查询备份内容 MD5(查询过程消耗算力会比较慢),以便在需要时可以校验文件完整性。

cd /sdcard/000_Backup && md5sum * > /sdcard/000_Backup/003_MD5Hsah.txt
  • 步骤 7:打包备份文件

打包备份文件(确认有足够空间创建打包文件。打包压缩过程比较慢,耐心等待)。

cd /sdcard && tar -zcpvf PartitionBackup.tgz 000_Backup
  • 步骤 8:删除备份文件夹

删除备份文件夹。

rm -rf /sdcard/000_Backup
  • 步骤 9:退出 Root 和 Shell

退出 Root 和 Shell(运行两次)。

exit
  • 步骤 10:将备份文件传送到电脑

将备份文件传送到电脑(电脑存放路径请自行修改)。

adb pull /sdcard/PartitionBackup.tgz D:\Backup

之后手机上的备份文件就可以删除了。如果之后需要恢复字库,将手机启动到 Fastboot 模式,连接到电脑,解压之前的字库备份,双击运行文件夹里的 002_Restore.bat 恢复脚本即可。

如果恢复后还是有问题,可以尝试清除分区内容再运行恢复(清除分区命令如下,自行添加要清除分区名称)。

fastboot erase 分区名称

最后,切记不要直接恢复他人分享的备份,如果刷了其它手机的串码,可能导致以后不能解 BL 等副作用。

 

关键词 “手机字库备份”“玩机风险”“Root 权限”“USB 调试模式”“ADB 命令环境变量”