资源描述
整理至机锋论坛整理至机锋论坛 系统必须先root,然后安装一个叫终端模拟器(android terminal emulator)的软件或者直接用ADB,手机上用终端模拟器或者电脑上用adb shell备份/恢复efs【linux命令的使用,网上可以找相关的使用教程】手机端:手机端:【怎么备份efs分区为efs.img(分区完整镜像)】打开软件输入su,会提示你获取root权限,然后按照下边的命令输入。1.su 2.cat/proc/partitions 找到 2048020480k大小的分区,或者输入:1.mount 看到的分区就是efs了,我是 9300 国行的,这里是/dev/block/mmcblk0p3 这几天又发现了一条好的命令来查看分区:1.ls-l/dev/block/platform/dw_mmc/by-name/2.然后输入:1.dd if=/dev/block/mmcblk0p3 of=/sdcard/efs.img bs=1024k 或者输入:1.cat dev/block/mmcblk0p3 /sdcard/efs.img 就得到了完整的efs分区镜像文件efs.img,这个文件大小为20m20m,不要用这个efs.img来刷机。【怎么用efs.img(分区完整镜像)恢复efs分区】警告:除非除非efsefs真正丢失,请不要尝试恢复真正丢失,请不要尝试恢复:1.su 2.dd if=/sdcard/efs.img of=/dev/block/mmcblk0p3 bs=1024k【怎么备份efs文件夹为efs.tar.gz】安装root explorer,打开获取root权限,在/efs文件夹上长按选create tar,然后选Gzip即可得到efs.tar.gz,文件在/sdcard/SpeedSoftware/zip/此压缩包主要是为了提取文件方便,不可用来刷机。【怎么制作odin刷机用的efs.tar】打开终端模拟器,输入:1.su 2.make_ext4fs-s-l 20m-a efs/sdcard/efs.img/efs 打开root explorer在sdcard根目录找到efs.img,大概有 9m多,在此文件上长按,选create tar,然后选no compression,即可得到efs.img.tar,在/sdcard/SpeedSoftware/zip/。这个tar文件可以直接用odin选pda来刷机 电脑端:如用windows电脑操作,先将网上下载的adb文件解压,里面文件复制粘贴到C盘windows/system32 目录下 1、win+R,运行CMD,2、启用 adb 命令:先root手机,用数据线连接手机,打开调试模式 adb shell 连接手机 执行命令,备份efs:dd if=/dev/block/mmcblk0p3 of=/sdcard/efs.img 或者 dd if=/dev/block/mmcblk0p3 of=/sdcard/efs.bin 将/sdcard目录下备份的efs拷贝到电脑,以备其他应急丢失modem的时候使用 ADB使用案例:1、基本思路:EFS分区文件无法直接覆盖(即使覆盖了重启也会复原),需先把EFS分区文件格式化掉,然后复制EFS文件夹 2、前提条件:1)你的手机要root过。本人手机欧水,已root 2)根目录还要有EFS文件夹,里面有.nv_data.bak文件 3、具体过程:1)寻找.nv_data.bak 运行Root Explorer,进入/efs目录,检查此目录下是否有nv_data.bin的备份文件.nv_data.bak,两个文件的日期是否不同。如果相同,则此备份文件就无用,要另找可用的nv_data.bin文件。如果不同,则可以用它来恢复损坏的nv_data.bin。我的.nv_data.bak日期是 11 年 1 月 1 日 0:00,应该是系统初始的文件,2)备份你的efs目录 用root explorer建立/sdcard/efs_bak目录,然后将/efs目录里的内容都复制到/sdcard/efs_bak目录下,然后用usb或wifi将/sdcard/efs_bak目录复制到电脑上备份 3)替换nv_data.bin 用root explorer进入/sdcard/efs_bak目录,用里面的.nv_data.bak 覆盖 nv_data.bin,并删除nv_data.bin.md5 4)格式化EFS分区 下载安装终端模拟器(Terminal Emulator),运行并授予root权限,然后执行以下命令(回车键可能需要用 按住和m 来输入)进入root用户 su 卸载/efs分区 umount/efs 格式化/efs分区所对应的存储设备 mke2fs/dev/block/mmcblk0p1 我是直接在电脑里用ADB shell操作上述过程的 注意我的/efs对应的是dev/block/platform/s3c-mshci.0/mmcblk0p1 另外我运行mke2fs时提示not found,后从市场下载busybox,此命令可用 重新挂载/efs分区,可写模式 mount-w-t ext4/dev/block/mmcblk0p1/efs 注意我的/efs对应的是dev/block/platform/s3c-mshci.0/mmcblk0p1 5)复制备份文件 进root explorer,将/sdcard/efs_bak目录里的内容都复制到/efs目录下 6)重启I9100,大功告成!等一下,各位看官,到了这里你们可能把问题解决了,可是本人命苦,用的欧水,重启后出现sim锁定界面,需要输密码。有了上面的折腾,再大的困难也不怕了,解决办法很简单了:1)在sim锁定界面点取消,进入系统,发现只能拨打紧急电话,但让人兴奋的是IMEI恢复成原来的了,基带也有了 2)用root explorer去/efs分区,把nv_data.bin复制到电脑上 3)用 16 进制编辑软件(如UltraEdit)打开这个文件,并找到 00181469 这个地址.4)数值如果是 01 代表你的机子网络锁锁了,你需要将 1 改成 0,后面地址值不要乱动。保存,退出 5)替换掉/efs/nv_data.bin,删除nv_data.bin.md5 注意:在EFS分区有问题的时候此文件不能覆盖,但我们上面解决了efs分区的问题之后,这个分区变成可以正常读写的了。6)重启I9100 大功告成!busybox pro是一个集成了一百多个最常用linux命令和工具的软件,集成了一个http服务器和一个telnet服务器,Android系 统中自带的toolbox工具(/system/bin)比较简单,对于一些命令如find等支持的不好,可以Android系统中加入busybox,就可以使用常见的Linux命令,同时通过busybox可以定制Android的根文件系统。首先,先把手机root了。下载安装 root explorer下载 busybox 下载好之后,用数据线链接手机,把解压出来的busybox拷到sd卡的根目录(或者其它目录,你记得就行)。使用root explorer浏览到/sdcard,找到busybox,长按,在出来的菜单里选择Copy浏览到/system/bin/目录点击屏幕右上角的 remount r/w 按钮(新版本的root explorer 是mount R/W好像,反正按来按去,能贴上就行)然后点击屏幕下面的paste按钮。拷贝完成之后,长按/system/bin/下面的busybox,选择Permission,按如图所示设置权限(把上面一行全部打钩,其它有钩也没有关系):至此,你的busybox便设置好了
展开阅读全文