看你对/etc/fstab文件了解多少?
                                                                         (发表
   /etc/fstab是用来存放文件系统的静态信息的文件。
    当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
   在这个文件下,我们要关注的是它的六个域,分别为:
<file system><mount point><type> <options><dump><pass>。下面将详细介绍这六个域的详细意义。
   1<fie sysytem>。这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。做过嵌入式linux开发的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/
   如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1/dev/hda2/dev/cdrom,其中,/dev/sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。
   此外,还可以label(卷标)UUIDUniversally Unique Identifier全局唯一标识符)来表示。用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2 <type>   <options> <dump> <pass>。重启后,系统就会将/dir_1挂载到/dir_2目录上。对于UUID,可以用vol_id -u /dev/sdax来获取。比如我想挂载第一块硬盘的第一个分区,先用命令vol_id -u /dev/sda11 来取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>这个域上填写: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11Red Hat linux 一般会使用label,而Ubuntu linux 一般会用UUID
2<mount point>。挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。
3<type>。这里用来指定文件系统的类型。下面的文件系统都是目前Linux所能支持的:adfsbefscifsext3 ext2extiso9660kafsminixmsdosvfatumsdosprocreiserfsswap squashfsnfshpfsncpfsntfsaffsufs
4<options>。这里用来填写设置选项,各个选项用逗号隔开。由于选项非常多,而这里篇幅有限,所以不再作详细介绍,如需了解,请用 命令 man mount 来查看。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser async
5<dump>。此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0
6<pass>。这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字 的同时检查。比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个 分区。
 
 
参考文献:
 
/etc/fstab文件详解
fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

1.
第一项是您想要mount的储存装置的实际位置,如hdb或如上例的/dev/hda7

2.
第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。

3.
第三项就是所谓的local filesystem,其包含了以下格式:如extext2msdosiso9660nfsswap等,或如上例的ext2,可以参见/prco/filesystems说明。

4.
第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rwsuidexecautonouserasync),可以参见「mount nfs」。

5.
第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0

6.
第六项是设定此filesystem是否要在开机时做check的动作,除了rootfilesystem其必要的check1之外,其它皆可视需要设定,内定值是0

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda11 swap swap defaults 0 0
/dev/hda5 /mnt/d vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda6 /mnt/e vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda7 /mnt/f vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0
/dev/hda8 /mnt/g vfat suid,exec,dev,rw,iocharset=gb2312,umask=0 0 0


其中iocharset可以设置成utf8
umask=0
,任何用户都可以读windows的分区

Linux
下的fstab文件
1. fstab
文件的作用
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsckmountumount的等命令都利用该程序。

2. fstab
文件格式
下面是/etc/fatab文件的一个示例行:
fs_spec  fs_file fs_vfstype  fs_mntops  fs_freq  fs_passno
/dev/hda1 / ext2 defaults 1 1

fs_spec -
该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXNXIDE设备通道 (a, b, or c)N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。

fs_file -
该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_vfstype -
定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)vfat(Windows系统的fat32格式)NTFSiso9600等。

codepage
国家语言代码页

iocharset
字符集

fs_mntops -
指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
选项 含义
ro
以只读模式加载该文件系统
sync
不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是 却降低了计算机速度
user
允许普通用户加载该文件系统
quota
强制在该文件系统上进行磁盘定额限制
noauto
不再使用mount a命令(例如系统启动时)加载该文件系统

fs_freq -
该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_passno -
该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0


3.
示例文件
# /etc/fstab
/dev/hda8 swap swap defaults 0 0
/dev/hda9 / ext2 defaults 1 1
/dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hdb /cdrom iso9660 noauto,user 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

格式化常用mkfs命令:如 mkfs.ext3mkfs.msdosmkfs.vfat,例如:mkfs.ext3 /dev/hdb1,详细说明使用man mkfs