原文地址:http://blog.sina.com.cn/s/blog_722b43a60100q5in.html
本教程由symen 原创,转载请注明出处。
前面我们曾讲过,对于普通用户而言,SHIP S-OFF 相比ENG S-OFF 要来的安全很多,因为不用去刷hboot 分区。
假如你的手机是SHIP S-ON 状态,那么我建议你,先变成SHIP S-OFF ,然后,有需要的时候,再去刷这个修改版的ENG hboot ,从而使手机变成ENG S-OFF 。
就是下面这两步:
先由SHIP S-ON----SHIP S-OFF
再由SHIP S-OFF----ENG S-OFF
如果你的手机已经通过别的方法先变成了ENG S-OFF ,
就是已经由SHIP S-ON----ENG S-OFF
没关系,你也可以再做多一步:
由ENG S-OFF----SHIP S-OFF (显示还是ENG S-OFF )
上一章,我们已经介绍了:
SHIP S-ON----SHIP S-OFF 和ENG S-OFF----SHIP S-OFF (显示还是ENG S-OFF )
下面我们再来介绍,如何把手机由SHIP S-ON (OFF )变成ENG S-OFF
准备工作:
1、 到笔者的网盘下载相关的文件,解压后上传到手机的根目录下,不要有两个DHD 目录哦,应该是DHD 目录下直接可以看到文件的。链接地址:
http://u.115.com/file/f5f4bc20f3# DHD.rar
2、 准备好ADB 工具,并且满足ADB 工作所需要的条件(参看相关教程第六章)。
3 、手机取得了临时或者永久root 权限。
开始操作:
1 、电脑上打开命令提示符,转到ADB 工作目录下,运行:“adb shell ”,回车。
如果superuser 弹出,请允许。这时候你应该看到# 号,否则请检查你是否具备root 权限。
3、 输入:“sh /sdcard/DHD/check ”,回车。注意sh 后面有个空格,下同
说明:这一步是用来校验要刷入的修改版hboot 的MD5 值的,在做完检查后,同时向手机中载入一个经过修改的内核模块,其作用是为了关闭系统的写保护, 好让我们可以写入文件。
这一步的原理很简单,就是先读出这个修改版的hboot 的MD5 值,再和原来保存的该文件MD5 值相比较,如果一致,说明你下载的这个hboot 文件正确无误。如果你看到紧跟着你输入命令的下面,有两行MD5 值完全一致,那么可以继续。如果不同,请重新下载DHD.rar 文件。
4、 比较后一致的话,跟着屏幕的提示输入:“sh /sdcard/DHD/backup ”,回车。
说明:这一步是备份你手机内原版hboot 文件的。并且备份了2 份,然后再读出这两个备份文件的MD5 值来进行比较,确保备份的文件没有问题,你会看到两行MD5 值,只要保证相同,就说明备份成功,否则请重新执行这条命令,直到一致为止。这步操作,同时也备份了系统原版的recovery 到DHD 目录下,文件名为: recovery_orig0.bin ,请把该文件,和同目录下的hboot_orig0.bin (原版hboot 文件的备份)文件妥善保管,这是你的原版系统的两个重要备份文件。
5、 重要的一步来了,输入:“sh /sdcard/DHD/hboot ”,回车。
说明,这是到目前为止,最重要的一步,前面只是进行检查和备份,此处才是真正的将修改版的hboot 文件写入手机。对比屏幕上的三行MD5 值,如果第一行和第二行一致那么你就成功了!
6 、如果你是上述情况,说明成功了,请接着输入:“reboot ”,重启手机。
我来详细解释下第5 步:
你看到的三行MD5 值分别代表的含义:
第一行是刷入到你手机里面的修改版的HBOOT 的MD5 值。
第二行是存放在DHD 目录里的修改版的HBOOT 的MD5 值。(和第一条命令那里查看时显示的是一样的)
第三行是你手机里面原版的HBOOT 的MD5 值。(和第二条命令那里备份时显示的是一样的)
有几种情况会出现:
1 、第一行和第二行一样(而且应该和第三行不同),说明刷进手机里面的hboot 的MD5 值,和存放在DHD 目录里的修改版的hboot 的MD5 值一样,刷新成功了,可以重启手机了。
2 、第一行和第三行一样(而且应该和第二行不同),说明刷进手机里面的hboot 的MD5 值,和备份的原版的MD5 值一样,代表没有刷进去,但还是安全的,因为还是原版的那个hboot ,重启手机,重复进行上述步骤。
3 、第一行和第二行、第三行都不一样,什么意思明白了吧,说明刷进手机里面的,和DHD 目录里的、备份的对比,都不一样,说明刷新失败了。
请特别注意了,出现第3 种情况后,千万不可重启手机,手机会变砖!别说我没提醒你。
请紧接着输入:“sh /sdcard/DHD/restore_hboot ”命令来恢复之前的原版HBOOT 的备份,知道上面第4 步的重要性了吧!!!
恢复完成后,对比下备份时候出现的那个MD5 值,应该是一样的,说明恢复成功了,把原来那个备份的hboot 又重新刷进去了。
然后重做第5 步,或者安全起见,可以选择先退出,找到问题原因再来操作。
上面写了那么多,其实你就输入了三条命令而已:
sh /sdcard/DHD/check
sh /sdcard/DHD/backup
sh /sdcard/DHD/hboot
细心点,只要按照上面的说明去做,看清屏幕上的提示,你就会成功的!
想要把手机再变回S-ON 状态?那你把备份的那个文件做一下恢复就可以了。(但是,有这个必要吗?)
检查上述操作是否成功:
完全关机,按音量- 键的同时按开机键,进入HBOOT ,第一行由SHIP S-ON (OFF )变成了ENG S-OFF 。那么就说明你成功了。
我的手机,做这步之前:
ACE PVT SHIP S-OFF
HBOOT-0.85.0007
MI CROP-0438
RADIO-26.03.02.26_M
eMMC-boot
OCT 11 2010,12:47:02
做完之后:
ACE PVT ENG S-OFF
HBOOT-0.85.2007 (PD9810000)
MI CROP-0438
RADIO-26.03.02.26_M
eMMC-boot
OCT 11 2010,12:44:14
注意到了吗,第二行的HBOOT 后面的版本,已经是被修改过后的了。
下面我们再介绍另外一种更加简便的方法,还是通过jkoljo 同学编写的小程序来实现,其实这个软件的原理和上面的一样,只不过简化了操作,不需要你再输入那么多条命令罢了,之所以先繁后简,目的在于让各位朋友了解其中的运行原理。
首先,你还是要到笔者的网盘去下载一个小程序,链接地址:
http://u.115.com/file/f5217ddf8# EasyS-OFF_03.zip
软件运行环境:
1、 windows XP SP2或更高版本的系统
2、 .NET Framework 3.5
3、 HTC Sync(或者ADB驱动)
4、 一台运行官方内核版本的DHD手机( 或者内核是 Apache14's 1.0.7 / 1.1.4 Sense )
5、 该软件不能运行在新版radio之上。(这里作者没有具体讲是哪个版本的radio,总之,尽量在低版本radio下运行就是了。)
具体操作流程如下:
1、首先确定你的手机取得了永久root权限 。
2 、开机后,进入设置-- 应用程序-- 开发--usb 调试,打勾。
3 、手机用数据线连接电脑,根据屏幕提示,选择“仅充电”模式。
4 、在电脑上,下载上面的工具,解压,然后运行Desire HD easy s-off.exe 。
5 、点击S-OFF it !如果superuser 弹出,请允许。
6 、完成工作。
这时候,你的手机就变成了ENG S-OFF ,相比上面的命令行方式,是不是容易很多啊。
这个工具同样在它的目录下,备份了原始的hboot 文件,文件名是: hboot_original.bin ,我们同样可以通过命令行方式来完成恢复的操作,具体命令为:
su
busybox dd if=/sdcard/hboot_original.bin of=/dev/block/mmcblk0p18
但是不建议这样去做,一旦在没有校验的情况下去做这步工作,是相当危险的。
上面介绍的两种把手机变为ENG S-OFF 的方法,同时适用于SHIP S-ON 和SHIP S-OFF 的手机用户。