MTK手机官方ROM提取教程手机rom「MTK手机官方ROM提取教程」
市场上越来越多能满足各类普通终端用户需求的安卓手机了,制造商们发布新设备的频率越来紧凑!就在这近期的短短数月,我们已经看到非常多的八核手机投入抢购行列,与此同时,我们也见证了中低端便携设备走向没落。但是,制造商总是尝试引导用户远离对设备的拥有完整的使用权限以确保设备拥有更长的寿命。
可是,只有当用户自己获得了对手机的完整控制权才能真正发掘安卓设备的强大能力,而不是制造商。所以,很多的开发者和黑客开发了能够**并让用户获得完成权限脚本和工具,例如非常常见的Root!一旦用户拥有了全部的权限,他就可以对手机为所欲为了,但是这也往往容易损坏设备。所以我们需要为手机制作一个备份以防日后手机遇到问题无法启动或发生其他故障时能有备用的恢复方案。当然目前国内绝大部分品牌的官网或产品论坛都能较轻易找到官方固件。
联发科 (Mediatek) 芯片较具有性价比,选择MTK可以节减预算,MTK也是非常大众化了。一旦我们有第三方recovery,备份手机将会变得很简单,但如果设备还没有root 也没有第三方recovery,那么备份ROM就不可以那么直接了。然而,下面这个详细的教程将会告诉你备份你的联发科 (MTK) 手机将会是如此的简单。
警告!!
刷机有可能导致你失去保修并且是带有风险的,操作前请自行斟酌,我不会承担责任哦!
在你按照下面的教程开始前,请确保你手机仍有适当的电量,至少50% 是比较有保障的。
为了保证这个方法有效,需要确保你的设备是适用联发科 (MTK) 芯片的。通常所有的联发科机子都是以MTXXXX 来标识的,其中XXXX 是这颗芯片的型号。
在折腾之前请备份好重要的数据,因为你有可能会丢失你的软件和软件数据(软件设置、游戏存档等等),某些设备也要注意备份内置存储上的文件。
你需要在你的windows 电脑上正确地安装了对应的驱动程序以保证顺利地备份你手机的固件。
你可以选择设备制造商提供的驱动程序或者根据下面链接提供的MTK驱动程序。
联发科(MTK)手机刷机工具SP_Flash_Tool 最新版本下载及众版本大全,附驱动安装和刷机教程
-
下载下面提供的文件
SP FLASH TOOL | SP_Flash_Tool_v5.1452.00.000.rar
驱动程序 | MTKUAll_0.9.2.rar
MtkDroidTools v2.5.3.zip (3158 次下载) ( 提取码: avp4 )
-
重要提示:放置在内置SD卡上的重要文件一定要备份到安全的地方去哦
-
第一步:准备
- 解压SP Flash Tool (SP_Flash_Tool_v5.1452.00.000.rar) 到你的电脑,得到的文件应该像下面的截图所示:
- 双击MTK Droid Tool 文件,在你电脑上的MtkDroidTools_v253.exe 是个自解压程序,运行它会自动解压,解压后得到的文件如下:
- 确保驱动程序已经安装到你的电脑,Adb 也要正常工作。没有安装正确的驱动程序就无法继续下去了。
- 解压SP Flash Tool (SP_Flash_Tool_v5.1452.00.000.rar) 到你的电脑,得到的文件应该像下面的截图所示:
-
第二步:创建SCATTER 文件
- 下一步是得到你手机上包含了各block 的地址的Scatter 文件,SP Flash Tool 刷机时必须。
- 创建Scatter 文件,进入到MTK Droid Tools 文件夹并双击运行MTKdroidTools.exe. 它会打开一个窗口,如下面截图所示:
- 准备你的手机:
* 开启U调试: 打开手机的设置 >> 选择开发者选项 >> 勾上“U调试” 复选框。 - 通过U数据线连接你的手机到电脑,如果你的手机上弹出一个对话框询问你允许U调试,请确保选中“总是允许这台计算机”的复选框并点击确定。
- 现在工具应该识别了你的手机并显示了你手机的详细信息,像下图所示:
- 现在点击工具下方的Blocks Map 按钮,将会弹出一个显示了手机上个分区地址的详细信息的窗口.
- 现在点击 Create scatter file 按钮在你的电脑上创建scatter 文本文件。它会自动命名为类似MTxxxx_Android_scatter_emmc.txt,xxxx 是芯片型号。
-
第三步:适用SP FLASH TOOL 回读 (READ BACK)
- 进入SP Flash Tool 文件夹并双击运行flash_tool.exe ,它将会打开如下图所示的窗口:
- 现在在工具右侧的scatter-loading 按钮载入之前创建的scatter 文件,这将会显示分区表格,如图:
- 点击Readback 标签并点击 Add 按钮,在出现的行上双击鼠标。你可以自定义文件名,以ROM_xxxxxx 开头(或者就让它保持默认的 Rom_0即可)。牢记这个ROM_ 文件的保存路径。
- 现在它会要求填写rom 的大小。选择Hex 并根据你的scatter 文件中的数值来填写。开始地址默认是0x0000000000000000,不要改变它,修改结束地址为你手机上cache 分区的地址就可以了。
- 点击Read Back 按钮并将已经关机的手机连接到电脑。在一些手机上,你可能需要按音量键或者照相机键以进入正确的模式,一般是不用按任何键的。
- 一旦完成,你将会看到一个提示Download OK 表示任务完成的绿色圆圈。
- 进入SP Flash Tool 文件夹并双击运行flash_tool.exe ,它将会打开如下图所示的窗口:
-
第四步:为SP FLASH TOOL 准备可刷写的ROM 文件
- 打开MTK Droid Tool 并点击root, backup, recovery 标签(手机开机并连接到电脑)。
- 点击To process file ROM_ from FlashTool 按钮来选择之前回读保存的ROM_* 文件。
- 如果所有都成功了,这工具会要求从类似的设备上选择CWM,点击OK
- 选择的CWM 将会被检查是否兼容当前设备,如果ok,它会自动创建CWM recovery 。
- 你可以在MTK Droid Tools 文件夹中的backup 文件夹找到你手机的完整的固件。
-----------------------------------【提示!!经过 本贴作者实践,发现MtkDroidTools应该只适用于MT65XX 系列 ,反正我是失败了~~~~~; 其他的正常】
-
首先手机root且安usybox和超级终端软件,这里不提供自己百度一大堆
示范
PRELOADER 0x0
{
}
MBR 0x600000
{
}
EBR1 0x680000
{
}
__NODL_PMT 0x700000
{
} __NODL_PRO_INFO 0xb00000
{
}
__NODL_NVRAM 0xe00000
{
}
__NODL_PROTECT_F 0x1300000
{
}
__NODL_PROTECT_S 0x1d00000
{
}
__NODL_SECCFG 0x2700000
{
}
UBOOT 0x2720000
{
}
BOOTIMG 0x2780000
{
}
RECOVERY 0x2d80000
{
}
SEC_RO 0x3780000
{
}
__NODL_MISC 0x3d80000
{
}
LOGO 0x3e00000
{
}
EBR2 0x4100000
{
}
__NODL_OPPO_CUSTOM 0x4180000
{
}
__NODL_EXPDB 0x4280000
{
}
ANDROID 0x4c80000
{
}
CACHE 0x3cd80000
{
}
USRDATA 0x44b80000
{
}
FAT 0x84b80000
{
}
可以直接从官方卡刷包提取或在超级终端输入
dd if=/proc/dumchar_info of=/mnt/sdcard/partition.txt bs=10000c count=1
然后在手机内存卡里找到partition.txt用编辑器打开,会发现所有分区的大小和地址都在这里,然后就自己算出分区表即可,提示:第一个分区的地址为0x0,那么第x个分区的地址就是前一个分区的地址加上该x分区的大小,示范如果要算出mbr的地址,查看下表perloader大小为0x600000,那么mbr的实际地址为0x0+0x600000=0x600000,ebr1的地址为0x600000+0x80000=0x680000,其他的自己算吧。
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000100000 2 /dev/block/mmcblk0
pro_info 0x0000000000300000 0x0000000000500000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000800000 2 /dev/block/mmcblk0
protect_f 0x0000000000a00000 0x0000000000d00000 2 /dev/block/mmcblk0p2
protect_s 0x0000000000a00000 0x0000000001700000 2 /dev/block/mmcblk0p3
seccfg 0x0000000000020000 0x0000000002100000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000002120000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000002180000 2 /dev/block/mmcblk0
recovery 0x0000000000a00000 0x0000000002780000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000003180000 2 /dev/block/mmcblk0p4
misc 0x0000000000080000 0x0000000003780000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000003800000 2 /dev/block/mmcblk0
ebr2 0x0000000000080000 0x0000000003b00000 2 /dev/block/mmcblk0
oppo_custom 0x0000000000100000 0x0000000003b80000 2 /dev/block/mmcblk0
expdb 0x0000000000a00000 0x0000000003c80000 2 /dev/block/mmcblk0
android 0x0000000038100000 0x0000000004680000 2 /dev/block/mmcblk0p5
cache 0x0000000007e00000 0x000000003c780000 2 /dev/block/mmcblk0p6
usrdata 0x0000000040000000 0x0000000044580000 2 /dev/block/mmcblk0p7
fat 0x00000000631a0000 0x0000000084580000 2 /dev/block/mmcblk0p8
bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0
Part_Nameartition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate
查看分区表_nodl_开头的不用提取
打开超级终端
输入su按回车
1.ebr1
实际大小为0.5k,由于各个机型不一样,所以提取约20k即可
dd if=/dev/ebr1 of=/mnt/sdcard/ebr1.bin bs=20000c count=1
2.ebr2
实际大小为0.5k,由于各个机型不一样,所以提取约20k即可
dd if=/dev/ebr2 of=/mnt/sdcard/ebr2.bin bs=20000c count=1
3.preloader
实际大小为约128k,所以提取128k即可
dd if=/dev/preloader of=/mnt/sdcard/OPPO/preloader.bin bs=512c count=256 skip=4
4.dsp_bl
dd if=/dev/dsp_bl of=/mnt/sdcard/dsp_bl.bin bs=512c count=64
5.sec_ro
实际大小约10k,由于各个机型不一样,所以提取约100k即可
dd if=/dev/sec_ro of=/mnt/sdcard/secro.bin bs=100000c count=1
6.mbr
实际大小为0.5k,由于各个机型不一样,所以提取约20k即可
dd if=/dev/mbr of=/mnt/sdcard/mbr.bin bs=20000c count=1
7.uboot
由于各个机型不一样,所以提取约1000k即可
dd if=/dev/uboot of=/mnt/sdcard/uboot.bin bs=1000000c count=1
8.boot
由于各个机型不一样,所以提取约5m即可
dd if=/dev/bootimg of=/mnt/sdcard/boot.img bs=5291456c count=1
9.logo
由于各个机型不一样,所以提取约2m即可
dd if=/dev/logo of=/mnt/sdcard/OPPO/logo.bin bs=200000c count=1
10.recovery
由于各个机型不一样,所以提取约7.5m即可
dd if=/dev/recovery of=/mnt/sdcard/recovery.img bs=7800000c count=1
其他例如system,cache等就不用提取了吧,因为比较大,谁会把整个手机的闪存格式化,提取上面的资料刷入手机后进去rec刷官方rom即可
还有这两个分区也备份一下以不时之用
pmt
dd if=/dev/pmt of=/mnt/sdcard/pmt.bin bs=2000000c count=1
nvram
dd if=/dev/nvram of=/mnt/sdcard/nvr
怒江版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com