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.mzph.cn/news/896166.shtml

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

相关文章

链表-基础训练(二)链表 day14

两两交换链表中的节点 题目示意&#xff1a; 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 原先我的思路是图像上的思路&#xff0c;但是我感觉还是很复杂…

Unity游戏制作中的C#基础(4)数组声明和使用

一、数组的声明 在 C# 中&#xff0c;声明数组有多种方式&#xff0c;每种方式都有其适用的场景&#xff0c;下面为你逐一详细介绍&#xff1a; 1. 直接初始化声明 这种方式直观且便捷&#xff0c;在声明数组的同时就为其赋初值&#xff0c;让数组从诞生之初就拥有了具体的数据…

【Gin-Web】Bluebell社区项目梳理5:投票功能分析与实现

本文目录 一、投票功能投票流程实现代码redis投票 一、投票功能 投票流程 首先我们要明确&#xff0c;就是 谁&#xff08;哪个用户&#xff1a;userID&#xff09; 给 哪个帖子&#xff08;postID&#xff09; 投了 什么票&#xff08;赞成票or反对票&#xff09;。 赞成票…

XUnity.AutoTranslator-deepseek——调用腾讯的DeepSeek V3 API,实现Unity游戏中日文文本的自动翻译

XUnity.AutoTranslator-deepseek 本项目通过调用腾讯的DeepSeek V3 API&#xff0c;实现Unity游戏中日文文本的自动翻译。 准备工作 1. 获取API密钥 访问腾讯云API控制台申请DeepSeek的API密钥&#xff08;限时免费&#xff09;。也可以使用其他平台提供的DeepSeek API。 …

Python爬虫-批量爬取股票数据猫各股票代码

