在Linux里,如果一个文件系统被mount过一定次数后,或者距离上次fsck超过一定天数,当系统重起时就会自动fsck。根据文件系统的大小,fsck可能需要几分钟甚至几个小时。
隔一段时间作一次fsck是很有必要的,但是如果你不想花费时间fsck,你也可以用如下几种方法跳过fsck:
1. 修改/etc/fstab
在/etc/fstab里, 最后一列是系统启动时fsck的顺序。 文件系统 / 应该设置为 1, 其他的应该为 2.
如果我们想跳过某个文件系统的fsck, 我们可以把最后一列设为0.
$ grep nofsck /etc/fstab
/dev/sda2 /mnt/nofsck ext4 defaults 0 0
2. 用 tune2fs 来改变文件系统的属性
显示当前的属性:
$ tune2fs /dev/sda2 | egrep -i 'mount count|check'
Mount count: 1
Maximum mount
count: 21
Last
checked: Sat Mar 24 16:15:33 2012
Check
interval: 15552000 (6 months)
Next check
after: Thu Sep 20 16:15:33 2012
从上面的输出可以看出, 如果/dev/sda2 mount的次数超过21,或者系统重起是在Sep 20 16:15:33
2012之后,那么重起时,系统就会对/dev/sda2进行fsck。要跳过fsck,我们可以这样:
$ tune2fs -c 0 -i 0 /dev/sda2
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds.
现在再来看/dev/sda2的设置:
$ tune2fs /dev/sda2 | egrep -i 'mount count|check'
Mount count: 1
Maximum mount
count: -1
Last
checked: Sat Mar 24 16:15:33 2012
Check
interval: 0 ()
3. 除了以上方法,我们重起时还可以加参数告诉系统跳过fsck
$ /sbin/shutdown -rf now
有了 "-f" 系统重起时就会跳过所有的文件系统的fsck.
跟fstab和tune2fs不同的是,另外两种方法都是永久有效,这个方法只对当前的重起有效。