Linux /etc/fstab文件详解:自动挂载配置指南(中英双语)

Linux /etc/fstab 文件详解:自动挂载配置指南

在 Linux 系统中,/etc/fstabFile System Table)是一个至关重要的配置文件,它用于定义系统开机时自动挂载的文件系统。如果你想让磁盘分区、远程存储(如 NFS)、ISO 镜像等在系统启动时自动挂载,那么 fstab 就是你需要了解的核心文件。

本文将详细介绍 /etc/fstab 文件的作用、结构、如何正确编辑它,以及一些高级用法,帮助你更好地管理 Linux 的存储挂载。


1. /etc/fstab 文件的作用

fstab 文件主要负责自动挂载 Linux 文件系统,它的作用包括:

  • 开机自动挂载磁盘(如 ext4xfsntfs 等文件系统)
  • 挂载远程存储(如 NFSCIFS 网络共享)
  • 挂载 ISO 镜像文件
  • 管理交换分区(Swap)
  • 定义挂载选项(如只读 ro,可读写 rw

当系统启动时,mount -a 命令会自动解析 /etc/fstab 文件,按照其中的配置挂载所有指定的设备。


2. /etc/fstab 文件结构

fstab 文件的格式由 6 列组成,每一行代表一个需要挂载的文件系统或设备:

<设备>  <挂载点>  <文件系统类型>  <挂载选项>  <dump 备份>  <fsck 启动检查>

示例 /etc/fstab 配置

UUID=123e4567-e89b-12d3-a456-426655440000 /               ext4    defaults        0 1
UUID=123e4567-e89b-12d3-a456-426655440001 /home           xfs     defaults        0 2
UUID=123e4567-e89b-12d3-a456-426655440002 /data           ext4    defaults,nofail 0 2
/dev/sdb1           /mnt/storage     ntfs    defaults,umask=022  0 0
192.168.1.100:/nfs  /mnt/nfs         nfs     defaults        0 0
/dev/cdrom          /mnt/cdrom       iso9660 defaults        0 0
/dev/sda2           none             swap    sw              0 0

3. /etc/fstab 每一列详解

3.1 第一列:设备(Device)

表示要挂载的设备或分区,可以是:

  • 设备路径:/dev/sda1(传统方式,不推荐)
  • UUID(推荐方式)
    blkid /dev/sda1
    
    示例输出
    /dev/sda1: UUID="123e4567-e89b-12d3-a456-426655440000" TYPE="ext4"
    
    使用 UUID 方式挂载(防止设备名变化导致挂载失败):
    UUID=123e4567-e89b-12d3-a456-426655440000
    
  • LABEL(磁盘标签):
    e2label /dev/sda1 mydisk
    
    然后在 fstab 使用:
    LABEL=mydisk
    

3.2 第二列:挂载点(Mount Point)

指定该设备或分区应挂载到的目录,例如:

  • /(根目录)
  • /home(用户目录)
  • /mnt/data(自定义数据目录)
  • none(如果是 swap 交换分区)

3.3 第三列:文件系统类型(File System Type)

常见的文件系统类型:

文件系统说明
ext4Linux 默认文件系统
xfs高性能文件系统
ntfsWindows 文件系统(需 ntfs-3g 支持)
vfatFAT32/exFAT 兼容文件系统
nfs网络文件系统(Network File System)
cifsWindows SMB/CIFS 共享文件系统
iso9660CD/DVD ISO 文件系统
swap交换分区

3.4 第四列:挂载选项(Mount Options)

用于指定挂载方式,多个选项用 , 分隔。

常见选项:

选项作用
defaults读写模式 (rw)、支持 suid/dev/exec/auto/nouser/async
ro只读挂载
rw读写挂载
noexec禁止执行可执行文件
nosuid禁止 SUIDSGID
nodev禁止创建设备文件
nouser只有 root 可以挂载
nofail设备不存在时不报错
umask=022设置 NTFSvfat 的文件权限

示例:

UUID=123e4567-e89b-12d3-a456-426655440001 /mnt/ntfs ntfs defaults,umask=022 0 0

3.5 第五列:备份选项(Dump)

用于 dump 备份工具:

  • 0(不备份)
  • 1(根分区备份)
  • 2(其他分区备份)

通常设为 0


3.6 第六列:文件系统检查(Fsck Order)

用于 fsck 文件系统检查:

  • 0(不检查)
  • 1(系统根分区,优先检查)
  • 2(其他分区,按顺序检查)

示例:

/dev/sda1 / ext4 defaults 0 1
/dev/sdb1 /home xfs defaults 0 2

4. 如何正确修改 /etc/fstab

4.1 编辑 /etc/fstab

使用 vimnano 打开 /etc/fstab

sudo nano /etc/fstab

添加新磁盘挂载,例如:

UUID=123e4567-e89b-12d3-a456-426655440002 /mnt/data ext4 defaults 0 2

保存并退出: Ctrl + X,然后按 Y 以确认修改。


4.2 测试 fstab 配置

在修改 fstab 之后,不要直接重启系统,以免因配置错误导致系统无法启动。可以先测试:

sudo mount -a

如果没有错误,则说明 fstab 配置正确。


4.3 重新挂载某个分区

sudo mount -o remount,rw /mnt/data

5. /etc/fstab 的高级用法

5.1 自动挂载远程 NFS 共享

192.168.1.100:/shared /mnt/nfs nfs defaults 0 0

5.2 挂载 Windows 共享(CIFS)

//192.168.1.200/shared /mnt/smb cifs username=user,password=pass 0 0

5.3 只读挂载 ISO 镜像

/path/to/file.iso /mnt/iso iso9660 loop,ro 0 0

6. 结论

/etc/fstab 是 Linux 挂载管理的核心文件,它允许用户定义 磁盘、远程存储、交换分区 等的自动挂载规则。理解 fstab 的格式和选项,不仅能提高磁盘管理的效率,还能避免不必要的手动挂载操作。

希望这篇文章能帮助你更好地理解 /etc/fstab,提升 Linux 磁盘管理技能!🚀

Complete Guide to /etc/fstab in Linux: Automatic Mounting Configuration

In Linux, the /etc/fstab (File System Table) is a crucial configuration file that defines which file systems should be automatically mounted at system startup. If you want partitions, remote storage (such as NFS), ISO images, or swap space to be automatically available when the system boots, /etc/fstab is the file you need to configure.

This article provides an in-depth guide on the purpose of /etc/fstab, its structure, how to edit it correctly, and advanced use cases for managing storage devices efficiently.


1. What is /etc/fstab Used For?

The /etc/fstab file controls automatic mounting of file systems in Linux. Its key functions include:

  • Auto-mounting disk partitions (ext4, xfs, ntfs, etc.)
  • Mounting remote storage (such as NFS or CIFS network shares)
  • Mounting ISO images
  • Managing swap partitions
  • Defining mount options (e.g., read-only ro, read-write rw)

At system startup, the mount -a command reads the /etc/fstab file and mounts all configured file systems.


2. Structure of /etc/fstab

Each line in /etc/fstab follows this format:

<device>  <mount point>  <file system type>  <mount options>  <dump>  <fsck order>

Example /etc/fstab Configuration

UUID=123e4567-e89b-12d3-a456-426655440000 /               ext4    defaults        0 1
UUID=123e4567-e89b-12d3-a456-426655440001 /home           xfs     defaults        0 2
UUID=123e4567-e89b-12d3-a456-426655440002 /data           ext4    defaults,nofail 0 2
/dev/sdb1           /mnt/storage     ntfs    defaults,umask=022  0 0
192.168.1.100:/nfs  /mnt/nfs         nfs     defaults        0 0
/dev/cdrom          /mnt/cdrom       iso9660 defaults        0 0
/dev/sda2           none             swap    sw              0 0

3. Breakdown of /etc/fstab Columns

3.1 Column 1: Device (Device Name or UUID)

This specifies the device or partition to be mounted. It can be:

  • Device path (not recommended):
    /dev/sda1
    
  • UUID (recommended): Prevents mounting issues when device names change.
    blkid /dev/sda1
    
    Example output:
    /dev/sda1: UUID="123e4567-e89b-12d3-a456-426655440000" TYPE="ext4"
    
    Using UUID in /etc/fstab:
    UUID=123e4567-e89b-12d3-a456-426655440000
    
  • Label (alternative method):
    e2label /dev/sda1 mydisk
    
    Then, use in /etc/fstab:
    LABEL=mydisk
    

3.2 Column 2: Mount Point

Specifies where the file system should be mounted. Examples:

  • / (root directory)
  • /home (user home directories)
  • /mnt/data (custom data storage)
  • none (for swap partitions)

3.3 Column 3: File System Type

Defines the type of file system being mounted.

File SystemDescription
ext4Default Linux file system
xfsHigh-performance file system
ntfsWindows file system (requires ntfs-3g)
vfatFAT32/exFAT-compatible file system
nfsNetwork file system (for shared directories)
cifsWindows SMB/CIFS file sharing
iso9660CD/DVD ISO file system
swapLinux swap partition

3.4 Column 4: Mount Options

Defines how the file system should be mounted. Multiple options are separated by commas.

OptionDescription
defaultsRead/write (rw), supports suid/dev/exec/auto/nouser/async
roMount as read-only
rwMount as read-write
noexecPrevent execution of binaries
nosuidIgnore SUID and SGID bits
nodevPrevent creation of device files
nouserOnly root can mount the file system
nofailDo not throw an error if the device is missing
umask=022Set permissions for NTFS or vfat

Example:

UUID=123e4567-e89b-12d3-a456-426655440001 /mnt/ntfs ntfs defaults,umask=022 0 0

3.5 Column 5: Dump Backup Option

Used by the dump utility for backups:

  • 0 = No backup (default)
  • 1 = Backup root partition
  • 2 = Backup other partitions

3.6 Column 6: Filesystem Check Order (fsck)

Used by fsck (filesystem check):

  • 0 = No check
  • 1 = Check the root partition first
  • 2 = Check other partitions in order

Example:

/dev/sda1 / ext4 defaults 0 1
/dev/sdb1 /home xfs defaults 0 2

4. How to Modify /etc/fstab Correctly

4.1 Editing /etc/fstab

Use vim or nano to open /etc/fstab:

sudo nano /etc/fstab

Example entry for a new disk:

UUID=123e4567-e89b-12d3-a456-426655440002 /mnt/data ext4 defaults 0 2

Save and exit (Ctrl + X, then Y).


4.2 Test /etc/fstab Before Rebooting

To avoid boot failures, test the changes first:

sudo mount -a

If no errors appear, the /etc/fstab configuration is valid.


4.3 Remount a Specific Partition

sudo mount -o remount,rw /mnt/data

5. Advanced Uses of /etc/fstab

5.1 Auto-mounting Remote NFS Shares

192.168.1.100:/shared /mnt/nfs nfs defaults 0 0

5.2 Mounting Windows Shares (CIFS)

//192.168.1.200/shared /mnt/smb cifs username=user,password=pass 0 0

5.3 Mounting an ISO Image as Read-Only

/path/to/file.iso /mnt/iso iso9660 loop,ro 0 0

6. Conclusion

/etc/fstab is the core file for managing file system mounts in Linux, allowing users to define automatic mounting rules for local disks, network storage, swap partitions, and ISO images.

Key Takeaways:

  • Use UUID instead of device paths (/dev/sdX) to prevent issues.
  • Always test changes with mount -a before rebooting.
  • Use proper mount options (e.g., defaults, nofail, rw).
  • Swap partitions should use swap sw 0 0.
  • NFS/CIFS shares can be auto-mounted for seamless access.

By mastering /etc/fstab, you can simplify storage management and enhance system reliability. 🚀

后记

2025年2月22日21点37分于上海。在GPT4o大模型辅助下完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22384.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32-S3 实战指南:BOOT-KEY 按键驱动开发全解析

一、基础知识 本篇我们使用 BOOT 按键来学习一下 GPIO 功能&#xff0c;首先补充一下相关术语介绍。 1、GPIO&#xff08;General Purpose Input/Output&#xff09; GPIO 是微控制器上的通用引脚&#xff0c;既可以作为输入&#xff08;读取外部信号&#xff09;&#xff0…

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改&#xff0c;目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本&#xff0c;virtualbox对于这个5.x.xx版本早已停止维护&#xff0c;所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…

常用电脑,护眼软件推荐 f.lux 3400K | 撰写论文 paper

常用电脑&#xff1f;平均每天用 5 个小时&#xff1f;你就要考虑用一个护眼软件了&#xff0c;对皮肤也好。因为电脑屏幕有辐射&#xff0c;比如蓝光。 f.lux 作为一款专业护眼软件&#xff0c;值得使用。之前用了三年的 Iris Pro&#xff0c;现在 f.lux 做的更好了。 使用…

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键&#xff0c;主要涉及到两个方面&#xff1a;确保 F1 键作为标准功能键工作 和 在 Snipaste 中设置 F1 为快捷键。 因为 Mac 默认情况下&#xff0c;F1-F12 键通常用作控制屏幕亮度、音量等系统功能的快捷键…

开源一款I2C电机驱动扩展板-FreakStudio多米诺系列

总线直流电机扩展板 原文链接&#xff1a; FreakStudio的博客 摘要 设计了一个I2C电机驱动板&#xff0c;通过I2C接口控制多个电机的转速和方向&#xff0c;支持刹车和减速功能。可连接16个扩展板&#xff0c;具有PWM输出、过流过热保护和可更换电机驱动芯片。支持按键控制…

Spring Security+JWT+Redis实现项目级前后端分离认证授权

1. 整体概述 权限管理包括用户身份认证和授权两部分&#xff0c;简称认证授权。对于需要访问控制到资源&#xff0c;用户首先经过身份认证&#xff0c;认证通过后用户具有该资源的访问权限方可访问。 1.1 认证概述 认证是确认用户身份的过程&#xff0c;确保用户是谁。 1.1.1 …

数据结构系列三:List+顺序表+ArrayList

数据结构系列三 一、List&#xff08;1&#xff09;什么是List&#xff08;2&#xff09;常见接口介绍&#xff08;3&#xff09;List的使用 二、顺序表与ArrayList&#xff08;1&#xff09;线性表&#xff08;2&#xff09;顺序表&#xff08;3&#xff09;顺序表常用方法的模…

全局变量,局部变量

在main函数中又定义一遍全局变量&#xff1a;会导致程序出错 因为在函数中调用这个全局变量时&#xff0c;调用的值是在头文件下面的初始值&#xff0c;虽然你在main函数中改变了变量的值&#xff0c;但是你在main函数中重新定义了 如果这样写会过50%的数据&#xff0c;因为在…

Unity贴图与模型相关知识

一、贴图 1.贴图的类型与形状 贴图类型 贴图形状 2.在Unity中可使用一张普通贴图来生成对应的法线贴图&#xff08;但并不规范&#xff09; 复制一张该贴图将复制后的贴图类型改为Normal Map 3.贴图的sRGB与Alpha sRGB&#xff1a;勾选此选项代表此贴图存储于Gamma空间中…

互联网搜索、联网搜索 API 的探索与公开接口、大模型联网搜索接口、全网搜索接口

互联网搜索、联网搜索 API 的探索与公开接口、大模型联网搜索接口、全网搜索接口 关键词&#xff1a;互联网搜索、API 接口、实时数据、大模型联网、智能问答、数据采集、技术实践、成本优势、市场对比 概述 在当前大模型及人工智能技术迅速发展的背景下&#xff0c;如何让离…

牛客练习赛134 —— B题 python 补题 + 题解

牛客练习赛134 B 题目描述 示例输入&#xff1a; 1 5 1 2 4 5 6 2 5 4 6 9示例输出&#xff1a; 32解题思路&#xff1a; 题目大意 给定一个2行n列的矩阵&#xff0c;允许交换两列一次&#xff0c;从左上角(1,1)走到右下角(2,n)&#xff0c;每一步只能向右或向下移动&#x…

电脑开机一段时间就断网,只有重启才能恢复网络(就算插网线都不行),本篇文章直接解决,不要再看别人的垃圾方法啦

下面的是我解决问题的心路历程&#xff0c;不想看的可以直接跳到解决方法上面&#xff01; 内心思路&#xff1a; w11电脑更新过系统后&#xff0c;我的电脑是常年不关机的&#xff0c;但是一天突然断网&#xff0c;试了很多方法都连不上&#xff0c;重启电脑就会好&#xff0…

Ubuntu部署ktransformers

准备工作 一台服务器 CPU&#xff1a;500G GPU&#xff1a;48G&#xff08;NVIDIA4090&#xff09; 系统&#xff1a;Ubuntu20.04&#xff08;github的文档好像用的是22.04&#xff09; 第一步&#xff1a;下载权重文件 1.下载hfd wget https://hf-mirror.com/hfd/hfd.s…

【Elasticsearch】同一台服务器部署集群

【Elasticsearch】同一台服务器部署集群 1. 同一台服务器搭建ES集群2. 配置不同的node节点3. ES集群中安装IK分词器4. 启动es集群5. Kibana访问集群6. es-head7. 集群中创建索引7.1 什么是分片以及分片的好处7.2 副本&#xff08;Replication&#xff09;7.3 通过es-head创建索…

1-1 VS Code+Keil5+STM32CubeMX开发环境搭建

1.0 卸载相关程序 使用这个方式安装工具&#xff0c;先将原先下载安装的软件去掉&#xff0c;然后再安装新的软件&#xff0c;这个卸载过程需要将原来的工具干净的卸载掉&#xff0c;使用专门的卸载工具&#xff0c;将注册表等文件也全部删除掉。 对于STM32CubeMX还要删除&…

C# 从基础神经元到实现在0~9数字识别

训练图片:mnist160 测试结果:1000次训练学习率为0.1时,准确率在60%以上 学习的图片越多&#xff0c;训练的时候越长(比如把 epochs*10 10000或更高时)效果越好 using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Windo…

【算法与数据结构】单调队列

目录 单调队列 使用单调队列维护滑动窗口 具体过程&#xff1a; 代码实现&#xff1a; 复杂度分析&#xff1a; 使用单调队列优化动态规划 例题 单调队列 单调队列(deque)是一种特殊的队列&#xff0c;队列中的元素始终按严格递增或者递减排列。这样就可以保证队头元素…

矩阵的扩展运算(MATLAB和pytorch实例)

秩&#xff08;Rank&#xff09;的定义 秩的计算 初等行变换法&#xff08;最常用&#xff09;行列式法&#xff08;仅适用于方阵&#xff09; 满秩的分类方阵的满秩非方阵的满秩几何意义应用场景判断方法 矩阵的特征值 定义求解特征值 特征方程步骤 关键性质 迹与行列式相似矩…

python面试题整理

Python 如何处理异常&#xff1f; Python中&#xff0c;使用try 和 except 关键字来捕获和处理异常 try 块中放置可能会引发异常的代码&#xff0c;然后在except块中处理这些异常。 能补充一下finally的作用吗&#xff1f; finally 块中的代码无论是否发生异常都会执行&#xf…

linux之perf(17)PMU事件采集脚本

Linux之perf(17)PMU事件采集脚本 Author: Once Day Date: 2025年2月22日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: Perf性能分析_Once_day的博…