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,可以确保系统启动时自动挂载所需的文件系统。

相关推荐
深鱼~5 分钟前
VSCode+WSL+cpolar:打造跨平台的随身Linux开发舱
linux·ide·vscode
用户2373903314733 分钟前
“标准 I/O 用 fopen,底层控制用 open; 要 mmap 必 open,跨平台选 fopen。”
linux
深思慎考1 小时前
LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(5——通过cpp-httplib库建立网页模块)
linux·c++·搜索引擎
李小枫2 小时前
在linux上安装kafka,并使用kafka-clients实现消费者
linux·kafka·linq
煤球王子2 小时前
浅学内存分配与释放(二)
linux
dessler2 小时前
Hadoop HDFS-认证(Kerberos) 部署与配置
linux·运维·hdfs
360智汇云2 小时前
k8s共享存储fuse-client三种运行方案对比
java·linux·开发语言
Mr.45674 小时前
Linux&Windows环境下Nacos3.1.0详细安装配置指南:从零到生产就绪
linux·运维·服务器
峰顶听歌的鲸鱼4 小时前
30.Linux DHCP 服务器
linux·运维·服务器·笔记·学习方法