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