开机自动挂载硬盘

每次 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 /