/etc/fstab 是 Linux 系统启动时自动挂载文件系统的配置表。它的全称是 File Systems Table,系统在启动时会参考它来自动执行 mount 操作。
今天分享一下系统自动挂载文件:/etc/fstab。
应该很多人遇到过下面这种情况。

进不去系统了,大概率可能是两种原因:第一是文件系统损坏了,第二种是/etc/fstab文件没配置好,导致系统自动挂载时失败。
接下来就详细介绍一下。
一、/etc/fstab简介
/etc/fstab是 Linux 系统启动时自动挂载文件系统的配置表。它的全称是File Systems Table,系统在启动时会参考它来自动执行mount操作。
在生产环境中,fstab影响着:
系统能否成功启动(挂载失败会进入 emergency 模式)分区是否以正确方式挂载(只读?缓存策略?用户挂载?)是否自动挂载 swap、RAID、NFS 等资源性能和安全策略的预设(如noatime、nosuid)二、/etc/fstab内容详解
格式如下,每行一个挂载配置,共六个字段:
<设备> <挂载点> <文件系统类型> <挂载选项>

第1列:设备
可以是:
/dev/sdX:传统设备名,不稳定【容易留坑】UUID=xxxx:推荐,唯一标识设备【推荐使用】LABEL=label:标签,更易识别【我很少用】网络路径:如10.0.0.110:/data/nfs/share【NFS挂载常用】查 UUID:
blkid
更改标签:
e2label /dev/sdb1 DATA_DISK
第2列:挂载点
挂载点必须存在,没有的话需要提前创建目录,否则系统启动会失败,这个根据需求自定义就行。
创建目录:
# 多级目录就加`-p`,表示递归创建mkdir /data
第3列:文件系统类型
常见类型:
使用lsblk -f查看类型。
第4列 挂载选项
这是重中之重,常见选项如下:
我大多数情况只用defaults选项。
性能建议:
对于大多数数据盘,推荐:defaults,noatime,nodiratime对于 SSD:
defaults,noatime,discard
第5列:dump
是否启用dump命令进行备份,大多数情况设为 0,1就是启用。
第6列:fsck 顺序
控制开机时的文件系统检查顺序:
0:不检查1:通常是根分区/2:其它分区(如/home、/data)切记不要多个设置为 1,否则引发 fsck 混乱!
三、注意事项
配置完 fstab 后,永远不要直接 reboot!
先执行:
mount -a
它会按/etc/fstab模拟一次挂载,能否成功挂载全凭这条命令的反馈。如果这里挂载有问题,就会出现我开始放那个截图一样,会让你进入紧急模式。
四、系统挂载失败的应急方案
要是上面一个步骤你修改完/etc/fstab,没有检查并且配置错误,还reboot了服务器,大概率进去下面的界面

怎么办,也很简单,直接输入密码后,将/etc/fstab文件配置修改正确就行,也是执行mount -a没问题后重启。
五、运维实战用法
1. 自动挂载 NFS 文件系统
192.168.1.100:/data /mnt/nfs nfs defaults,_netdev 0 0
_netdev确保网络就绪后挂载,防止开机挂载失败
2. 使用UUID挂载
比如你新增一个/dev/sdb,你需要先找出/dev/sdb的UUID,然后第一列就使用UUID,不要使用设备名称
blkid /dev/sdb
3. tmpfs 内存盘
这个主要用于加速临时目录读写,不过我比较少用
tmpfs /mnt/tmpfs tmpfs defaults,size=512M 0 0
适用于缓存、构建临时文件存储等。
4. 挂载 ISO 镜像
# 第一列iso路径根据实际来填写。/mnt/image.iso /mnt/iso iso9660 loop 0 0
再次强调,配置完要记得mount -a检查一下。
