[转]重新分配内置存储空间 android手机
生活随笔
收集整理的這篇文章主要介紹了
[转]重新分配内置存储空间 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卡也找不到啦。?? dfhtre??樓主的教程不完善,,我一開始也出現了格式化錯誤,手機無法啟動,后來通過搜索,按照樓主的方法分區后,重啟時在adb環境下輸入reboot recovery進行重啟,格式化就正常了。?? mmxfans??試著弄了一下,不過最后在recovery里格式化提示錯誤,只能強刷回官方版本。求教哪里出錯了??? fmg21??沒有動system分區,不影響刷機的。?? dfhtre??請教樓主,更改分區后,是否影響刷ROM。???
總結
以上是生活随笔為你收集整理的[转]重新分配内置存储空间 android手机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础向量运算-2D镜面反射
- 下一篇: Visual Studio 2010 旗