extreme
V2EX  ›  问与答

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

  •  1
     
  •   extreme · Dec 9, 2014 · 3599 views
    This topic created in 4172 days ago, the information mentioned may be changed or developed.
    亲爱的,

    昨天晚上本人在使用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
    您可以检查一下您的分区的扇区信息是否与我的默认信息一致。

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

    为了尽快找到可以且愿意帮助我的人,我还打算把上述内容转发到以下社区/论坛:
    Hostloc

    此致,
    最高的问候,

    Extreme
    24 replies    2016-03-10 21:10:00 +08:00
    ozking
        1
    ozking  
       Dec 9, 2014
    看这行文我还以为我是加班过多结果穿越了
    manhere
        2
    manhere  
       Dec 9, 2014 via Android
    线刷模式也不能用了吗?我记得应该跟C8815通用吧?
    extreme
        3
    extreme  
    OP
       Dec 9, 2014
    @manhere 刷官方固件,仅能重建boot, recovery, system, data四个分区,基带等更重要的分区是不会重建的。
    extreme
        4
    extreme  
    OP
       Dec 9, 2014
    刚才已把本人发的内容转发到添翼圈,安智论坛。
    hexor
        5
    hexor  
       Dec 9, 2014
    楼主看起来很真诚, 顶一下
    evlos
        6
    evlos  
       Dec 9, 2014
    不知道手机上能否用 parted 或者 testdisk 来恢复分区
    xcv58
        7
    xcv58  
       Dec 9, 2014
    帮顶
    xlvecle
        8
    xlvecle  
       Dec 9, 2014
    @extreme bootloader应该是独立的吧,不碰bootloader应该都能重建?
    tanyuxiang
        9
    tanyuxiang  
       Dec 9, 2014
    感觉lz的id眼熟。。。广东免备案?
    mlhorizon
        10
    mlhorizon  
       Dec 9, 2014
    lz的how to help me写得不错
    wangtuyi
        11
    wangtuyi  
       Dec 9, 2014
    楼主这个帖子发的很有含金量
    aiguozhedaodan
        12
    aiguozhedaodan  
       Dec 9, 2014 via Android
    建议发到华为的贴吧或者华为自己的论坛上。比如花粉之类的。这样用户群集中些。
    momou
        13
    momou  
       Dec 9, 2014
    手动点个赞,帖子发得不错
    mimzy
        14
    mimzy  
       Dec 9, 2014   ❤️ 2
    链接: http://pan.baidu.com/s/1bEza2 密码: h0n9
    我的手机是 C8813Q,ROM 刷的魔趣 4.4 不知道是否有影响。我没有验证里边的内容,还请麻烦您自己检验下~
    extreme
        15
    extreme  
    OP
       Dec 9, 2014
    @mimzy 非常感谢,刚刚放学,我现在就去检查一下。
    zzNucker
        16
    zzNucker  
       Dec 9, 2014
    发帖姿势很正确,读起来很舒服!
    extreme
        17
    extreme  
    OP
       Dec 9, 2014
    @mimzy 刷固件不会重新规划分区。
    刚刚在一个服务器上导入了您提供的MBR与EBR,使用diff对比了分区信息,与默认的完全一致,目前正准备导入至我的华为C8813Q的内部储存中。
    extreme
        18
    extreme  
    OP
       Dec 9, 2014
    @mimzy 已成功导入/dev/block/mmcblk0,使用diff与默认信息对比,完全一致,目前准备重启手机,祝我好运吧!
    extreme
        19
    extreme  
    OP
       Dec 9, 2014
    @mimzy 已成功重新启动,目前正常运行中。
    实在是感激不尽,不知如何报答。
    如果您有需要帮助的地方,请联系我,如果是在我力所能及的范围内的,我一定会尽力完成。
    csx163
        20
    csx163  
       Dec 9, 2014
    刚看到,话说这手机还真是流畅的不行
    mimzy
        21
    mimzy  
       Dec 9, 2014 via Android
    @extreme 不客气!助人为乐应当的~帮忙解决了问题很开心~ :)
    aheadlead
        22
    aheadlead  
       Dec 9, 2014
    感觉楼主很碉
    chenyao168
        23
    chenyao168  
       Mar 10, 2016
    @mimzy 你好,我也有这个需要,你可以重新上传一份吗?因为我今天格式化的时候不小心把 mmcblk0 给格式化了。
    此致
    chenyao168
        24
    chenyao168  
       Mar 10, 2016
    @extreme 你好,我想与你通过 IM 软件探讨一下 QPST 的使用,主要是备份 /还原设备方面的问题,请问你愿意与我讨论这些问题吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2949 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 88ms · UTC 15:18 · PVG 23:18 · LAX 08:18 · JFK 11:18
    ♥ Do have faith in what you're doing.