/etc/fstab
文件的作用是让其它程序确定存储设备的默认挂载点、挂载参数和检查信息(例如完整性检测)。仿照以下格式新建一个文件系统列表(file
system table,简称 fstab)文件:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<xxx>
/ <fff>
defaults 1 1
/dev/<yyy>
swap swap pri=1 0 0
# End /etc/fstab
EOF
其中,<xxx>
,<yyy>
和 <fff>
请使用适当的值替换。例如 sda2
,sda5
和
ext4
。关于文件中六个字段的含义,请查看 man 5 fstab(译者注:fsck
列的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为
2。0 表示设备不会被 fsck 所检查)。
基于 MS-DOS 或者是来源于 Windows
的文件系统(例如:vfat,ntfs,smbfs,cifs,iso9660,udf)需要在挂载选项中添加「iocharset」,才能让非
ASCII
字符的文件名正确解析。此选项的值应该与语言区域设置的值相同,以便让内核能正确处理。此选项在相关字符集定义已为内核内建或是编译为模块时生效(在文件系统
-> 本地语言支持中查看)。此外,vfat 和 smbfs 还需启用「codepage」支持。例如,想要挂载 USB
闪存设备,zh-CN.GBK 用户需要在 /etc/fstab
中添加以下的挂载选项:
noauto,user,quiet,showexec,iocharset=gbk,codepage=936
对于 zh_CN.UTF-8 用户的对应选项是:
noauto,user,quiet,showexec,iocharset=utf8,codepage=936
需要注意的是,iocharset
默认值是 iso8859-1
(其保证文件系统大小写敏感),而 utf8
这个参数告知内核使用 UTF-8 转换文件名,以便可以在 UTF-8 语言环境中解释它们。
此外,还有可能在内核的配置过程中就指定一些文件系统的默认代码页和 iocharset 值。相关参数有「默认 NLS 选项
」(CONFIG_NLS_DEFAULT
),「默认远程 NLS
选项」(CONFIG_SMB_NLS_DEFAULT
),「FAT
默认代码页」(CONFIG_FAT_DEFAULT_CODEPAGE
),和「FAT
默认 IO 字符集」(CONFIG_FAT_DEFAULT_IOCHARSET
)。不过,无法在内核编译阶段指定 ntfs
文件系统的设置。
另外,一些硬盘类型在遇到电源故障时,假如在 /etc/fstab
中使用
barrier=1
这个挂载选项,则会让 ext3
文件系统的数据更加安全。如需检查磁盘是否支持此选项,请运行 hdparm。例如:
hdparm -I /dev/sda | grep NCQ
如果有输出内容,则代表选项可用。
注意:基于 逻辑卷管理(LVM)的分区不可使用 barrier
选项。