转载:
https://segmentfault.com/q/1010000000364959
http://bbs.pceva.com.cn/thread-73199-1-1.html
sudo fdisk -lu
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 125042687 62417920 7 HPFS/NTFS/exFAT
其中的Start值能被8整除既是4K对齐,例如 2048 = 8 × 256, 206848 = 8 × 25856。
其实现在新的操作系统默认都是4k对齐的。
上次我玩Ubuntu发帖子后,看到有坛友提到对Trim是否支持的问题,这2天有点时间,所以就去查了下资料,目前可以确定内核版本为2.6.33及更新的Linux,只要使用EXT4分区格式,是完全可以支持系统自动Trim功能的,具体的开启及验证方法,请大家慢慢看下去吧。
先说一下我现在的平台配置:
CPU:AMD Phenom II X4 955 BE(OC 4GHz)
主板:Gigabyte GA-890GPA-UD3H v1.0
内存:Crucial BLT4G3D1869DT2TXOB(4GB x 2)
SSD:Plextor(浦科特) M3P 128GB
显卡:HIS HD 4870 IceQ 4+ Turbo 1GB
这里我还是用Ubuntu 12.10来演示,安装好系统进入桌面后,运行命令行工具。Ubuntu就是UXTerm了。
备份完毕我们就可以去修改fstab文件了,由于fstab是系统文件,如果直接在图形界面打开,是不允许编辑,因此我们需要用授权模式打开文件,在命令行界面输入以下命令:
- gksudo gedit /etc/fstab
复制代码
要开启自动Trim功能,我们需要在options一项的内容上添加对应的参数,EXT4分区需要添加的参数为:discard
新添加的参数跟原来的参数要加半角“,”来区分开,正确添加参数后如下图所示:
进入目录后,我们新建一个名为tempfil的临时文件,输入命令:
- sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
复制代码
回车后同样需要输入授权密码,正确输入密码后,看到如下图的显示则表示文件已经创建成功。
这里我顺道打开home目录给大家看一下,tempfile这个测试文件就被创建在这里。
然后我们还需要确认SSD的标识符,运行磁盘工具就能看到,如下图,我的M3P标识符为sde。
我们再输入以下2个命令以删除测试文件并要求系统同步向硬盘发出删除指令:
- sudo rm tempfile
- sync
复制代码
执行命令后,如下图,看到测试文件已经被删除了。
到此为止,我已经正常在Ubuntu 12.10内为我M3P的EXT4分区开启了自动Trim。
这里可能有人会问,如果是其它分区格式呢?若误修改fstab导致无法进入系统,要怎么恢复?
这两个问题,我在后面的帖子会接着给大家答案。先让我休息下吧,折腾次Linux不容易,谁叫我手上就只有1个SSD和1台电脑呢。
那看来我的是没有对齐 sda2 计算出来有小数
keroppi · 2013年12月19日