前言 本文是该专栏的第47篇,后面会持续分享python爬虫干货知识,记得关注。 本文笔者以股票数据猫为例子,基于Python爬虫,批量获取各股票代码数据。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。废话不多说,下面跟着笔者直接往下看正文详细内容。(附…

《Keras 3 :使用 Vision Transformers 进行物体检测》:此文为AI自动翻译

《Keras 3 :使用 Vision Transformers 进行物体检测》 作者:Karan V. Dave 创建日期:2022 年 3 月 27 日最后修改时间:2023 年 11 月 20 日描述:使用 Vision Transformer 进行对象检测的简单 Keras 实现。 (i) 此示例使用 Keras 3 在 Colab 中查看 GitHub 源 介绍 A…

vue-treeselect显示unknown的问题及解决

问题 解决办法 去node-modules包里面找到这个组件的源码&#xff0c;在它dist文件里面找到这个文件&#xff0c;然后搜索unknown&#xff0c;把它删掉就可以解决了。

深入剖析抽象工厂模式:设计模式中的架构利器

深入剖析抽象工厂模式&#xff1a;设计模式中的架构利器 在软件开发领域&#xff0c;设计模式是解决常见问题的通用方案&#xff0c;而抽象工厂模式作为创建型设计模式的重要一员&#xff0c;在构建复杂软件系统时发挥着关键作用。它为创建一系列相关或相互依赖的对象提供了一…

python获取网页内容 靠谱的做法

获取网页内容 response requests.get(url, verifyFalse) 通过这种方式下载网址不太靠谱, 容易出 ssl错误 requests.exceptions.SSLError: HTTPSConnectionPool(hostagri.hainan.gov.cn, port443): Max retries exceeded with url: /hnsnyt/xxgk/gfxwj/index_1.html (Caused by…

MFC中CString的Format、与XML中的XML_SETTEXT格式化注意

1、在MFC中导入 "msxml6.dll"&#xff0c;并使用其中的XML_SETTEXT函数&#xff0c;此调用在进行格式化的时候&#xff0c;调用的还是CString.Format()函数&#xff01; 2、用double类型的数据&#xff0c;格式化整形数%d之前&#xff0c;必须将double强转为int&…

Linux-C-函数栈-SP寄存器

sp&#xff08;Stack Pointer&#xff0c;栈指针&#xff09;是计算机体系结构中一个非常重要的寄存器&#xff0c;下面将详细介绍其作用和原理。 作用 1. 管理栈内存 栈是一种后进先出&#xff08;LIFO&#xff0c;Last In First Out&#xff09;的数据结构&#xff0c;在程…

从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(一)

项目包含5个模块 1.首页 (聊天主页) 2.注册 3.登录 4.个人资料 5.设置主题 一、配置开发环境 建立项目文件夹 mkdir chat-project cd chat-project mkdir server && mkdir webcd server npm init cd web npm create vitelatest 创建前端项目时我们选择javascrip…

深入理解 QObject的作用

QObject 作为 Qt 库中所有对象的基类&#xff0c;其地位无可替代。几乎 Qt 框架内的每一个类&#xff0c;无论是负责构建用户界面的 QWidget&#xff0c;还是专注于数据处理与呈现的 QAbstractItemModel&#xff0c;均直接或间接继承自 QObject。这种继承体系赋予 Qt 类库高度的…

22爬虫:使用Drission Page的两个案例

案例一&#xff1a;使用DrissionPage抓取BOSS上的招聘信息 使用requests获取BOSS网站上的内容是非常困难的&#xff0c;但是通过网页自动化工具DrissionPage或者是Playwright或者是Seleenium是非常容易的&#xff0c;接下来我们就给出使用DrissionPage爬取BOSS网站python招聘的…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atoi 函数

ngx_atoi 声明在 src/core/ngx_string.h ngx_int_t ngx_atoi(u_char *line, size_t n); 定义在 src/core/ngx_string.c ngx_int_t ngx_atoi(u_char *line, size_t n) {ngx_int_t value, cutoff, cutlim;if (n 0) {return NGX_ERROR;}cutoff NGX_MAX_INT_T_VALUE / 10;cutlim…

具有整合各亚专科医学领域知识能力的AI智能体开发纲要(2025版)

整合各亚专科医学领域知识能力的AI代理的开发与研究 一、引言 1.1 研究背景 在科技飞速发展的当下,人工智能(AI)已成为推动各行业变革的关键力量,医疗领域也不例外。近年来,AI 在医疗行业的应用取得了显著进展,从医学影像诊断到疾病预测,从药物研发到个性化医疗,AI 技…

如何设计app测试用例

功能测试 测试方法&#xff1a;等价类划分法、边界值法、场景法、因果图法。优先级设定&#xff1a;核心业务功能设为高优先级。需求覆盖 正向场景、反向场景、关联接口串场景 与后端开发确认测试用例是否全面覆盖后端逻辑。和产品确认用例是否覆盖本次需求&#xff0c;以及是否…

YOLO11 【四】 【DNF制作自己的数据集,切割视频以及labelimg 闪退问题】

一、问题labelimg 闪退 一点w打标 labelimg就闪退 **原因 &#xff1a; python 版本太高 ** 解决办法&#xff1a;单独创建一个虚拟环境用于打标 conda create -n labelimg python3.9 二、使用python脚本切割视频 # -*- coding: utf-8 -*- import cv2 import osdef video_…

[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction

论文网址&#xff1a;[2401.10134] Spatial-Temporal Large Language Model for Traffic Prediction 论文代码&#xff1a;GitHub - ChenxiLiu-HNU/ST-LLM: Official implementation of the paper "Spatial-Temporal Large Language Model for Traffic Prediction" …

k2路由器登录校园网

教程1刷入Breed&#xff0c;并手动刷入Padavan固件&#xff1a;斐讯K1、K2、K2P 刷机、刷入Breed 辅助工具 | tb (tbvv.net) Padavan下载网址&#xff1a; 我用的是&#xff1a; Padavan 登录的网址是 192.168.123.1 Padavan配置教程&#xff1a; 先用网线连上校园网&#…