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

相关推荐
编码小笨猪4 小时前
浅谈Linux中一次系统调用的执行过程
linux·服务器·c++
早起鸟儿6 小时前
docker-Dockerfile 配置
java·linux·运维·docker
love530love9 小时前
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明
linux·运维·前端·人工智能·windows·后端·nlp
m0_694845579 小时前
日本云服务器租用多少钱合适
linux·运维·服务器·安全·云计算
一心0929 小时前
Linux部署bmc TrueSight 监控agent步骤
linux·运维·服务器·监控·bmc truesight
Florence239 小时前
linux中执行脚本命令的source和“.”和“./”的区别
linux·运维·服务器
白日依山尽yy9 小时前
Linux02
linux·运维·服务器
liulilittle10 小时前
通过高级处理器硬件指令集AES-NI实现AES-256-CFB算法并通过OPENSSL加密验证算法正确性。
linux·服务器·c++·算法·安全·加密·openssl
flypig哗啦啦11 小时前
ubuntu桌面x11异常修复
linux·运维·ubuntu
will_net11 小时前
Linux入门(十六)shell&shell变量&设置环境变量&位置参数变量&预定义变量
linux·运维·chrome