對于擁有內置sd卡與支持外插擴展sd卡的機型,內置sd卡一般是從fat分區掛載到/mnt/sdcard目錄下。而擴展的sd卡,則是掛載到/mnt/sdcard/external_sd目錄。
系統一般是根據路徑mnt/sdcard識別sdcard(而不管該目錄是哪個分區),并把該路徑設為程序的默認數據存儲路徑(有些軟件指定把數據存于外插sd卡則是根據系統提供的mnt/sdcard/external_sd路徑識別)。
有時候,感覺下載東西較多,或安裝的軟件存的數據過多,就會顯得內置存儲不夠用。這時候,可以把大容量8G、16G等外插sd卡掛載到/mnt/sdcard目錄,并把內置sd卡掛載到/mnt/sdcard/external_sd目錄。這樣,根據系統的這種設置,軟件默認存于內置存儲的數據將實際保存到外插大容量卡上。或者,你所下載的文件也會根據這種設置保存到sd卡。
4.0及以上版本,共有兩種方法。4.0 以下不知道是否支持方法二。
修改數據掛載路徑:
一:
注意,接下來說到的操作具有危險性。請不要輕易嘗試!
首先,你的手機必須已root方可操作系統文件。下載安裝re管理器。
1. re管理器進入到/system/etc目錄,找到vold.fstab,掛載system分區讀寫。
這時先要做個備份。不管理你用的什么軟件來修改文件,最好做個備份。可以把該文件復制一份到上一個文件夾system目錄下,方便出錯還原。re管理器會自動備份并后綴.bak,這時,你可以通過修改后綴還原。需要注意的是,復制到sd卡等于沒用,萬一出錯,你會連sd卡目錄都進不了,不管是外置的還是內置的。所以,你務必要小心。
2. 長按文件,選擇文本編輯器打開。
以下是我的機型的vold.fstab文件:有些機型可能不一樣,詳細還需要你摸索。
———————————————————————————————————————————
## Vold 2.0 Generic fstab
## - San Mehat (san@android.com)
##
#######################
## Regular device mount
##
## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
## label - Label for the volume
## mount_point - Where the volume will be mounted
## part - Partition # (1 based), or 'auto' for first usable partition.
## <sysfs_path> - List of sysfs paths to source devices
######################
## Example of a standard sdcard mount for the emulator / Dream
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host
dev_mount external_sdcard /mnt/sdcard/external_sd auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.1/mmc_host
## Example of a dual card setup
# dev_mount left_sdcard /mnt/sdcard1 auto /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host/mmc0
# dev_mount right_sdcard /mnt/sdcard2 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.2/mmc_host/mmc2
## Example of specifying a specific partition for mounts
# dev_mount sdcard /mnt/sdcard 2 /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1
———————————————————————————————————————————
注意到vold.fstab文件中,即上面兩行紅色字體部分,它們就是sd卡掛載目錄的具體設置,其余大部分是注釋(outo 表示掛載外插sd卡第一主分區,可以不改動。)。把其中的藍色字體部分互換保存即可。但需要注意空格不能多也不能少,也不能修改其它地方,/符號不能少也不能用反方向的。在修改過程不能使用回車換行,只能在原文件的基礎上修改字母。輸入法要切換到英文輸入,使用英文字符。
下面是改好的:
dev_mount sdcard /mnt/sdcard/external_sd emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host
dev_mount external_sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.1/mmc_host
這種修改方法其實就是修改分區的掛載目錄,以讓系統把mnt/sdcard這個路徑識別成默認的路徑,并提供給應用程序。
還有個類似的文件vold.fstab.nand,改不改都無所謂。
修改完畢確認無誤后,保存,重啟手機。
需要注意的是,修改后,你不能把sd卡取出并開機使用。如果你這么做,系統將會連內置存儲都識別不到,手機無法正常使用。
———————————————————————————————————————————
二:
鑒于方法一的危險性,推薦一個簡單安全的方法,無需root權限。即通過改變系統默認數據存儲路徑實現將數據保存到外插sd卡。
1.打開手機撥號器,即“電話”
2.輸入*#08#
3.選擇“sd卡”即可。
不管你是用方法一或者二,修改數據默認路徑后,原先應用程序所保存在sd卡或外置sd卡上的數據將無法再正常讀取。可能導致系統變化或者應用程序讀取不到之前的數據,造成數據丟失的假象。
解決方法:首先把應用及系統在 內外存儲卡 產生的文件及文件夾做個備份,并交換內置sd卡與外插sd卡的應用程序數據。
即是把外插sd卡的相應文件復制到內置sd中,把內置sd卡的相應文件復制到外插sd卡。
【完】
|