刷机后出现can't open/cache/recovery last.log后开不了机怎回事啊?谢谢了 20
本教程翻译自XDA。感谢原作者amidabuddha,欢迎转载,转载请注明出处。
正文开始:
E:Can't open /cache/recovery/log
E:Can't open /cache/recovery/last_log
E:Can't open /cache/recovery/last_log
如果你在recovery中看到了如上代码,请不要惊慌。如果你的机器仍然可以进入bootloader(HBOOT)和recovery的话,代表你的字库并没有坏掉。真正的字库烧坏现象是开机只可看到HTC的logo,进不去bootloader和recovery。所以这样的信息是由于损坏的cache分区所导致的(某些情况下,/data和/system目录下的文件也会导致如此)。
2011.11.2更新内容(感谢opumps的提醒)
更新内容为确认是否你的字库是否真正需要更换,详情如下:
首先你要安装有adb或者fastboot(方法搜一下,一大堆呢)
开机,进入recovery下,连接电脑,打开cmd命令行模式,输入以下命令:
dmesg | grep mmc0
如果出现以下信息的话:
mmc0: failed to get card ready
mmc0: reinit card
mmc0: Starting deferred resume
mmc0: Deferred resume failed
那么说明你的字库真的坏了,需要更新芯片,没有其他办法。
如果没有出现以上信息的话,那么你的字库芯片就是没有坏掉,请放心先~~~
在解决问题前要做的一些准备:
2.打开手机的USB调试开关。
3.将快速启动取消以获得完全的关机。
4.在s-off掉你的手机后,刷入一个工程bootloader(e.g. 0.98.0000)(见附件eng_0.98.0000.zip),以方便在需要的时候覆盖它。
5.建议使用4EXT Recovery,因为它比ClockworkMod有更多高级功能。
使用以下方法之一进行恢复:
方法一.如果你有Nandroid的备份,恢复它。
方法二.恢复cache(缓存)分区 。
在recovery下wipe cache,如果cache分区大小显示 null 了(4EXT Recovery显示分区信息时),用数据线连接电脑,进入adb shell,输入:
- mke2fs /dev/block/mmcblk0p27
无视分区信息,之后输入:
- reboot recovery
以上操作会将你的cache分区格式化为ext2或ext3格式,如果你使用ext4格式,请用4EXT Recovery重新格式化你的分区为ext4格式。
方法三:在hboot下选择恢复出厂设置,开机到recovery下之后刷一个ROM或者恢复备份。
方法四:如果方法1.2.3都不奏效的话,线刷RUU,你需要安装HTC的驱动。
只适合那些拥有原始hboot(hboot 6.xx.xxxx)的机器,警告:定制机不能如此操作。
下载一个可覆盖的bootloader(见附件eng_hboot_2.zip),将hboot.img拷贝到SD卡的根目录下。连接手机,重启到hboot,进入recovery,在cmd中输入代码:
- adb devices
(如果你的adb正确安装了上面那行代码执行后会列出你的手机)
之后输入:
- adb shell
- #dd if=/dev/block/mmcblk0p18 of=/sdcard/backup.img
- #dd if=/sdcard/hboot.img of=/dev/block/mmcblk0p18
- #reboot-bootloader
现在你的hboot版本应该不同于6.xx.xxxx
确保你在FASTBOOT USB模式下,在计算机上运行RUU.exe。
附件下载: