Linux磁盤開機(jī)掛載的實(shí)現(xiàn)步驟
在 Linux 系統(tǒng)中,如果你希望將某塊磁盤(或分區(qū))開機(jī)自動(dòng)掛載到指定的目錄(比如 /mnt/data),你需要修改系統(tǒng)的 /etc/fstab 文件,這是控制開機(jī)自動(dòng)掛載的核心配置文件。
一、基本概念
什么是掛載(mount)?
- Linux 中,所有的硬件設(shè)備(比如硬盤、U盤、分區(qū))都是以文件的形式存在于
/dev/目錄下,如/dev/sda1、/dev/nvme0n1p2。 - 要使用這些存儲設(shè)備上的文件系統(tǒng),必須將其掛載(mount)到一個(gè)目錄(稱為掛載點(diǎn),如 /mnt/mydisk),之后你才能通過該目錄訪問磁盤內(nèi)容。
什么是開機(jī)自動(dòng)掛載?
- 手動(dòng)掛載:每次重啟后,你需要重新運(yùn)行
mount命令來掛載磁盤。 - 自動(dòng)掛載:通過在
/etc/fstab文件中添加一行配置,系統(tǒng)在啟動(dòng)時(shí)會(huì)自動(dòng)掛載你指定的磁盤到指定目錄。
二、實(shí)現(xiàn)步驟
步驟 1:確認(rèn)磁盤設(shè)備名和文件系統(tǒng)類型
1.1 查看當(dāng)前系統(tǒng)中的磁盤和分區(qū)
lsblk
或
sudo fdisk -l
輸出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 99.5G 0 part / sdb 8:16 0 50G 0 disk └─sdb1 8:17 0 50G 0 part
- 假設(shè)你想掛載的是
/dev/sdb1,它是一個(gè) 50G 的分區(qū),目前沒有掛載(沒有 MOUNTPOINT)。
1.2 查看該分區(qū)的文件系統(tǒng)類型
sudo blkid /dev/sdb1
輸出示例:
/dev/sdb1: UUID="1234abcd-5678-efgh-9012-ijklmnopqrstuv" TYPE="ext4"
- 重點(diǎn)關(guān)注:
- UUID(推薦使用,比設(shè)備名更穩(wěn)定,比如
/dev/sdb1可能因硬件變動(dòng)而改變) - TYPE:比如
ext4、xfs、ntfs、vfat等
- UUID(推薦使用,比設(shè)備名更穩(wěn)定,比如
推薦使用 UUID 來標(biāo)識磁盤,而不是 /dev/sdX 名稱,因?yàn)樵O(shè)備名可能在重啟后發(fā)生變化。
步驟 2:創(chuàng)建掛載目標(biāo)目錄
比如你想把 /dev/sdb1 掛載到 /mnt/mydata,先創(chuàng)建這個(gè)目錄:
sudo mkdir -p /mnt/mydata
你可以自定義這個(gè)路徑,比如
/data、/media/disk1等。
步驟 3:編輯/etc/fstab文件,添加自動(dòng)掛載配置
使用你喜歡的編輯器(如 nano 或 vi)編輯 fstab 文件:
sudo nano /etc/fstab
在文件末尾添加一行,格式如下:
UUID=<你的分區(qū)UUID> <掛載點(diǎn)目錄> <文件系統(tǒng)類型> <掛載選項(xiàng)> <dump> <fsck順序>
舉個(gè)例子:
假設(shè):
- UUID 是
1234abcd-5678-efgh-9012-ijklmnopqrstuv - 掛載到
/mnt/mydata - 文件系統(tǒng)是
ext4 - 掛載選項(xiàng)用默認(rèn)的
defaults - dump 和 fsck 都設(shè)為
0
那么添加的一行是:
UUID=1234abcd-5678-efgh-9012-ijklmnopqrstuv /mnt/mydata ext4 defaults 0 2
參數(shù)解釋:
| 字段 | 含義 | 示例/推薦值 |
|---|---|---|
| UUID=… | 磁盤分區(qū)的唯一標(biāo)識符(推薦) | 使用 blkid 命令查看 |
| /mnt/mydata | 本地掛載目標(biāo)目錄 | 你自己創(chuàng)建的目錄 |
| ext4 | 文件系統(tǒng)類型,如 ext4, xfs, ntfs, vfat | 用 blkid 查看 TYPE |
| defaults | 掛載選項(xiàng):讀寫、可執(zhí)行、suid等 | 常用:defaults,也可用 noatime,nodiratime 等優(yōu)化選項(xiàng) |
| 0 | 是否使用 dump 備份(一般填 0) | 0 表示禁用 |
| 2 | 是否在啟動(dòng)時(shí)檢查文件系統(tǒng)(ext*系列一般非根分區(qū)填 2,根分區(qū)為 1) | 根分區(qū)為 1,其他一般為 2,swap 為 0 |
如果你不確定文件系統(tǒng)類型,填 auto 也可以(但不夠嚴(yán)謹(jǐn),建議明確類型)。
其他常見例子:
掛載 NTFS 格式磁盤(如移動(dòng)硬盤):
UUID=ABCD1234EF567890 /mnt/usb ntfs-3g defaults,uid=1000,gid=1000 0 0
需要安裝
ntfs-3g軟件包(Ubuntu/Debian:sudo apt install ntfs-3g)
掛載NAS盤
# 添加以下行(根據(jù)需求選擇配置) # 基礎(chǔ)配置 nas-server.local:/export/data /mnt/nas/data nfs defaults 0 0 # 帶超時(shí)和重試的配置 nas-server.local:/export/data /mnt/nas/data nfs defaults,timeo=300,retrans=3,_netdev 0 0 # 高性能配置(適合千兆網(wǎng)絡(luò)) nas-server.local:/export/data /mnt/nas/data nfs rw,hard,intr,rsize=32768,wsize=32768,_netdev 0 0 # 軟掛載(對網(wǎng)絡(luò)波動(dòng)敏感的應(yīng)用不推薦) nas-server.local:/export/data /mnt/nas/data nfs rw,soft,timeo=100,retrans=3,_netdev 0 0
掛載為只讀:
UUID=... /mnt/readonly_disk ext4 ro 0 2
掛載時(shí)不自動(dòng)掛載(比如用于手動(dòng)掛載):
如果某行不想開機(jī)掛載,可以暫時(shí)注釋掉(行首加 #)。
步驟 4:測試 fstab 配置是否正確(重要?。?/h3>
在重啟之前,強(qiáng)烈建議先測試 fstab 配置是否有誤:
sudo mount -a
- 如果配置正確,此命令會(huì)按照 /etc/fstab 的內(nèi)容掛載所有未掛載的磁盤,且不會(huì)報(bào)錯(cuò)。
- 如果有錯(cuò)誤(比如 UUID 錯(cuò)了、目錄不存在、文件系統(tǒng)類型不對),系統(tǒng)會(huì)提示你哪一行有問題。
你可以通過以下命令檢查是否掛載成功:
df -h
或
lsblk
你應(yīng)該能看到 /dev/sdb1 已經(jīng)掛載到了 /mnt/mydata。
步驟 5:重啟系統(tǒng),驗(yàn)證自動(dòng)掛載
sudo reboot
重啟后,運(yùn)行:
df -h
檢查你的目標(biāo)掛載點(diǎn)(如 /mnt/mydata)是否已經(jīng)成功掛載,且來自正確的磁盤分區(qū)。
三、補(bǔ)充說明
1. 為什么推薦使用 UUID,而不是 /dev/sdX?
/dev/sda1、/dev/sdb1這類名稱可能因硬件插拔順序、BIOS、磁盤熱插拔等因素發(fā)生變化,導(dǎo)致系統(tǒng)啟動(dòng)時(shí)掛載錯(cuò)設(shè)備。- UUID 是分區(qū)/磁盤的全球唯一標(biāo)識符,不會(huì)變化,更加可靠。
你可以通過以下命令獲取磁盤的 UUID:
sudo blkid
輸出示例:
/dev/sda1: UUID="abcd1234..." TYPE="ext4" /dev/sdb1: UUID="1234abcd-5678..." TYPE="ext4"
2. 如何找到磁盤的 UUID 和 文件系統(tǒng)類型?
sudo blkid
或者針對某個(gè)分區(qū):
sudo blkid /dev/sdb1
3. 如果磁盤是新的/未格式化的,需要先格式化!
如果你要掛載的磁盤是新磁盤或未格式化的,你需要先:
- 確認(rèn)磁盤沒有被使用/掛載
- 格式化磁盤(謹(jǐn)慎操作,會(huì)清空數(shù)據(jù)?。?/strong>
例如,格式化為 ext4:
sudo mkfs.ext4 /dev/sdb1
或者格式化為 xfs:
sudo mkfs.xfs /dev/sdb1
格式化會(huì)清空該分區(qū)上所有數(shù)據(jù),請確保你選擇了正確的設(shè)備!
四、總結(jié):Linux 開機(jī)自動(dòng)掛載磁盤的完整流程
| 步驟 | 操作內(nèi)容 |
|---|---|
| 1?? | 使用 lsblk 或 fdisk -l 找到你想要掛載的磁盤分區(qū)(如 /dev/sdb1) |
| 2?? | 使用 sudo blkid /dev/sdb1 獲取該分區(qū)的 UUID 和 文件系統(tǒng)類型(如 ext4) |
| 3?? | 創(chuàng)建本地掛載目錄,如 sudo mkdir -p /mnt/mydata |
| 4?? | 編輯 /etc/fstab 文件,添加一行類似:UUID=xxxxxx /mnt/mydata ext4 defaults 0 2 |
| 5?? | 測試 fstab 是否正確:sudo mount -a,然后用 df -h 檢查 |
| 6?? | 重啟系統(tǒng),驗(yàn)證是否自動(dòng)掛載成功 |
以上就是Linux磁盤開機(jī)掛載的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于Linux磁盤開機(jī)掛載的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux虛擬機(jī)&Docker安裝RabbitMQ方式
這篇文章主要介紹了Linux虛擬機(jī)&Docker安裝RabbitMQ方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
關(guān)于Linux搭建RabbitMQ集群環(huán)境圖文詳解
這篇文章主要介紹了關(guān)于Linux搭建RabbitMQ集群環(huán)境圖文詳解,RabbitMQ天然支持集群,集群是保證可靠性的一種方式,同時(shí)可以通過水平擴(kuò)展以達(dá)到增加消息吞吐量能力的目的,需要的朋友可以參考下2023-05-05
win7中VMware安裝CentOs7搭建Linux環(huán)境教程
這篇文章主要為大家詳細(xì)介紹了win7中VMware虛擬機(jī)安裝CentOs7搭建Linux環(huán)境教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
CentOS 7 中firewall-cmd命令詳細(xì)介紹
這篇文章主要介紹了 CentOS 7 中firewall-cmd命令詳細(xì)介紹的相關(guān)資料,這里對CentOS 7的firewall-cmd命令一一介紹,希望能幫助開始使用的朋友,需要的朋友可以參考下2016-11-11

