格式化內(nèi)置SD(手機內(nèi)存)為EXT3文件系統(tǒng),讓所有應用都可以訪問外置SD卡。 首先聲明以下操作具有高度危險性(但不用擔心手機會變磚),無非必要請勿輕易嘗試!?。?br>
我們都知道有很多軟件都只任/sdcard和/mnt/sdcard目錄,860的手機內(nèi)存(即內(nèi)置SD卡)就是掛載在/mnt/sdcard目錄下,而外置sd卡者掛載到/mnt/sdcard-ext目錄,導致很多軟件都無法訪問外置SD卡,如熊貓看書和很多導航軟件。 其實解決辦法是有的,就是把外置SD卡的所有目錄和文件符號鏈接到/mnt/sdcard即可。 然而無論手機內(nèi)存和外置SD卡都是格式化成FAT32文件系統(tǒng)的,F(xiàn)AT32是不支持符號鏈接的,那唯一辦法就是把手機內(nèi)存格式化成可以支持符號鏈接的文件系統(tǒng),如EXT3了。 經(jīng)過3個小時的努力和嘗試,終于成功的把手機內(nèi)存和外置SD卡都格式成EXT3文件系統(tǒng),并自動把所有外置SD卡的文件都符號鏈接到手機內(nèi)存了。 方法如下: 1. USB連上電腦并在手機上設置為USB大容量存儲模式。 2. 在電腦上備份內(nèi)部SD的所有內(nèi)容。 3. 在手機上設置USB為"摩托羅拉手機門戶" 4. 用 adb shell 進入 shell 5. 用 su 切換刀root用戶 6. 用 mount -o remount,rw -t ext3 /dev/block/mmcblk0p12 /system 重新掛載system分區(qū)為讀寫模式,(也可以用root exploer來做) 7. 用 busybox vi /sysetm/etc/vold.fstab 修改文件,目的是暫時禁止內(nèi)置sdcard自動mount,找到下面內(nèi)容: # internal eMMC dev_mount sdcard /mnt/sdcard 18 /devices/platform/tegra-sdhci.3/mmc_host/mmc0 改為: # internal eMMC #dev_mount sdcard /mnt/sdcard 18 /devices/platform/tegra-sdhci.3/mmc_host/mmc0 8. 用 mount 命令查看所有文件系統(tǒng)掛載情況,搜索/mnt/sdcard,找到內(nèi)置sdard的設備文件(如我的是/dev/block/vold/179:18,實際是/dev/block/mmcblk0p18的符號鏈接),并記下來,這步非常重要,否則后面格式錯了分區(qū)就麻煩大了。 9. 用 busybox reboot重啟手機。 10. 重啟后你會發(fā)現(xiàn)手機內(nèi)存已經(jīng)無法訪問了,重復第4,5,6步。 11. 用 mke2fs -t ext3 -L mot /dev/block/vold/179:18 (或用 mke2fs -t ext3 -L mot /dev/block/mmcblk0p18)格式化內(nèi)部sdcard為ext3文件系統(tǒng)。 12. 用 vi /system/bin/mount_sdc_ext3.sh,內(nèi)容如下: #!/system/bin/sh export PATH=/system/binPATH device=$1 mount=$2 mount -t ext3 $device $mount 13. 用 vi /system/bin/check_sdc.sh,內(nèi)容如下: #!/system/bin/sh export PATH=/system/binPATH mount_sdc_ext3.sh /dev/block/mmcblk0p18 /mnt/sdcard mount -t vfat /dev/block/mmcblk1p1 /mnt/sdcard-ext ln -s /mnt/sdcard-ext/* /mnt/sdcard/ 14. 用 busybox vi /sysetm/etc/vold.fstab,改回原來的值,即 dev_mount sdcard /mnt/sdcard 18 /devices/platform/tegra-sdhci.3/mmc_host/mmc0 15. 用 mount -t ext3 /dev/block/mmcblk0p1 /mnt/sdcard 重新掛載內(nèi)部SD。 16. 重啟手機,你會看到外置SD的所有內(nèi)容都出現(xiàn)在內(nèi)置SD上了設置USB為大容量存儲模式。 17. 把備份的卡內(nèi)容重新拷貝到內(nèi)置存儲上。 |
|