『學了就忘』Linux檔案系統管理 — 60、Linux中配置自動掛載

繁華似錦Fighting發表於2021-12-02

上一篇文章我們說明了手動分割槽講解,對一塊新硬碟進行了手動分割槽和掛載。

但是我們發現重啟系統之後,新硬碟上的兩個掛載沒有了,還需要重新手動掛載。也就是說,之前的操作,掛載上的新硬碟,重啟系統之後,是不會自動掛載的,所以這樣真的很麻煩,這時我們就需要進行自動掛載的操作。

提示:日常的移動儲存裝置,如U盤、光碟、行動硬碟都禁止做自動掛載,如果在系統啟動前你忘記放入光碟等,系統會直接報錯。你只需要把固定儲存裝置,設定為自動掛載即可。

1、自動掛載

自動掛載主要依靠的就是修改分割槽自動掛載檔案/etc/fstab

編輯/etc/fstab檔案。內容如下:

image

  • 第一列:裝置檔名
  • 第二列:掛載點
  • 第三列:檔案系統
  • 第四列:掛載選項(忘記的可以看之前的文章Linux系統中的掛載操作
  • 第五列:1,是否可以備份。0不備份,1每天備份,2不定期備份。(分割槽在重啟的時候是否自動進行備份,預設建議寫1swap分割槽為0。)
  • 第六列:2,是否檢測磁碟fsck0不檢測,1啟動時檢測,2啟動後檢測。(在開機的時候是否執行fsck命令進行自動修復檔案,建議根分割槽是1,其他分割槽都設定為2swap分割槽為0。)

說明:第一列裝置檔名為什麼要寫分割槽的UUID?

因為如果寫分割槽裝置檔名,如/dev/sdb1。當我塊硬碟壞了,我換了一塊新的硬碟,當設定新硬碟的分割槽時候,分割槽名稱可能還是/dev/sdb1,這時的/dev/sdb1分割槽和之前的/dev/sdb1不是一個了。而系統會誤認為兩個是一個/dev/sdb1分割槽,最後有可能導致系統出現問題。所以裝置檔名位置寫UUID,可以確定分割槽的唯一性。這樣做的好處是當硬碟增加了新的分割槽,或者分割槽的順序改變,再或者核心升級後,仍然能夠保證分割槽能夠正確的載入,而不至於造成啟動障礙。(現在寫裝置檔名也是可以的,最好還是寫分割槽的UUID。)

2、如何查詢系統下每個分割槽的UUID

我們講過的dumpe2fs命令是可以檢視到的,命令如下:

# 檢視分割槽超級塊中的分割槽資訊。
[root@localhost ~]# dumpe2fs /dev/sdb5

# 或者執行命令
[root@localhost ~]# ls -l /dev/disk/by-uuid/

結果如下:

image

3、配置自動掛載

修改/etc/fstab配置檔案,進行自動掛載,內容如下:

image

注意:/etc/fstab配置檔案直接參與系統啟動,如果修改錯誤,系統啟動報錯。

寫好檔案之後,重啟系統檢視。

image

mount -a命令,用它進行測試/etc/fstab配置檔案,有時候不太準確,新版本的Linux系統對/etc/fstab配置檔案容錯率提高了。這是一個好處,修改錯了/etc/fstab配置檔案內容(一般內容的拼寫錯誤,裝置檔名除外),最多分割槽沒有掛載上,但不影響開機。

4、/etc/fstab檔案修復

上面說了,/etc/fstab配置檔案直接參與系統啟動,如果修改錯誤,系統啟動報錯。

/etc/fstab配置檔案是可以進行修復的,我們來說一說如何修復。

注意:系統修復的前提,是我能拿到伺服器(電腦)本機。但是現在的伺服器一般都在機房和雲端。

像新增分割槽的自動掛載,只有裝置檔名寫錯了,重啟之後會失敗,其他的編寫錯誤都能正常啟動系統。那我們就重新編輯/etc/fstab配置檔案,把裝置檔名修改一下。

在用mount -a命令,檢查一下/etc/fstab配置檔案是否有錯誤,結果如下,發現錯誤。

image

我們重啟一下系統,看看能否正常啟動。

系統啟動出現了錯誤,如下圖所示:

image

可以看到上圖最後兩行提示,Give root password for maintenance (or tupe Control-D to continue):,請你輸入root使用者的密碼,或者ctrl+d繼續。ctrl+d不是繼續下一步,而是繼續重啟。

這時候只有輸入root使用者的密碼了,但是需要到伺服器本機才能輸入root使用者密碼,系統沒有啟動,網路卡是沒有生效的,遠端客戶端是連結不上的。所以再次重複一下,修復Linux系統的前提是拿到本機。

我們輸入root使用者的密碼,你發現你登陸進系統了。

如下圖所示:

image

這樣我們就可以繼續操作Linux系統了,執行[rootelocalhost ~]# vim /etc/fstab命令,修改/etc/fstab配置檔案。

注意:在修改/etc/fstab配置檔案時,該檔案是隻讀檔案,你無法正常儲存修改。

如下圖所示:

image

原因是對整個分割槽沒有寫許可權,要把/分割槽重新掛載下,掛載為讀寫許可權就可以修改了。

命令如下:

[root@localhost ~]# mount -o remount,rw /

再去修改/etc/fstab配置檔案,把它改回來就可以正常啟動了啊。

相關文章