• [转]重新分配内置存储空间 android手机


    本文转自:http://www.in189.com/thread-815721-1-1.html

    鉴于有些同学遇到问题了,毕竟步骤繁琐,可能中间会出错,因此推荐用26L zxf66272819 给出的这个傻瓜脚本吧 

    华为C8813Q全能脚本 v2 调整data和内置sdcard分区大小的功能

    === 以下内容仅供参考 ===

    有些同学可能觉得c8813q的内置存储空间不合理,才1G,安装不了几个游戏就满了,多出来的那1GB”内置SD卡“又因为外置卡的原因用不上。既然这样,那就动手修改内置存储空间的分配吧。其实我的需求倒是相反,我在c8813上面把原来的2G”内置SD卡“切出了1G用来放debian的chroot环境,不过方法是相通的,下面大概说说吧。

    其实修改很简单,就像给电脑的硬盘分区一样,但是有一定的风险,新手慎用,动手之前请记得备份数据。重新分区要求是解锁root了,并且把busybox安装好(安装方法自己搜一下吧),然后利用busybox的fdisk命令来分区。下面蓝色粗体的是输入的命令。

    C:> adb shell #进入安卓的命令行
    * daemon started successfully *
    shell@android:/ $ su #改成root用户


    shell@android:/ # whoami #确认一下
    root


    127|shell@android:/ # mount #查看当前的分区挂载情况
    mount
    rootfs / rootfs ro,relatime 0 0
    tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,relatime,mode=600 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,relatime 0 0
    none /acct cgroup rw,relatime,cpuacct 0 0
    tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
    none /dev/cpuctl cgroup rw,relatime,cpu 0 0
    /dev/block/mmcblk0p15 /cache ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
    /dev/block/mmcblk0p17 /system ext4 ro,relatime,data=ordered 0 0
    /dev/block/mmcblk0p18 /data ext4 rw,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
    /dev/block/mmcblk0p16 /cust ext4 ro,relatime,data=ordered 0 0
    /dev/block/vold/179:19 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,(省略),errors=remount-ro 0 0
    /dev/block/vold/179:33 /storage/sdcard0 vfat rw,dirsync,nosuid,nodev,(省略),utf8,errors=remount-ro 0 0
    /dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,(省略),errors=remount-ro 0 0
    tmpfs /storage/sdcard0/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0


    注意,前面的 mmcblk0p17 挂载点是 /system,也就是说,这个是系统分区,就像C盘的windows目录,包含的是zip刷机包里system文件夹下面的内容;而 mmcblk0p18 的挂载点是 /data ,也就是用户分区,就像C盘的users、program files,保存用户的设置、安装到手机的应用、应用数据等; 而 /dev/block/vold/179:19,实际上就是 /dev/block/mmcblk0p19 ,挂载点是 /storage/sdcard1 ,这个就是“内置SD卡”(因为我用了tf卡,否则应该是挂载在 /storage/sdcard0)。只要保证system和之前的分区没改动,手机都可以正常启动。而这次的目的,是重新分配p18和p19的空间,所以只要正确操作,不用担心变砖的问题。

    继续。只要你不执行最后一步 w 保存分区改动,下面的命令都是安全的,可以放心使用。

    shell@android:/ # fdisk -l /dev/block/mmcblk0 #查看当前的内置存储分区情况
    (注: 如果安装了busybox但是提示sh: fdisk: not found,那就在前面加一个busybox,变成 busybox fdisk -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      191488     1048576  83 Linux #system分区
    /dev/block/mmcblk0p18         191489      338944     1179648  83 Linux #data分区,注意起始位置,记录下来后面用
    /dev/block/mmcblk0p19         338945      477184     1105920  6b Unknown #内置sd卡


    shell@android:/ # fdisk /dev/block/mmcblk0 #进入分区工具
    Command (m for help): d #删除分区 d = delete
    Partition number (1-19): 19 #编号19

    Command (m for help): d #删除分区
    Partition number (1-18): 18 #编号18

    Command (m for help): p #显示当前的分区情况 p = print

    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
    (....省略)
    /dev/block/mmcblk0p15          25601       50176      196608  83 Linux
    /dev/block/mmcblk0p16          50177       60416       81920  83 Linux
    /dev/block/mmcblk0p17          60417      191488     1048576  83 Linux

    (可以看到,18和19都被删掉了,不过目前为止还只是模拟分区,并没真正保存,接下来要创建新的分区)

    Command (m for help): n #新建分区 n = new

    First cylinder (16682-477184, default 16682): 191490 #分区起始柱面(前面记录的是191489,不过自己分区的话要多留一个柱面)
    Last cylinder or +size or +sizeM or +sizeK (191490-477184, default 477184): +1536M #给data分多少空间。最大应该是2048M左右。

    Command (m for help): p #显示当前的分区情况

    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
    (....省略)
    /dev/block/mmcblk0p16          50177       60416       81920  83 Linux
    /dev/block/mmcblk0p17          60417      191488     1048576  83 Linux
    /dev/block/mmcblk0p18         191490      378990     1500008  83 Linux #新的data分区,注意结束地址,下面用


    Command (m for help): n #新建分区
    First cylinder (16682-477184, default 16682): 378992 #上面的柱面数+2
    Last cylinder or +size or +sizeM or +sizeK (378992-477184, default 477184): 477184 #到末尾


    Command (m for help): p #显示当前的分区情况


    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
    (....省略)
    /dev/block/mmcblk0p17          60417      191488     1048576  83 Linux
    /dev/block/mmcblk0p18         191490      378990     1500008  83 Linux
    /dev/block/mmcblk0p19         378992      477184      785544  83 Linux #新的内置sd卡分区


    !注意啊,下面就是保存了,如果你玩够了的话,到这里输入 q 退出就行了,如果继续,记得备份数据!

    Command (m for help): w #存盘退出
    The partition table has been altered.


    fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy #这个是正常的,不用理会



    到这一步,可能某些程序可能会开始不正常了。然后就重启,进recovery格式化data分区和内置sd卡。重新进入系统以后,看起来就像是刚刷了机一样,不过内置的程序空间变成了1536M,而内置SD卡变成了512M。

    命令行格式化操作:
    shell@android:/ # mkfs.ext2 /dev/block/mmcblk0p19 #格式化p19
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    ......
    Allocating group tables: done                            
    Writing inode tables: done                            
    Writing superblocks and filesystem accounting information: done


    点评

    ☆彩虹珖★  已经测试 前面一切正常,不过最后在recovery里格式化提示错误,data 和 sd卡 都不能格式化。手机已无法开机。内置sd卡也找不到啦。  发表于 6 天前
    dfhtre  楼主的教程不完善,,我一开始也出现了格式化错误,手机无法启动,后来通过搜索,按照楼主的方法分区后,重启时在adb环境下输入reboot recovery进行重启,格式化就正常了。  发表于 2013-6-6 21:16:43
    mmxfans  试着弄了一下,不过最后在recovery里格式化提示错误,只能强刷回官方版本。求教哪里出错了?  发表于 2013-6-6 17:52:41
    fmg21  没有动system分区,不影响刷机的。  发表于 2013-6-5 17:33:37
    dfhtre  请教楼主,更改分区后,是否影响刷ROM。  发表于 2013-6-2 19:58:35
  • 相关阅读:
    2020年秋招三星面试题
    物联网金融和互联网金融的区别与联系
    数据库事务的4种隔离级别
    Access-cookie之sqlmap注入
    SDL-软件安全开发周期流程
    图片马的制作
    ssrf内网端口爆破扫描
    逻辑漏洞_验证码绕过_密码找回漏洞
    平行越权与垂直越权
    xff注入
  • 原文地址:https://www.cnblogs.com/freeliver54/p/3157599.html
Copyright © 2020-2023  润新知