/etc/fstab
文件的作用是让其它程序确定存储设备的默认挂载点、挂载参数和检查信息(例如完整性检测)。仿照以下格式新建一个 file system table(fstab)文件:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# 文件系统 挂载点 文件类型 挂载选项 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
在后一种情况下,内核将会输出以下的信息:
FAT: utf8 is not a recommended IO charset for FAT filesystems,
filesystem will be case sensitive! (FAT: 对于 FAT 文件系统而言并不推荐将 utf8 作为 IO 字符集参数,需要小心文件系统出错!)
此提示信息其实是错误的,忽略它就好,因为在 UTF-8 模式下, “iocharset” 的任何其它选项都会导致错误的文件名显示。
此外,还有可能在内核的配置过程中就指定一些文件系统的默认代码页和 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
如果有输出内容,则代表选项可用。
注意:基于 Logical Volume Management (LVM) 的分区不可使用 barrier
选项。