zoukankan      html  css  js  c++  java
  • Huawei U8825d 对4G手机内存重新分区过程[把2Gb内置SD卡容量划分给DATA分区使用]

    # 
    # 重要说明,对4GB手机内存重新分区必然会极高机率把手机变砖头!
    # 操作手机内存重新分区需要对Linux的fdisk使用有一定的了解,操作前备份好系统数据。
    # 
    
    
    # 使用“df -ah”结果,查看手机分区信息,这一步需要安装Busybox,和BTEP(超级终端)并安装Bash shell,并在手机端上操作;
    # 具体在手机超级终端上输入"df -ah > /data/local/tmp/blkdf.txt;"然后在电脑端上输入"adb shell; vi /data/local/tmp/blkdf.txt;"
    # 目的是为了显示出各分区对应挂载到什么位置,这点很重要!
    df -ah 
    Filesystem                Size      Used Available Use% Mounted on
    tmpfs                   193.8M     64.0K    193.8M   0% /dev
    devpts                       0         0         0   0% /dev/pts
    proc                         0         0         0   0% /proc
    sysfs                        0         0         0   0% /sys
    none                         0         0         0   0% /acct
    tmpfs                   193.8M         0    193.8M   0% /mnt/asec
    tmpfs                   193.8M         0    193.8M   0% /mnt/obb
    none                         0         0         0   0% /dev/cpuctl
    /dev/block/mmcblk0p17 503.9M    186.5M    317.4M  37% /system
    /dev/block/mmcblk0p18 629.9M    494.1M    135.8M  78% /data
    /dev/block/mmcblk0p15 189.0M      4.1M    184.8M   2% /cache
    /dev/block/mmcblk0p16  78.7M      6.0M     72.7M   8% /cust
    /dev/block/vold/179:33 7.4G      3.6G      3.8G  49% /mnt/sdcard
    /dev/block/vold/179:33 7.4G      3.6G      3.8G  49% /mnt/secure/asec
    tmpfs                        0         0         0   0% /mnt/sdcard/.android_secure
    
    # 使用“fdisk /dev/block/mmcblk0 -l”,对4GB手机内存查看磁盘信息,记住结尾的地方(非常重要!)
    
    fdisk /dev/block/mmcblk0 -l
    Disk /dev/block/mmcblk0: 3909 MB, 3909091328 bytes
    1 heads, 16 sectors/track, 477184 cylinders
    Units = cylinders of 16 * 512 = 8192 bytes
    
                  Device Boot      Start         End      Blocks  Id System
    /dev/block/mmcblk0p1   *           1           3          20  4d Unknown
    Partition 1 does not end on cylinder boundary
    /dev/block/mmcblk0p2               3          41         300  45 Unknown
    Partition 2 does not end on cylinder boundary
    /dev/block/mmcblk0p3              41       16681      133120   c Win95 FAT32 (LBA)
    Partition 3 does not end on cylinder boundary
    /dev/block/mmcblk0p4           16681      477184     3684031+  5 Extended
    Partition 4 does not end on cylinder boundary
    /dev/block/mmcblk0p5           16897       18432       12288  6a Unknown
    /dev/block/mmcblk0p6           18433       18944        4096  46 Unknown
    /dev/block/mmcblk0p7           18945       19456        4096  63 GNU HURD or SysV
    /dev/block/mmcblk0p8           19457       19840        3072  58 Unknown
    /dev/block/mmcblk0p9           19969       20352        3072  4a Unknown
    /dev/block/mmcblk0p10          20481       20864        3072  4b Unknown
    /dev/block/mmcblk0p11          20993       21504        4096  47 Unknown
    /dev/block/mmcblk0p12          21505       22528        8192  48 Unknown
    /dev/block/mmcblk0p13          22529       25088       20480  60 Unknown
    /dev/block/mmcblk0p14          25089       25600        4096  6c Unknown
    /dev/block/mmcblk0p15          25601       50176      196608  83 Linux
    /dev/block/mmcblk0p16          50177       60416       81920  83 Linux
    /dev/block/mmcblk0p17          60417      125952      524288  83 Linux
    /dev/block/mmcblk0p18         125953      207872      655360  83 Linux  #[DATA分区]
    /dev/block/mmcblk0p19         207873      477184     2154496  6b Unknown #[内置SD卡]
    
    # 对手机/data分区的数据进行完整备份(这一步时间很长)
    cp -af /data /mnt/sdcard/data_bak
    
    # 对备份的数据,查看占用的空间
    du -sh /mnt/sdcard/data_bak/ 
    498.3M    /mnt/sdcard/data_bak/
    
    # 正式对磁盘进行操作
    fdisk /dev/block/mmcblk0
    Command (m for help): d
    Partition number (1-19): 19
    
    Command (m for help): d
    Partition number (1-18): 18
    
    Command (m for help): n
    First cylinder (16682-477184, default 16682): 125954
    Last cylinder or +size or +sizeM or +sizeK (125954-477184, default 477184): 466945
    
    Command (m for help): n
    First cylinder (16682-477184, default 16682): 466947
    Last cylinder or +size or +sizeM or +sizeK (466947-477184, default 477184): 
    Using default value 477184
    
    Command (m for help): p
    
    /dev/block/mmcblk0p18 125954 466945 2727936 83 Linux  [DATA分区已2.7Gb]
    /dev/block/mmcblk0p19 466947 477184 81904 83 Linux   [SDCARD2分区已81MB]
    
    Command (m for help): w 
    # 以上只是完成了对4GB内存进行分区,有些时候无法写入分区表(无限重启);
    # 需要重启手机进入recovery模式,输入adb shell后,重得一次分区步骤;
    # 接下来,我们需要把刚刚分好的区,进行格式化;
    
    # 首先,我们需要对DATA分区进行格式化,这个需要在recovery内操作。
    # 这一步,我们需要一个刷机脚本来支持我们的操作,这个脚本内容如下:
    ui_print("u8825d Format DATA scripts..");
    format("ext4", "EMMC", "/dev/block/mmcblk0p18", "0");
    # 脚本具体怎么写,可以去查询相关的内容,这里不作介绍;
    # 当然你也可以把这两行代码写到一个刷机包里边的刷机脚本里边,同时可以刷一次机。
    
    # 在以上的步骤完成之后,开机之后就可以看到手机的DATA分区已经变成了2.7Gb了(实际上计算方式不一样,显示会略小一点)
    # 接下来,我们要把外置的sd卡取出来,然后开机,挂载USB存储; 
    # 使用Disk Genius,或是在Linux操作系统下使用fdisk gparted对那个sdcard2(80MB存储)进行格式化; 

    为了简便操作,重新写一个刷机脚本,需要把busybox安装在/system/bin目录下,不然不要使用以下脚本!

    1. 刷机脚本内容如下:

    ui_print("Change Huawei U8825d MMC Partition!");
    show_progress(0.1, 1);
    package_extract_file("partition.sh", "/tmp/partition.sh");
    set_perm(0, 0, 0777, "/tmp/partition.sh");
    ui_print("Now Change Data size...");
    run_program("/system/bin/sh","/tmp/partition.sh");
    ui_print("Now Format partition...");
    format("ext4", "EMMC", "/dev/block/mmcblk0p18", "0");
    run_program("/system/bin/busybox", "mkfs.vfat", "-v", "-n", "Huawei", "/dev/block/mmcblk0p19");
    ui_print("Now Format Done!");
    show_progress(0.2, 4);
    ui_print("All Done!!");

    2. 需要用到的partition.sh脚本内容如下: 

    #!/sbin/shfdisk /dev/block/mmcblk0 <<EOF
    d
    19
    d
    18
    n
    125954
    466945
    n
    466947
    477184
    t
    19
    b
    w
    EOF
    
    刷入脚本方法:
    把U8825d_Partiton.zip拷贝到sdcard,
    开机启动时按住音量加进入recovery模式:
     -- install zip from sdcard
     -- choose from sdcard
     -- 选择 U8825d_Patition.zip
     -- 选择 yes
    
    注意事项: 请慎重操作!!!
    更好的解决方案可参照:http://bbs.anzhi.com/thread-6418286-1-1.html
    ------------
    微博:http://weibo.com/scue
    Github:http://github.com/scue
  • 相关阅读:
    安装 kubenetes-dashboard
    使用kubeadm在Centos7上部署kubernetes1.21.1
    批量重命名
    is_valid重写。返回数据格式统一
    django-序列化参数为空报错问题
    单文件日志测试
    文本、目录 空间清理问题
    数仓数据
    滑动验证码(无原图片处理)
    鸟哥私房菜基础篇
  • 原文地址:https://www.cnblogs.com/scue/p/huawei_u8825d_rom_partition_guide.html
Copyright © 2011-2022 走看看