k918 发表于 2012-6-1 16:11

从零开始- HTC刷机指南----第九章:进阶,把手机由变为ENG S-OFF


本教程由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”,回车。

2、输入:“su”,回车。
如果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”,回车。
http://s8.sinaimg.cn/middle/722b43a6n9d1d7377a627&690

说明,这是到目前为止,最重要的一步,前面只是进行检查和备份,此处才是真正的将修改版的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的手机用户。



[ Edited byk918 on 2012-6-2 02:33 ]
页: [1]
查看完整版本: 从零开始- HTC刷机指南----第九章:进阶,把手机由变为ENG S-OFF