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.pswp.cn/news/896166.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896166.shtml
英文地址,請注明出處:http://en.pswp.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; 先用網線連上校園網&#…