Total Pageviews

Friday, 14 September 2012

Android 系统的SD卡分区图解教程

新入手Android系统的朋友可能都会遇到给SD卡分区的难题,为什么要分区?分区有哪些?分区的方法是什么?这些问题,其实非常简单。现在就给大家一篇详细的Android 系统SD卡分区图解教程。当中可能你的 Recovery 版本过底,没有 Partiton sdcard 这个选项,那需要你升级你的 Recovery 版本,但如何升级 Recovery 不是本教程的主要内容,所以不再详细述说,大家自已找教程吧,或是参考本文。

最近笔记者入手了一部HTC Magic,由于是刚从Symbian系统转到Anderoid系统,还是稍有些不习惯。尤其是相对于Symbian系统来说,Android系统在安装软件的时候只能安装在手机内存,这就给本身内存就不是很大的机器带来了诸多不便。既然有不便宜,那就要想办法解决,在参考了各个Android论坛/网站的教程之后,笔记终于找到了解决的办法,那就是–SD卡分区。

还需要注意的一个问题,那就是由于各个手机进入Recovery的方法差异,本文的进入Recovery方法只适用于HTC Magic,其它手机进入Recovery的方法请搜索以下关键字:“Recovery 品牌 型号 进入方法”。

1、分区的目的和SD卡的三个主要分区

SD卡分区的主要目的是为了将应用程序安装到SD卡,以解决因机器自身的内存不足造成的不便,而且能更好地提升系统的稳定性和运行速度。也就是通常所说的APP2SD。

APP2SD的工作原理:

以4G的SD卡为例,我们可以将4G的卡分成3个分区,FAP32分区作为你正常存储音乐、图片的普通存储分区;Swap分区是系统缓存,越大对系 统运行速度的提升越大,但一般不会超过96MB(因为Swap分区对SD卡的寿命有影响);还有一个Ext4分区,这个分区的作用就是将你安装的软件安装 到SD卡上,不占用手机内存,更好地提升系统稳定性和运行速度。

以Magic为例,目前的民间自制ROM基本都要求SD卡有三个分区才能保证刷ROM成功并工作正常。

这三个分区是:

(1)Fat32主分区:普通的SD卡空间,用于文件存储等;
(2)Ext4主分区:用于APP2SD,即将应用程序安装到SD卡而非手机内存,ROM自动完成;
(3)Swap主分区:用于解决系统内存不足的问题,系统自动调用此分区。

2、有关Linux-Swap分区、SD卡、分区与SD卡损耗的一些信息

micro-SD的储存单元分为两类:SLC(Single Layer Cell,单层单元)和MLC(Multi-Level Cell,多层单元)。SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平 衡技术算法,使得每个存储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。目前的TF卡无写入次数平均分摊管理,导致写入次数为 理论上的1万次。那么建立SWAP分区意味着系统会对这一组单元集中作频繁写入操作,是否会导致TF卡的迅速损坏呢?

我们可以通过修改系统中的/dev/sys/vm/swappiness的值来告诉系统你想交换得多勤快。在Linux里面,swappiness 的值的大小对如何使用Swap分区是有着直接联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是Swap空 间;swappiness=100的时候表示积极的使用Swap分区,并且把内存上的数据及时的搬运到Swap空间里面。两个极端,对于Ubuntu的默 认设置,这个值等于60。所以我们可修改swappiness来控制系统对Swap分区的写入频率。

Linux的Swap分区的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。 那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存 的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
关键词就是虚拟内存。

3、SD卡分区的次序与分区大小

SD卡的三个分区依次为:FAT32主分区、Ext4主分区、Swap主分区。

举例的分区大小:Linux-Swap:96M;Ext4:500M;FAT32:剩下所有SD卡空间。根据提示,一般会先Swap,我大概分256M,然后是Ext分区,我一般是512M,剩下就是FAT32的了。

还有一个细节,使用分区软件进行分区操作的时候,分区大小可能不会正好是上述数值,多多少少,或者出现小数都是没关系的。

4、分区的方法

上面说了那么多的SD卡的相关知识,可能不少机油都不耐烦了,那么下面我们就说说具体的SD卡分区操作。要分区那就需要先进入Recovery(恢复模式,刷机模式),Magic的操作如下:

首先关闭手机,再同时按住HOME键和电源键。这里插一句,进入Recovery之前最好先把USB线连接电脑,为什么要连接在后面会做说明。下面是进入Recovery后的截图:

下面我们通过操作轨迹球选择Partition sdcard这个选项,按下轨迹球确认:

然后进入下面的画面:

选择第一个Partition SD:

接着会出现提示,问你是否要划分TF卡:

按HOME键(也就是小房子键)继续:

这个时候应该出现的是Swap=32MB,按HOME键确定。如果你需要升到Ext4的话,可以通过音量键来调整大小,调整到需要的大小,如果不调 整的话可能升到Ext4的时候,重启会在通知栏出现-53,-70等数字,这个都是因为没有调整造成的。好了,调整好这个,会出现这个界面:

提示问你划分多大的空间作为第二分区,推荐不要超过800M,选好后按HOME键确定,也可以按音量键进行大小的调节。确定后出现下面的界面:

现在你可以按HOME键继续,这个过程中你如果想再调整Swap,可以按除去HOME键以外的键来进行退出操作,然后再按HOME键回到图06的界面再进行修改。按下HOME键确定后,会开始格式化TF卡,格式化完成后会返回到图04。

如果需要把Ext2升级到Ext4的话,在Partition sdcard里面,先选择SD:EXT2 to Ext3,按HOME键,等界面回到图07后再选择SD:Ext3 to Ext4。如果不想要升到Ext4,直接全部按HOME键就可以了。

返回Recovery主菜单,选择WIPE:

再选择第一项,然后同之前一样,一路按HOME键到底(WIPE操作可以不做,不过有可能会发生一些问题,导致无法启动)。

完成上面的操作后,按返回键回到Recovery界面。点击USB-MS toggle,TF卡就会被电脑识别成可移动磁盘。这里要注意2点:

(1)手机在点击了USB-MS toggle后,暂时不要进行任何操作,等待电脑读取到SD卡。
(2)刚开始USB连接电脑是没有读取到SD卡的,但是选择了这个选项后,电脑会读取到SD卡,在读取过程中需要等待30秒左右,这个过程中可以刷新一下“我的电脑”,一定要等到电脑读取到SD卡后,再进行下一步操作。

这也是为什么开始的时候建议把USB连接到电脑,另外这样也可以避免因电池电量不足造成分区失败。

电脑识别到SD卡后,将下载好的ROM(比如axing_3.121.zip)复制进去,复制完后按HOME键返回主菜单。选择Flash zip from sdcard:

找到刚才复制的ROM的名字(比如axing_3.121.zip),按下轨迹球确认,之后再按HOME键开始刷新。等界面回到Recovery界面后,选择Reboot system now:

重启手机,进入系统。等开机后,安装软件试试,是不是可以选择装在SD卡啦?连接电脑后你会发现自己的SD卡少了500MB左右的内存,那么恭喜你,你分区成功了哦!

友情提醒:分区后SD卡的东西会消失,注意备份。这里建议把UC浏览器、QQ等一些常用的软件安装在内置储存,不然你的SD卡取出后再装上去需要读取时间,会造成一些不便。

好的,这个SD卡分区教程就说到这,对于新入手安卓机的机油建议多看教程,熟悉系统,希望这个教程可以帮助到大家,本人对原文进行了一些修改,如有错的地方和事先注意的地方。

本文原文: http://www.dospy.com/judge/newbie/android/2010-12-28/571.html