我大約在一年半前買了SONY的 Xperia J
目前他的儲存空間情況為
手機記憶體 總空間754MB/可用空間77MB
內部儲存空間 總空間2GB/可用空間217MB
現在我想要更新19.1MB的Facebook程式
他不是出現錯誤"儲存空間不足"
就是出現"錯誤代碼919"
請問應如何處理?QAQ
謝謝大家!!
======================================================================
家母的Xperia J也有同樣的問題
所以就想說看能不能透過調整分割區大小的方式
讓手機有足夠的空間安裝更多APP
沒想到居然成功了
底下就簡單分享一下過程也順便做個紀錄
PS: 進行以下操作前建議先將重要資料進行備份,若造成任何損壞恕不負責。
尤其是/sdcard資料夾,在修改過程中該分割區會進行格式化,其內的資料會全部遺失。
由於調整分割區大小需要root權限
所以必須做的第一件事就是root手機
下載 DooMLoRD_Easy-Rooting-Toolkit_v17_perf-event-exploit.zip (Source)
照著程式中的指示操作即可順利完成root
root過後我們要用電腦連線到手機修改分割表
到Google Play下載安裝SSHelper,讓手機run ssh service
ssh service建立好後即可在電腦端利用putty或其它ssh client連線到手機(帳號密碼分別是root和admin)
登入後會發現登入身份不是root,於是再執行su指令進行切換
取得root權限後即可開始進行調整/修改
fdisk /dev/block/mmcblk0
執行上述指令後會出現以下畫面,表示已進入fdisk這個分割程式中
The number of cylinders for this disk is set to 119296.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
按p再按enter可印出分割表 (按m可印出指令說明)
Disk /dev/block/mmcblk0: 3909 MB, 3909091328 bytes
4 heads, 16 sectors/track, 119296 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 33 1024 4d Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 33 97 2048 f0 Linux/PA-RISC boot
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 129 768 20480 48 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 769 119296 3792896 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 833 1792 30720 49 Unknown
/dev/block/mmcblk0p6 1793 2048 8192 83 Linux
/dev/block/mmcblk0p7 2049 2208 5120 70 Unknown
/dev/block/mmcblk0p8 2241 2496 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p9 2497 2752 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p10 2753 23552 665600 83 Linux
/dev/block/mmcblk0p11 23553 28672 163840 83 Linux
/dev/block/mmcblk0p12 28673 28768 3072 4a Unknown
/dev/block/mmcblk0p13 28801 28896 3072 4b Unknown
/dev/block/mmcblk0p14 28929 29024 3072 58 Unknown
/dev/block/mmcblk0p15 29057 53568 784384 83 Linux
/dev/block/mmcblk0p16 53569 119296 2103296 c Win95 FAT32 (LBA)
倒數第二行的/dev/block/mmcblk0p15就是手機記憶體 (/data),只有766MB左右
無法安裝/更新APP就是因為這個分割區容量太小了
而最後一行的/dev/block/mmcblk0p16則是內部儲存空間 (/sdcard),大小約2GB
我們要從內部儲存空間挪1GB的空間給手機記憶體用
首先先將這兩個分割區刪除
d是刪除分割區的指令
輸入後會問你要刪除哪個分割區
接著輸入欲刪除分割區之編號即可刪除該分割區
Command (m for help): d
Partition number (1-16): 16
Command (m for help): d
Partition number (1-15): 15
Command (m for help):
執行完上述兩個刪除指令後的分割表如下
可以發現/dev/block/mmcblk0p15和/dev/block/mmcblk0p16已被刪除
若在修改過程中有任何的輸入錯誤
按q (quit)離開再重來一次即可
只要別按到w (write)
剛才所做的任何修改就不會寫入到分割表中
Command (m for help): p
Disk /dev/block/mmcblk0: 3909 MB, 3909091328 bytes
4 heads, 16 sectors/track, 119296 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 33 1024 4d Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 33 97 2048 f0 Linux/PA-RISC boot
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 129 768 20480 48 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 769 119296 3792896 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 833 1792 30720 49 Unknown
/dev/block/mmcblk0p6 1793 2048 8192 83 Linux
/dev/block/mmcblk0p7 2049 2208 5120 70 Unknown
/dev/block/mmcblk0p8 2241 2496 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p9 2497 2752 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p10 2753 23552 665600 83 Linux
/dev/block/mmcblk0p11 23553 28672 163840 83 Linux
/dev/block/mmcblk0p12 28673 28768 3072 4a Unknown
/dev/block/mmcblk0p13 28801 28896 3072 4b Unknown
/dev/block/mmcblk0p14 28929 29024 3072 58 Unknown
接下來再把這2個分割區建立起來
但/dev/block/mmcblk0p15必須比之前還大
這樣才能達成我們的目的
n是新增分割區的指令
按下enter後再接著輸入起始磁柱和結束磁柱即可
在底下這個例子中
/dev/block/mmcblk0p15的容量大約會是1.7GB
而/dev/block/mmcblk0p16約1GB
修改完成後由於/dev/block/mmcblk0p16預設的filesystem type為linux native
所以我們必須再用指令t將它改為fat32
Command (m for help): n
First cylinder (769-119296, default 769): 29057
Last cylinder or +size or +sizeM or +sizeK (29057-119296, default 119296): 86528
Command (m for help): n
First cylinder (769-119296, default 769): 86529
Last cylinder or +size or +sizeM or +sizeK (86529-119296, default 119296): 119296
Command (m for help): t
Partition number (1-16): 16
Hex code (type L to list codes): c
Changed system type of partition 16 to c (Win95 FAT32 (LBA))
底下為修改過後的分割表
和原來的相比
只有紅字部份不同
Command (m for help): p
Disk /dev/block/mmcblk0: 3909 MB, 3909091328 bytes
4 heads, 16 sectors/track, 119296 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 33 1024 4d Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 33 97 2048 f0 Linux/PA-RISC boot
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 129 768 20480 48 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 769 119296 3792896 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 833 1792 30720 49 Unknown
/dev/block/mmcblk0p6 1793 2048 8192 83 Linux
/dev/block/mmcblk0p7 2049 2208 5120 70 Unknown
/dev/block/mmcblk0p8 2241 2496 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p9 2497 2752 8192 f0 Linux/PA-RISC boot
/dev/block/mmcblk0p10 2753 23552 665600 83 Linux
/dev/block/mmcblk0p11 23553 28672 163840 83 Linux
/dev/block/mmcblk0p12 28673 28768 3072 4a Unknown
/dev/block/mmcblk0p13 28801 28896 3072 4b Unknown
/dev/block/mmcblk0p14 28929 29024 3072 58 Unknown
/dev/block/mmcblk0p15 29057 86528 1839104 83 Linux
/dev/block/mmcblk0p16 86529 119296 1048568 c Win95 FAT32 (LBA)
確認無誤後即可將修改結果存檔
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy
接著輸入reboot指令讓手機重新開機
開完機後由於/dev/block/mmcblk0p16尚未格式化
因此會出現掛載失敗的訊息
不過只要再連線到手機將該分割區格式化,然後再重開機即可
# mkfs.vfat -v /dev/block/mmcblk0p16
Device '/dev/block/mmcblk0p16':
heads:4, sectors/track:16, bytes/sector:512
media descriptor:f8
total sectors:2097136, clusters:261630, sectors/cluster:8
FATs:2, sectors/FAT:2044
volumeID:57028a71, label:''
# reboot
最後成果如下
手機記憶體現在有1.7GB
終於不用再為無法安裝/更新APP所困擾了!




