本帖最後由 hollowaysxp 於 2012-10-23 18:23 編輯  
Alucardka 發表於 2012-10-23 14:48  
对 4.0.4版后有这个烦恼了  
 
其實並沒有很傷腦筋。 
 
linux就只是每個資料夾可以選擇哪個硬體儲存裝置去掛載只是兩個是對調的 
 
我今天剛好有備份開機時掛載點的檔案vold.fstab,我用adb pull方式把檔案拉到電腦上 
檔案內容開頭兩個重要代碼如下,第一個室內建的SDCard,第二個就是external sdcard 
 
這是原始4.0的vold.fstab 
# internal sdcard 
{ 
        storage_struct = cover, "/mnt/sdcard/external_sd","/mnt/sdcard/usbStorage" 
        ums_sys_path = /sys/class/android_usb/f_mass_storage/lun0/file 
        discard = enable 
} 
dev_mount sdcard /mnt/sdcard 4 /devices/platform/sdhci-tegra.3/mmc_host/mmc0/mmc0 encryptable_nonremovable 
 
# external sdcard 
{ 
        ums_sys_path = /sys/class/android_usb/f_mass_storage/lun1/file 
        android_secure_containers = enable 
} 
dev_mount sdcard1 /mnt/sdcard/external_sd auto /devices/platform/sdhci-tegra.2/mmc_host/mmc1  
 
這修改過的4.0的vold.fstab 
知道了,就只是在mount終把兩個對調# Mounts the first usable partition of the specified device 
#dev_mount sdcard /mnt/sdcard2 auto /devices/platform/sdhci-tegra.2/mmc_host/mmc1 
# internal sdcard 
{ 
        storage_struct = cover, "/mnt/sdcard/external_sd","/mnt/sdcard/usbStorage" 
        ums_sys_path = /sys/class/android_usb/f_mass_storage/lun0/file 
        discard = enable 
} 
##注意這段mount他開頭路徑是"/mnt/sdcard"但後面的裝置卻是選擇上面原始vold.fstab的第二段後面的 auto /devices/platform/sdhci-tegra.2/mmc_host/mmc1即為外接SD卡的實體位置 
dev_mount sdcard /mnt/sdcard auto /devices/platform/sdhci-tegra.2/mmc_host/mmc1 
 
# external sdcard 
{ 
        ums_sys_path = /sys/class/android_usb/f_mass_storage/lun1/file 
        android_secure_containers = enable 
} 
##下面這段同上他要掛載/mnt/sdcard/external_sd,但後面的實體裝置掛載4 /devices/platform/sdhci-tegra.3/mmc_host/mmc0/mmc0,即為上面原始檔第一段後面內建SDCard掛載的實體裝置  
dev_mount sdcard1 /mnt/sdcard/external_sd 4 /devices/platform/sdhci-tegra.3/mmc_host/mmc0/mmc0 encryptable_nonremovable  簡單來說只要會看的懂掛載文件就可以做置換了! 
這是原理的部分啦!如果你要現成的有網友貼過了 
請參考這篇偷天換日 
 
他有4.0用的和2.3用的。2.3和4.0兩個vold.fstab掛載文件稍微不太一樣。 
 
而在4.0.4後面的vold.fstab文件後面的部份我發現OTG的掛載可以從usbDriveA掛載到usbDriverF 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sda /mnt/sdcard/usbStorage/UsbDriveA auto /devices/platform/tegra-ehci.0/usb 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sdb /mnt/sdcard/usbStorage/UsbDriveB auto /devices/platform/tegra-ehci.0/usb 
 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sdc /mnt/sdcard/usbStorage/UsbDriveC auto /devices/platform/tegra-ehci.0/usb 
 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sdd /mnt/sdcard/usbStorage/UsbDriveD auto /devices/platform/tegra-ehci.0/usb 
 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sde /mnt/sdcard/usbStorage/UsbDriveE auto /devices/platform/tegra-ehci.0/usb 
 
#usb host device  
{ 
        storage_struct = series,"/mnt/sdcard/usbStorage" 
        media_type = usb 
} 
dev_mount sdf /mnt/sdcard/usbStorage/UsbDriveF auto /devices/platform/tegra-ehci.0/usb 
#EOF  |