fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:
1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。
2. 第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。
3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。
4. 第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。指明自检顺序 (0 为不自检,1 或者 2 为要自检, 如果是根分区要设为1,其他分区只能是2)
------------------------------------------------------------------------------------------------------------------------
作者:孙晓明,华清远见嵌入式学院讲师。
我们在linux系统里面的/etc/目录下有一个fstab文件,那这个文件的作用是什么呢?
其实这个文件里面存放的是系统中的文件系统信息。当正确的设置了该文件,我们就可以通过mount /任意目录 命令来加载一个文件系统,比如说我们新添加了一块硬盘分区,那么我们就可以加入如下命令:
/dev/sdb1 /mnt/mydisk ext2 default 0 0
那如果我们使用USB设备的话,可以加上下面一行:
usbfs /proc/bus/usb usbfs defaults 0 0
但是上边USB的例子只有在你把相关的支持编译到内核中时才能工作。
现在我们在说说上面那些参数的意思。
在/etc/fstab里面的注释是这样的:
<file system> <mount point> <type> <options> <dump> <pass>
file system 也就是我们要挂在的源
mount point 就是我们要挂在到哪个目录
type 是挂在系统的类型,比如vfat,ext3,tmpfs,sysfs等等。
options 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括:
选项 含义
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
dump
在 Linux 当中,可以利用 dump 这个指令来进行系统的备份的。而 dump 指令则会针对 /etc/fstab 的设定值,去选择是否要将该 partition 进行备份的动作呢! 0 代表不要做 dump 备份, 1 代表要进行 dump 的动作。 2 也代表要做 dump 备份动作, 不过,该 partition 重要度比 1 小。
pass
开机的过程中,系统预设会以 fsck 检验我们的 partition 内的 filesystem 是否完整 (clean)。 不过,某些 filesystem 是不需要检验的,例如虚拟内存 swap ,或者是特殊档案系统, 例如 /proc 与 /sys 等等。所以,在这个字段中,我们可以设定是否要以 fsck 检验该 filesystem 喔。 0 是不要检验, 1 是要检验, 2 也是要检验,不过 1 会比较早被检验啦! 一般来说,根目录设定为 1 ,其它的要检验的 filesystem 都设定为 2 就好了。