开机自动挂载硬盘¶
每次 Linux 系统启动时都会加载 /etc/fstab
及 /etc/mtab
两个配置文件,用于自动挂载硬盘。想要开机自动挂载额外的硬盘,只需在配置文件中加入相关信息。
在开始修改配置文件前,需要注意一些限制条件:
- 根目录
/
是必须挂载的﹐而且一定要先于其它硬盘 - 其它 mount point 必须是已建立的目录,可任意指定,但要遵守系统目录架构原则 (FHS)
- 所有 mount point 在同一时间之内﹐只能挂载一次。
- 所有 partition 在同一时间之内﹐只能挂载一次。
先看一个 /etc/fstab
的例子:
[Linux]$ cat /etc/fstab
# Device Mount point filesystem parameters dump fsck
/dev/mapper/centos-root / xfs defaults 0 0
UUID=94ac5f77-cb8a-495e-a65b-2ef7442b837c /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
文件格式¶
配置文件分为六列, 分别代表六种信息:
[硬件名/UUID等] [挂载点] [文件系统] [文件系统参数] [dump] [fsck]
第一栏:磁盘文件名¶
这个字段可以填写的数据主要有三种:
- 磁盘设备的文件名,如
/dev/sda1
- 磁盘设备的 UUID 名称,如 UUID=xxx
- 磁盘设备的 LABEL 名称,例如 LABEL=xxx
每个文件系统都支持上面三种格式,所以喜欢哪项就填哪项,无所谓的!
第二栏:挂载点¶
挂载文件的目录
第三栏:磁盘分区的格式¶
指定分区的格式,包括 xfs, ext4, vfat, reiserfs, nfs
等。
第四栏:文件系统参数¶
一般使用 defaults 即可,详细信息如下:
参数 | 内容意义 |
---|---|
async/sync | 异步/同步,磁盘是否以异步方式运作,预设为 async |
auto/noauto | 自动/非自动,文件系统是否被主动测试,预设为 auto。 |
rw/ro | 读写/只读,分区以可读写或只读的方式挂载 |
exec/noexec | 可执行/不可执行,默认不设置此参数 |
user/nouser | 允许/不允许挂载,是否允许普通用户 mount 挂载磁盘。一般为 nouser |
suid/nosuid | 具有/不具有 suid,如果不存放执行命令,可以设定为 nosuid |
defaults | 同时具有 rw, suid, dev, exec, auto, nouser, async 等参数 |
第五栏:能否支持 dump 备份¶
dump 是一个用来做为备份的命令,不过现在有太多的备份方案了,所以可以不用理会这个项目,直接输入 0。
第六栏:是否以 fsck 检验扇区¶
早期开机的流程中,会检验本机的文件系统是否完整。 这种方式主要是通过 fsck 来实现,现在的 xfs 文件系统具有自动检验功能,不适用此方法,直接输入 0。
小技巧¶
当编辑 /etc/fstab
配置文件时输入的数据错误,会导致系统无法正常开机。可以进入单人维护模式去重新修改配置文件然后重启。如果 /
目录是 read only 状态无法保存修改,则需要重新挂载并修改权限:
[Linux]# mount -n -o remount,rw /