首頁 > linux教程 > Linux文件系統管理 閱讀:0更新時間:2020-03-28 01:00:54

Linux開機自動掛載硬件設備(配置/etc/fatab文件)

了解了 mount 命令之后,讀者可能會問,系統如何在開機時自動掛載硬盤,它又是怎么知道哪些分區是需要掛載的呢?

很簡單,linux 通過 /etc/fstab 配置文件來確定這些信息,這個配置文件對所有用戶可讀,但只有 root 用戶有權修改此文件。也就是說,如果我們想實現開機自動掛載某個硬件設備,只需要使用 root 身份在 /etc/fstab 文件中添加此設備即可。

首先,我們打開這個文件看看吧,執行如下命令:

[root@localhost ~]# vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults 1 1
UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 /boot ext4 defaults 1 2
UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0
#只有這三個是真正的硬盤分區,下面的都是虛擬文件系統或交換分區
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
sysfs /sys sysfe defaults 0 0
proc /proc proc defaults 0 0

目前,大家可以忽略 tmpfs、devpts、sysfs 和 proc 這幾行,它們分別是與共享內存、終端窗口、設備信息和內核參數相關聯的特殊設備。

可以看到,在 fstab 文件中,每行數據都分為了 6 個字段,它們的含義分別是:

  1. 用來掛載每個文件系統的分區設備文件名或 UUID(用于指代設備名);

  2. 掛載點;

  3. 文件系統的類型;

  4. 各種掛載參數;

  5. 指定分區是否被 dump 備份;

  6. 指定分區是否被 fsck 檢測;

下面,我們一一進行講解。

/etc/fstab文件各字段的含義

首先介紹第一個字段,什么是 UUID 呢?UUID 即通用唯一標識符,是一個 128 位比特的數字,可以理解為就是硬盤的 ID,UUID 由系統自動生成和管理。

這個字段在 CentOS 5.5 系統中是寫入分區的卷標名或分區設備文件名的,現在變成了硬盤的 UUID。這樣做的好處是當硬盤増加了新的分區,或者分區的順序改變,或者內核升級后,仍然能夠保證分區能夠正確地加載,而不至于造成啟動障礙。

那么,每個分區的 UUID 到底是什么呢?用 dumpe2fs 命令(后續會講)就可以查看到,具體執行命令如下:

[root@localhost ~]# dumpe2fs /dev/sdb5
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: test_label
Last mounted on: <not available>
Filesystem UUID: 63f238f0-a715-4821-8ed1-b3d18756a3ef
#UUID
...省略部分輸出...

另外,也可以通過查看每個硬盤UUID的鏈接文件名來確定UUID,命令如下:

[root@localhost ~]# ls -l /dev/disk/by-uuid/
總用量 0
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 0b23d315-33a7-48a4-bd37-9248e5c44345
-> ../../sdal
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 4021 be19-2751 -4dd2-98cc-383368c39edb
-> ../../sda2
Irwxrwxrwx. 1 root root 10 4 月 11 00:17 63f238f0-a715-4821-8ed1-b3d18756a3ef
-> ../../sdb5
Irwxrwxrwx. 1 root root 10 4月 11 00:17 6858b440-ad9e-45cb-b411 -963c5419e0e8
-> ../../sdb6
Irwxrwxrwx. 1 root root 10 4月 11 00:17 c2ca6f57-b15c-43ea-bca0-f239083d8bd2
-> ../../sda3


第二個字段關于掛載點的含義,我們已經在 《Linux掛載》 和 《Linux mount命令》 章節中講解,所以這里不再贅述。但需要強調的是,掛載點一定要是已經建立的空目錄。

第三個字段為文件系統名稱,CentOS 6.3 的默認文件系統應該是 ext4。

第四個字段是掛載參數,這個參數和 mount 命令的掛載參數一致。

第五個字段表示&ldquo;指定分區是否被 dump 備份&rdquo;,0 代表不備份,1 代表備份,2 代表不定期備份。

第六個字段表示&ldquo;指定分區是否被 fsck 檢測&rdquo;,0 代表不檢測,其他數字代表檢測的優先級,1 的優先級比 2 高。所以先檢測 1 的分區,再檢測 2 的分區。一般分區的優先級是 1,其他分區的優先級是 2。

配置 /etc/fatab 文件

能看懂這個文件了吧?我們把 /dev/sdb5 和 /dev/sdb6 兩個分區加入 /etc/fstab 文件,執行命令如下:

[root@localhost ~]# vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-t239083d8bd2 ext4 defaults 1 1
UUID=0b23d315-33a7-48a4-bd37-9248e5c44345 I boot ext4 defaults 1 2
UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb5 /disk5 ext4 defaults 1 2
/dev/sdb6 /disk6 ext4 defaults 1 2

可以看到,這里并沒有使用分區的 UUID,而是直接寫入分區設備文件名,也是可以的。不過,如果不寫 UUID,就要注意,在修改了磁盤順序后,/etc/fstab 文件也要相應的改變。

這里直接使用分區的設備文件名作為此文件的第一個字段,當然也可以寫分區的 UUID。只不過 UUID 更加先進,設備文件名稍微簡單一點。

至此,分區就建立完成了,接下來只要重新啟動,測試一下系統是否可以正常啟動就可以了。只要 /etc/fstab 文件修改正確,就不會出現任何問題。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