最近小米2s的APP 4GB 安裝空間有點不夠了... 因為它不能另外插 SD card,所以 link2SD 也不能用,只好用爆力法更動partition size.
主要注意是這幾個 partition
/system => 用來放系統 App ,這個不用動
/data => 用來放使用者 App ,這個要變大
/sdcard => 用來放Mp3,相片等等假裝成 sdcard 的 partition,這個要變小
因為儲存空間固定,所以就得切一些 /sdcard 空間給 /data
在 Ubuntu 下,大家應該有玩過 gparted 可以直接 resize,就像它的原理。
首先需要先裝含有 repartition 工具的 CM 出版 recovery
CWM for MIUI
http://forum.xda-developers.com/mi-2/development/2014-07-08-clockworkmod-recovery-6-0-5-0-t2878549
how to install by fastboot
http://wiki.cyanogenmod.org/w/Install_CM_for_aries
然後記得備份,我是用鈦備份備份 App,沒試過直接將 /data 整個 copy 下來,如果你成功了,再請分享哦 ;)
另外提醒,如果是用開發版的人,要記得備份 Google Play market 的apk ,我就是忘了備份,還要上網找半天 .....
接下來開進 CWM 後 adb 進手機,
因為我們要動到 /data 所以先 umount 它
$ umount /data
(網上說要 umount /cache 不知為何,我覺得只要 umount /data 就可以)
執行 repartition 工具
$ parted /dev/block/mmcblk0
設定單位
(parted) unit MB
列出目前 partition
(parted) print
16GB 的版本應該會像這樣:
Model: MMC SEM16G (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 89.1MB 89.1MB fat16 modem
2 89.1MB 178MB 89.1MB fat16 modem1
3 178MB 179MB 524kB sbl1
4 179MB 179MB 524kB sbl2
5 179MB 180MB 1049kB sbl3
6 180MB 181MB 1049kB rpm
7 181MB 182MB 1049kB tz
8 182MB 183MB 524kB DDR
9 183MB 187MB 4194kB aboot
10 187MB 188MB 1049kB misc
11 188MB 191MB 2990kB logo
12 191MB 192MB 799kB m9kefs1
13 192MB 193MB 799kB m9kefs2
14 193MB 193MB 1024B m9kefsc
15 193MB 201MB 8501kB bk1
16 201MB 202MB 799kB m9kefs3
17 202MB 268MB 66.3MB bk2
18 268MB 284MB 15.7MB boot
19 284MB 300MB 15.7MB boot1
20 300MB 316MB 15.7MB recovery
21 316MB 327MB 11.5MB bk3
22 327MB 336MB 8389kB ext4 persist
23 336MB 872MB 537MB ext4 system
24 872MB 1409MB 537MB ext4 system1
25 1409MB 1812MB 403MB ext4 cache
26 1812MB 5570MB 3758MB ext4 userdata27 5570MB 15758MB 10188MB ext4 storage
接下來刪掉 26, 27 (注意: 刪掉就回不去了,請先作好備份)
(parted) rm 26
(parted) rm 27
因為 parted 只有 support ext2,所以我們要建 ext2 partition 等一下再轉換成 ext4。
command 格式為 mkpartfs primary ext2 {起始 MB} {結尾 MB}
因為我想多切 2GB 給 /data 所以,是1812MB ~ 5570MB
(parted) mkpartfs primary ext2 1812 5570
剩下的切給 /sdcard 5570MB ~ 15758MB
(parted) mkpartfs primary ext2 5570 15758
給 partition name ,這裡需要跟之前的 partition name 一樣。
(parted) name 26 userdata
(parted) name 27 storage
(parted) quit
然後網路教說是說要作下面動作將 partition 轉成 ext4:
$ tune2fs -j /dev/block/mmcblk0p26
$ e2fsck -fDp /dev/block/mmcblk0p26
$ tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p26
$ e2fsck -fDp /dev/block/mmcblk0p26
$ tune2fs -j /dev/block/mmcblk0p27
$ e2fsck -fDp /dev/block/mmcblk0p27
$ tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p27
$ e2fsck -fDp /dev/block/mmcblk0p27
但我覺得應該只要用 mke2fs 就好了,但我還是乖乖照作就是了....
有興趣的人可以試看看,我等有空再試看看好了~
$ mke2fs -T ext4 /dev/block/mmcblk0p26
$ e2fsck -fDp /dev/block/mmcblk0p26
$ mke2fs -T ext4 /dev/block/mmcblk0p27
$ e2fsck -fDp /dev/block/mmcblk0p27
接下來再看一次 partition table list 就會看到不同
$parted /dev/block/mmcblk0
(parted)unit MB
(parted) print
print
Model: MMC 016G92 (sd/mmc)
Disk /dev/block/mmcblk0: 15758MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0.02MB 89.1MB 89.1MB fat16 modem
2 89.1MB 178MB 89.1MB fat16 modem1
3 178MB 179MB 0.52MB sbl1
4 179MB 179MB 0.52MB sbl2
5 179MB 180MB 1.05MB sbl3
6 180MB 181MB 1.05MB rpm
7 181MB 182MB 1.05MB tz
8 182MB 183MB 0.52MB DDR
9 183MB 187MB 4.19MB aboot
10 187MB 188MB 1.05MB misc
11 188MB 191MB 2.99MB logo
12 191MB 192MB 0.80MB m9kefs1
13 192MB 193MB 0.80MB m9kefs2
14 193MB 193MB 0.00MB m9kefsc
15 193MB 201MB 8.50MB bk1
16 201MB 202MB 0.80MB m9kefs3
17 202MB 268MB 66.3MB bk2
18 268MB 284MB 15.7MB boot
19 284MB 300MB 15.7MB boot1
20 300MB 316MB 15.7MB recovery
21 316MB 327MB 11.5MB bk3
22 327MB 336MB 8.39MB ext4 persist
23 336MB 872MB 537MB ext4 system
24 872MB 1409MB 537MB ext4 system1
25 1409MB 1812MB 403MB ext4 cache
26 1812MB 5570MB 3758MB ext4 userdata
27 5570MB 15758MB 10188MB ext4 storage
接下來重開機後,就可以看到 partition 不同,再用鈦備份把 App 備份回來就可以了。
Reference:
http://xiaomi.eu/community/threads/mi2s-extending-size-of-storage-partition.21391/