全部產品
Search
文件中心

Elastic Compute Service:Linux執行個體的/etc/fstab檔案配置錯誤導致系統啟動異常問題處理

更新時間:Nov 21, 2024

在Linux系統中,/etc/fstab檔案用於儲存系統的磁碟掛載資訊,如果該檔案內容配置錯誤,將會導致系統啟動失敗。本文將介紹由於該檔案配置錯誤導致系統啟動異常的解決方案。

問題描述

在手動修改/etc/fstab檔案後,重啟系統時發現系統無法正常啟動,並且無法通過遠端連線軟體登入Linux執行個體。當使用VNC進行遠端連線時,系統提示進入緊急模式(emergency mode),並顯示相關錯誤資訊,相關報錯如下所示。

Alibaba Cloud Linux

image

CentOS

Ubuntu

image

問題原因

一般情況下,這種情況是由於/etc/fstab檔案中記錄了錯誤的檔案系統或磁碟分割資訊所致。如果該設定檔中包含不正確的掛載資訊,或者該檔案本身存在訪問錯誤,例如許可權配置不當、檔案丟失等,系統在啟動時可能會出現異常,最終導致啟動失敗。

解決方案

本文所述配置及說明適用於Alibaba Cloud Linux 3/2、CentOS 6/7/8、Ubuntu 22.04/24.04 作業系統。其他動作系統版本的配置可能會有所不同,具體情況請參閱相應作業系統的官方文檔。

警告
  • 以下操作為高危操作,如操作不當可能會引發資料丟失,為確保執行個體上的資料安全,建議您在操作前為執行個體建立快照或開啟RDS記錄備份等功能。相關操作,請參見建立快照

  • 如您對執行個體或資料進行修改、變更等風險操作,務必關注執行個體的容災與容錯能力,以確保資料的安全性。

  • 如果您在阿里雲平台上授權或提交過登入帳號、密碼等安全資訊,建議您及時進行修改。

  1. 遠端連線執行個體

    使用VNC遠端連線執行個體。具體操作,請參見使用VNC登入執行個體

  2. 進入緊急模式

    說明

    為修複因/etc/fstab檔案配置錯誤導致的Linux執行個體無法啟動,您需在緊急模式(emergency mode)下進行修複操作。如果當前執行個體已進入緊急模式,則可以跳過此步驟,直接執行後續操作以完成修複。

    按照以下操作步驟,修改GRUB配置以使系統進入緊急模式。

    Alibaba Cloud Linux

    1. 重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。

      image

    2. 在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下Ctrl+e按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。

      systemd.unit=emergency.target

      添加完成後的內容如下所示。

      image

    3. 添加完成之後按Ctrl + x按鍵組合或按下 F10引導系統啟動到緊急模式。

    4. 進入緊急模式後按照提示輸入root使用者密碼登入系統。

      image

    CentOS

    1. 重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。

      image

    2. 在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下Ctrl+e按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。

      systemd.unit=emergency.target

      添加完成後的內容如下所示。

      image

    3. 添加完成之後按Ctrl + x按鍵組合或按下 F10引導系統啟動到緊急模式。

    4. 進入緊急模式後按照提示輸入root使用者密碼登入系統。

      image

    Ubuntu

    1. 重啟執行個體,在執行個體啟動過程中,當出現grub介面時,按e鍵進入編輯模式。

      image

    2. 在GRUB配置中,將游標移動至以“linux”開頭的配置行,然後按下Ctrl+e按鍵組合,將游標移至該行設定檔的末尾,並在末尾添加如下內容。

      systemd.unit=emergency.target

      添加完成後的內容如下所示。

      image

    3. 添加完成之後按Ctrl + x按鍵組合或按下 F10引導系統啟動到緊急模式。

    4. 進入緊急模式後按照提示輸入root使用者密碼登入系統。

      image

  3. 修正配置錯誤

    1. 運行以下命令,變更根分區的掛載模式為讀寫。

      mount / -o remount,rw
    2. 運行blkid命令,查看ECS執行個體上磁碟的分區情況以及檔案系統。如下圖所示,ECS執行個體資料盤分區為/dev/xvdb1,檔案系統為ext4。

    3. 運行以下命令,開啟/etc/fstab檔案。

      vim /etc/fstab

      檢查磁碟的分區資訊與檔案系統和上一步返回的結果是否一致。

    4. (條件可選)如果資訊有誤, 將游標移到異常的參數行,按i鍵進入編輯模式,寫入正確的分區資訊,如下所示。

      /dev/xvdb1 /mydata ext4 defaults,nofail 0 0
      說明

      您可以在掛載的時候添加nofail參數,這樣在啟動執行個體時,如果裝置不存在,將會直接忽略該裝置,從而避免發生報錯。

    5. Esc鍵退出編輯模式,並輸入:wq!,按Enter鍵儲存並退出。

  4. 驗證修複結果

    運行以下命令,以驗證/etc/fstab中的配置資訊是否已正確配置。

    mount -a

    運行該命令後無任何報錯資訊,則說明配置正確。

  5. 重啟作業系統

    運行以下命令,重啟系統,重啟完成後即可成功登入系統。

    reboot

相關文檔

關於Linux執行個體上掛載雲端硬碟的具體操作,請參見Linux格式化資料盤