在Linux系統中,/etc/fstab
檔案用於儲存系統的磁碟掛載資訊,如果該檔案內容配置錯誤,將會導致系統啟動失敗。本文將介紹由於該檔案配置錯誤導致系統啟動異常的解決方案。
問題描述
在手動修改/etc/fstab
檔案後,重啟系統時發現系統無法正常啟動,並且無法通過遠端連線軟體登入Linux執行個體。當使用VNC進行遠端連線時,系統提示進入緊急模式(emergency mode),並顯示相關錯誤資訊,相關報錯如下所示。
Alibaba Cloud Linux
CentOS
Ubuntu
問題原因
一般情況下,這種情況是由於/etc/fstab
檔案中記錄了錯誤的檔案系統或磁碟分割資訊所致。如果該設定檔中包含不正確的掛載資訊,或者該檔案本身存在訪問錯誤,例如許可權配置不當、檔案丟失等,系統在啟動時可能會出現異常,最終導致啟動失敗。
解決方案
本文所述配置及說明適用於Alibaba Cloud Linux 3/2、CentOS 6/7/8、Ubuntu 22.04/24.04 作業系統。其他動作系統版本的配置可能會有所不同,具體情況請參閱相應作業系統的官方文檔。
以下操作為高危操作,如操作不當可能會引發資料丟失,為確保執行個體上的資料安全,建議您在操作前為執行個體建立快照或開啟RDS記錄備份等功能。相關操作,請參見建立快照。
如您對執行個體或資料進行修改、變更等風險操作,務必關注執行個體的容災與容錯能力,以確保資料的安全性。
如果您在阿里雲平台上授權或提交過登入帳號、密碼等安全資訊,建議您及時進行修改。
遠端連線執行個體
使用VNC遠端連線執行個體。具體操作,請參見使用VNC登入執行個體。
進入緊急模式
說明為修複因
/etc/fstab
檔案配置錯誤導致的Linux執行個體無法啟動,您需在緊急模式(emergency mode)下進行修複操作。如果當前執行個體已進入緊急模式,則可以跳過此步驟,直接執行後續操作以完成修複。按照以下操作步驟,修改GRUB配置以使系統進入緊急模式。
Alibaba Cloud Linux
重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。
在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下
Ctrl+e
按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。systemd.unit=emergency.target
添加完成後的內容如下所示。
添加完成之後按
Ctrl + x
按鍵組合或按下F10
引導系統啟動到緊急模式。進入緊急模式後按照提示輸入root使用者密碼登入系統。
CentOS
重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。
在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下
Ctrl+e
按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。systemd.unit=emergency.target
添加完成後的內容如下所示。
添加完成之後按
Ctrl + x
按鍵組合或按下F10
引導系統啟動到緊急模式。進入緊急模式後按照提示輸入root使用者密碼登入系統。
Ubuntu
重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。
在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下
Ctrl+e
按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。systemd.unit=emergency.target
添加完成後的內容如下所示。
添加完成之後按
Ctrl + x
按鍵組合或按下F10
引導系統啟動到緊急模式。進入緊急模式後按照提示輸入root使用者密碼登入系統。
修正配置錯誤
運行以下命令,變更根分區的掛載模式為讀寫。
mount / -o remount,rw
運行
blkid
命令,查看ECS執行個體上磁碟的分區情況以及檔案系統。如下圖所示,ECS執行個體資料盤分區為/dev/xvdb1
,檔案系統為ext4。運行以下命令,開啟
/etc/fstab
檔案。vim /etc/fstab
檢查磁碟的分區資訊與檔案系統和上一步返回的結果是否一致。
(條件可選)如果資訊有誤, 將游標移到異常的參數行,按
i
鍵進入編輯模式,寫入正確的分區資訊,如下所示。/dev/xvdb1 /mydata ext4 defaults,nofail 0 0
說明您可以在掛載的時候添加
nofail
參數,這樣在啟動執行個體時,如果裝置不存在,將會直接忽略該裝置,從而避免發生報錯。按Esc鍵退出編輯模式,並輸入
:wq!
,按Enter鍵儲存並退出。
驗證修複結果
運行以下命令,以驗證
/etc/fstab
中的配置資訊是否已正確配置。mount -a
運行該命令後無任何報錯資訊,則說明配置正確。
重啟作業系統
運行以下命令,重啟系統,重啟完成後即可成功登入系統。
reboot
相關文檔
關於Linux執行個體上掛載雲端硬碟的具體操作,請參見Linux格式化資料盤。