个人三星手机内置SD卡开机没法自动加载

我一直用的一个三星手机,采用原厂的ROM就没有问题,一旦刷成比较新的4.2版本,就会出现(常常性的)内置SD卡没法自动加载的问题。这是一个很讨厌的问题,由于一旦内置的SD卡没法加载,不少应用就会出问题,比方说相机就会拒绝工做,其余应用的配置就会丢失等,即便手机插了外部的SD卡,可是大多数应用只认内部的SD卡!html

上网搜了好久,貌似碰到该问题的人不是不少,一个比较靠谱的回答是内置的内存质量有问题,因此在启动时加载的时候会出错,奇怪的是用旧版本的(原机ROM,基于2.3版本)就很好。那么有没有可能在开机启动后手动加载内置SD卡呢?网上搜了一下,有这方面的详细讲解,可是本人对Android内核不是很了解,并且手动挂载可能还得编写一个Android APP,不然每次都要打开一个shell岂不是很麻烦?!这么一考虑这个方法工做量比较大,实在不适合目前还不想折腾的我。android

还有另一个办法,主要是针对内置SD卡损坏的问题。考虑到原ROM中,是没有内置外置SD的概念的,一直到了android4.0以后可能才有了所谓的内置SD卡,而新ROM的方法就是对内存进行从新分区,将一部份内存当作内置的SD卡来处理。会不会三星在设计这款机器的时候没有考虑到内存分区带来的问题,因此才会产生这样的问题?无论怎样,假设内置的SD卡有问题,那怎么办呢?shell

网上有解决方案。其实也很简单,就是交换SD卡,将外置的SD卡做为内置的SD卡来用,而内置SD卡就成为了外置SD卡。这样只要保证外置的SD卡没问题,就不会出现上面的故障。spa

在系统中有一个文件vold.fstab(/system/etc/vold.fstab),里面记录了SD卡的挂载配置。设计

## Vold 2.0 Generic fstab
## - San Mehat (san@android.com)
##orm

#######################htm

## Regular device mountblog

##内存

## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>get

## 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

######################

# internal sdcard

dev_mount sdcard /storage/sdcard1 28 /devices/platform/msm_sdcc.2/mmc_host/mmc1

# externel sdcard

dev_mount external_sd /storage/sdcard0 auto /devices/platform/msm_sdcc.4/mmc_host/mmc2

# usb disk

 

dev_mount usbdisk /storage/usbdisk auto /devices/platform/msm_hsusb_host.0

 

注意里面的internal sdcard和 external sdcard,其实要交换一下也很简单,只要将二者的挂载点互换一下就行了,也就是把红色的部分互换一下就行了。关机重启,而后就不会出现SD卡加载不了的状况了。

个人状况是,交换的SD卡后,原先没法挂载的内置SD卡,如今成了外置的SD卡了,并且很好用,没什么问题;并且如今内置的SD卡有4G,比原先(1G)大了不少。

参考:

  1. http://www.cnblogs.com/leaven/archive/2012/03/31/2426859.html
  2. http://www.360doc.com/content/11/0601/11/474846_120905514.shtml
相关文章
相关标签/搜索