I'm starting to provide Chinese / English versions of some articles, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。

华为 C8815 内置存储分区

华为 C8815 手机的内置存储是 4G,但是不代表这 4G 都是你可以使用的,其中也包括系统文件和一些杂七杂八的东西。

安卓手机的存储一般分为以下几个区:

  • 缓存区(cache),存储安卓系统运行的一些临时文件,这些文件一般总共小于 10M
  • 系统区(system),就是安卓的系统文件,刷机时就是修改其中的内容
  • 数据区(data),存储你安装的 APP 和 APP 的数据
  • 存储卡(sdcard),也就是你在文件管理器里看到的 “内置存储”

而包括 C8815 在内,一些运营商定制手机还会有 cust 区,存储运营商的定制内容。

手机出厂时就有了默认的分区,但是这个分区不一定最适合用户使用。华为 C8815 的分区如下:

  • 缓存区大概 190M,我前面说了缓存区一般占用小于 10M,我自己使用时用 df 命令看到一般是 5M 左右。可以砍了它。不知道华为工程师在想什么。
  • cust 区,里面的东西完全没用,占用 80M。砍。
  • 系统区 1.1G,这个大小已经是相当肥硕了,一般刷机包(比如我用的 CM11)zip 文件都是 200-300M 大,解压开来也就 300-400M,没必要啊?但是看一下华为官方刷机包就可以发现,华为官方刷机包有 700M 大,里面内置了一大堆软件,因此才要 1.1G 这个可怕的空间。砍之。
  • 数据区 1.1G,这个一般是要扩大的。
  • 存储卡区 1G,由于 C8815 存储空间小,我们一般插一张 microSD(TF)卡来存数据,一些刷机包甚至带有内外卡交换功能让 SD 卡完全取代内置空间。当然内置空间也有它速度快的优势。

在实际分区时,可以如下分配:

  • 缓存区 10M。
  • cust 区 10M,不能直接删除,否则刷机会出问题。
  • 系统区 500M 足够,但是最好按照你刷机包解压开的大小 + 20M 来计算。如果你需要装字体那么空的更多。
  • 存储卡区 100M(有外置 TF 卡)或者 800M-1.5G(无外置 TF 卡)
  • 剩下的做数据区。

以下是分区步骤。

fdisk -l /dev/block/mmcblk0

你会看到类似以下的输出:

/dev/block/mmcblk0p16    50177    60416    81920
/dev/block/mmcblk0p17    60417    191488    1048576
/dev/block/mmcblk0p18    191489    338944    1179648
/dev/block/mmcblk0p19    338945    473088    1073152

mmcblk0p 后面的那个数字就是分区编号,后面的分别是分区起点、终点、大小。

15 号分区是 cache,16 号是 cust,17 号 system,18 号 data,19 号 sdcard。(15 号分区忘记记下来了)(这些数据是华为 C8815 的,不同手机可能不同)

现在要做一些计算。例如上面的 16 号分区,我们要修改成 10M。

知道它的起始点是 50177,那么终点是 (50177+10M*128)=51457。

下一个分区 17 号的起点是 51457+2=51459。如果用 51458,分区过程中可能会报 “当前位置已被占用” 错误。

17 号的终点是 (51459+500M*128)=115459。18 号起点 115461。

19 号分区的起点是 (473088-100M*128)=460288。18 号终点 460286。

以上数据计算时请换成自己对各分区的要求容量,不同手机分区起始点和终止点不一样。

14 号和之前的分区千万不要动!动了出事别找我。

计算完成,可以开始分区了。输入以下命令:

fdisk /dev/block/mmcblk0

输入 d 命令删除分区,然后输入你要删除的分区号,如 19。建议从 19 号一路向前删,删到 15 分区。

输入 n 命令创建分区,从 15 号分区开始输入分区的起点和终点。

例如上面的操作(修改 16-19 号分区)对应的操作序列如下:

d
19
d
18
d
17
d
16
n
50177
51457
n
51459
115459
n
115461
460286
n
460288
473088

输入 p 回车查看当前分区表,如果有错可以重复上面的操作修改。如果你删除了 14 号及以前的分区,只需要退出终端即可,操作并没有写入手机。然后重进终端重新修改就可以了。一定要仔细检查!

输入 w 回车写入分区表。

此时 fdisk 已经退出了,你可以拔电池关机然后重进 recovery。或者输入 reboot recovery 重新进入 recovery。

双清,进入 U 盘模式,连上电脑格式化存储卡。

重新刷机。分区操作完成。

如果要恢复原来的分区,把华为官方的刷机包放进 SD 卡,关机,按住音量上下键开机,将会将手机重新刷回华为官方并且恢复初始分区表。

本站使用运行在 Vercel 上的 Waline 评论系统,中国大陆访问可能不稳定。