linux系统中fstab 各字段详细说明

在 Ubuntu(和其他 Linux 系统)中,/etc/fstab(File System Table)文件用于定义系统启动时自动挂载的磁盘分区、网络存储和其他文件系统。它的每一行代表一个挂载项,由 6 个字段 组成,用空格或制表符分隔。


/etc/fstab 文件结构

每行格式如下:

复制代码
<设备标识>  <挂载点>  <文件系统类型>  <挂载选项>  <dump备份标志>  <fsck检查顺序>

示例:

复制代码
UUID=123e4567-e89b-12d3-a456-426614174000  /mnt/data  ext4  defaults  0  2

1. <设备标识>(Device Identifier)

指定要挂载的存储设备,可以是:

  • UUID=... (推荐)

    设备的唯一标识符,避免设备名(如 /dev/sda1)因硬件变化而改变。

    获取方式:

    复制代码
    sudo blkid
    复制代码
    UUID=123e4567-e89b-12d3-a456-426614174000
  • /dev/sdXY (如 /dev/sda1

    传统方式,但设备名可能因插拔顺序变化(不推荐)。

  • LABEL=... (分区标签)

    如果分区有标签(如 LABEL="Data"),可以使用:

    复制代码
    LABEL=Data
  • NFS/网络存

    复制代码
    192.168.1.100:/share

2. <挂载点>(Mount Point)

指定文件系统的挂载目录,必须是已存在的路径。

常见挂载点:

  • /(根分区)

  • /home(用户目录)

  • /mnt/data(自定义数据盘)

  • /media/usb(U盘/移动设备)

示例

复制代码
/mnt/data

3. <文件系统类型>(Filesystem Type)

指定分区的文件系统类型,常见的有:

文件系统 说明
ext4 Linux 默认文件系统
xfs 高性能文件系统(适用于大文件)
btrfs 支持快照和压缩
ntfs Windows NTFS(需 ntfs-3g
vfat FAT32(U盘/旧Windows)
swap 交换分区
nfs 网络文件系统
tmpfs 内存临时文件系统

示例

复制代码
ext4

4. <挂载选项>(Mount Options)

控制文件系统的挂载行为,多个选项用逗号分隔(如 defaults,noatime)。

常见选项

选项 说明
defaults 默认选项(rw,suid,dev,exec,auto,nouser,async
rw / ro 可读写 / 只读
noexec 禁止执行该分区的程序
nosuid 禁止 SUID/SGID 权限(提升安全性)
nodev 禁止设备文件(提升安全性)
noatime 不更新访问时间(提升性能)
relatime 优化访问时间更新(平衡性能与兼容性)
nofail 启动时忽略挂载失败(适用于非关键设备)
user 允许普通用户挂载(不安全,慎用)
uid=1000,gid=1000 设置挂载后的所有者(如 NTFS)

示例

复制代码
defaults,noatime,nofail

5. <dump备份标志>(Dump Flag)

控制 dump 备份工具是否备份该文件系统:

  • 0 = 不备份(默认)

  • 1 = 需要备份(通常仅用于根分区 /

示例

复制代码
0

6. <fsck检查顺序>(Filesystem Check Order)

控制 fsck 在启动时检查文件系统的顺序:

  • 0 = 不检查(如 swaptmpfsNFS

  • 1 = 最先检查(通常用于根分区 /

  • 2+ = 按数字顺序检查(其他分区)

示例

复制代码
2

完整示例

1. 普通 ext4 分区

复制代码
UUID=123e4567-e89b-12d3-a456-426614174000  /mnt/data  ext4  defaults,noatime  0  2

2. NTFS 分区(Windows 磁盘)

复制代码
UUID=9012EFAB-CD34-5678-90AB-CDEF12345678  /mnt/ntfs  ntfs-3g  defaults,windows_names,uid=1000,gid=1000  0  0

3. Swap 交换分区

复制代码
UUID=abcdef12-3456-7890-abcd-ef1234567890  none  swap  sw  0  0

4. NFS 网络共享

复制代码
192.168.1.100:/share  /mnt/nfs  nfs  defaults  0  0

5. tmpfs(内存临时文件系统)

复制代码
tmpfs  /tmp  tmpfs  defaults,noexec,nosuid,size=2G  0  0

注意事项

  1. 使用 UUID 而非 /dev/sdX,避免设备名变化导致挂载失败。

  2. 修改前备份 fstab

    bash

    复制代码
    sudo cp /etc/fstab /etc/fstab.bak
  3. 测试配置

    bash

    复制代码
    sudo mount -a

    若无报错,则配置正确。

  4. 如果挂载失败

    • 检查 dmesg | tailjournalctl -xe 查看错误日志。

    • 临时挂载:

      复制代码
      sudo mount /mnt/data

总结

字段 说明 示例
设备标识 UUID/dev/sdXLABEL UUID=123...
挂载点 目标目录 /mnt/data
文件系统 ext4ntfsswap ext4
挂载选项 defaultsnoatime defaults,nofail
dump 标志 0(不备份)或 1(备份) 0
fsck 顺序 0(不检查)、1(优先检查) 2

通过正确配置 /etc/fstab,可以确保系统启动时自动挂载所需的文件系统。

相关推荐
luck_me535 分钟前
k8s v1.26 实战csi-nfs 部署
linux·docker·云原生·容器·kubernetes
不摆烂选手37 分钟前
Linux 阻塞和非阻塞 I/O 简明指南
linux·驱动开发·ubuntu·正点原子imx6ull学习笔记
SweerItTer1 小时前
由镜像源配置错误导致的软件包依赖问题
linux·vscode·ubuntu
kedvellek1 小时前
Linux 内核链表宏的详细解释
linux·运维·链表
chennalC#c.h.JA Ptho2 小时前
lubuntu 系统详解
linux·经验分享·笔记·系统架构·系统安全
冼紫菜2 小时前
解决 CentOS 7 镜像源无法访问的问题
linux·运维·服务器·centos
几道之旅2 小时前
分别在windows和linux上使用curl,有啥区别?
linux·运维·windows
季柳东2 小时前
在虚拟机Ubuntu18.04中安装NS2教程及应用
linux·运维·ubuntu
冼紫菜2 小时前
如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接
linux·开发语言·centos·ssh
oioihoii2 小时前
C++23 views::slide (P2442R1) 深入解析
linux·算法·c++23