全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2861|回复: 18

[翻译] 望各位使用华为 C8813Q 的来帮助一下本人,非常重要的事情。

[复制链接]
发表于 2014-12-9 01:33:50 | 显示全部楼层 |阅读模式
本帖最后由 ★Extreme★ 于 2014-12-9 13:47 编辑

感谢V2EX的mimzy,按照本文的方法热情协助,目前此问题已解决。

下面是原文内容:

亲爱的,

昨天晚上本人在使用fdisk操作华为C8813Q内部储存的分区时,导致扩展分区中的分区表丢失。

经过分析,出现此问题的原因如下:
华为把扩展分区的分区表放在了266882至270335之中,所以使用fdisk查看分区表可以看到所有逻辑分区的起始扇区都是紧接着前一个逻辑分区的终止扇区。但fdisk不是这样操作扩展分区的分区表的,可能是把逻辑分区的起始扇区与末尾扇区信息存放在接下来要创建的逻辑分区的起始扇区前的扇区(这是我的猜测,因为我企图使用fdisk重建分区表时,发现无法让起始扇区紧接着前一个逻辑分区的终止扇区)。
本人当时创建分区,在输入起始扇区的步骤直接按了Enter使用了默认值,而默认值就是在266882至270335之间,然后杯具就这样发生了。

这不是简简单单的丢数据(事实上重要的数据我有备份),/system与/data仅是丢失的多个逻辑分区中的其中两个,其余的分区将导致手机无法启动,即使刷官方固件,也无法解决。

您可能会问,你手机发分区表出问题了,你如何启动手机恢复呢?
因为更改分区表后,内核并不会立刻更新分区表,特别是某些分区已经被挂载,内核是无法更新的,因此我手机在分区表出问题后至今,仍处于运行状态。但万万不能关机,这一关机,就是……

阅读完以上的内容后,您可能会产生帮助我的念头,却不知道该做什么。
如果您真的要帮助我,那实在是非常感谢。
在帮助我之前,您需要确保您的手机已具备以下条件:
1. 手机已成功获取root权限(我觉得准点的说法应该是您可以自由切换到root用户)。
如果您已具备上述条件,那么很好,接下来您需要安装一个Android Terminal,例如:Connect Bot, JuiceSSH(强烈推荐,我还特意付费购买了附加功能),您可以在Google Play找到。
安装完毕Terminal后,启动您的Terminal,并使用local shell(这两个终端都自带SSH Client,但我们这里不需要,而是需要他们使用本地的Shell。JuiceSSH可以点击右上角图标是闪电状的按钮,在出现的窗口中点击下拉菜单,选择"Local Device"),然后点击"Start"按钮。
下面,我来教您如何导出MBR与EBR:
输入:
su
按Enter,切换至root用户(root权限管理程序可能会询问您是否允许,记得点击允许哦!),
执行下面两个命令:
dd if=/dev/block/mmcblk0 of=/sdcard/mmcblk0.mbr bs=512 count=1
dd if=/dev/block/mmcblk0 of=/sdcard/mmcblk0.ebr bs=512 skip=266881 count=3455
其中第一个命令是导出位于第一个扇区的分区表,第二个命令是导出第266882个扇区至270335个扇区间的扩展分区分区表(count可能多了几个扇区,只是为了数据的完整)。
最后,您只需把/sdcard/mmcblk0.mbr, /sdcard/mmcblk0.ebr这两个文件发送给我,然后剩下的就是等待我的好消息了。

这里顺便附加一个我的华为C8813Q内部储存默认的分区的信息:
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 40 20 4d QNX4.x
/dev/block/mmcblk0p2 41 640 300 45 Unknown
/dev/block/mmcblk0p3 641 266880 133120 c W95 FAT32 (LBA)
/dev/block/mmcblk0p4 266881 7634943 3684031+ 5 Extended /dev/block/mmcblk0p5 270336 294911 12288 6a Unknown /dev/block/mmcblk0p6 294912 303103 4096 46 Unknown /dev/block/mmcblk0p7 303104 311295 4096 63 GNU HURD or SysV /dev/block/mmcblk0p8 311296 317439 3072 58 Unknown /dev/block/mmcblk0p9 319488 325631 3072 4a Unknown /dev/block/mmcblk0p10 327680 333823 3072 4b Unknown /dev/block/mmcblk0p11 335872 344063 4096 47 Unknown /dev/block/mmcblk0p12 344064 360447 8192 48 Unknown /dev/block/mmcblk0p13 360448 401407 20480 60 Unknown /dev/block/mmcblk0p14 401408 409599 4096 6c Unknown /dev/block/mmcblk0p15 409600 802815 196608 83 Linux /dev/block/mmcblk0p16 802816 966655 81920 83 Linux /dev/block/mmcblk0p17 966656 3063807 1048576 83 Linux /dev/block/mmcblk0p18 3063808 5423103 1179648 83 Linux /dev/block/mmcblk0p19 5423104 7634943 1105920 6b Unknown
您可以检查一下您的分区的扇区信息是否与我的默认信息一致。

如果您要报酬的话,那请您先不要给我文件,以免因误会而引起纠纷,当然,希望您要的钱不多,毕竟本人还只是一个学生……

为了尽快找到可以且愿意帮助我的人,我已把上述内容发布到以下社区/论坛:
V2EX
添翼圈
安智

此致,
最高的问候,

Extreme
发表于 2014-12-9 01:54:28 | 显示全部楼层
B格太高了这信
发表于 2014-12-9 01:59:05 来自手机 | 显示全部楼层
你在说什么呢?作为研究生我愣是没看懂!
Saker 该用户已被删除
发表于 2014-12-9 02:02:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2014-12-9 02:04:14 | 显示全部楼层
Saker 发表于 2014-12-9 02:02
说了半天就是操作失误...分区表丢失...话说重新双清刷机不行?

请问您知道Recovery是如何工作的吗?
如果没有分区,Recovery如何把数据写进去呢?
况且还有其他分区,那些数据是无法下载到的。
 楼主| 发表于 2014-12-9 02:05:47 | 显示全部楼层
Saker 发表于 2014-12-9 02:02
说了半天就是操作失误...分区表丢失...话说重新双清刷机不行?重要数据先拷贝出去。。。 ...

还有就是并非我的操作失误,是华为没有按标准行事。
Saker 该用户已被删除
发表于 2014-12-9 02:08:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-12-9 02:11:07 | 显示全部楼层
是ROM的分区表丢失吗?
 楼主| 发表于 2014-12-9 02:12:24 | 显示全部楼层
Saker 发表于 2014-12-9 02:08
亲爱的...这不是操作失误吗...

为什么您不考虑根本呢?
请问谁会知道那一部分是分区表呢?
如果按标准行事,默认值根本不会是那个范围。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-5 18:39 , Processed in 0.079902 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表