錯誤編輯 /etc/fstab 是導致 Linux 開機進入急救模式的常見原因。本文提供標準修復流程:進入單人模式 → 重掛載根分區讀寫 → 修正 fstab → 重開機驗證。
將 /dev/sda5 掛載點從 /u01 改為 /weblogic,但 /weblogic 目錄不存在或拼寫錯誤,導致開機時 mount -a 失敗,進入 repair filesystem 提示,且根分區為 read-only 無法存檔。
single 或 1,或選擇 recovery mode。輸入 root 密碼進入 Shell。mount -o remount,rw /
此命令將 / 從 ro 改為 rw,隨後即可編輯 /etc/fstab。vi /etc/fstab
# 修正錯誤行:確認裝置、掛載點、檔案系統類型、掛載選項、dump、fsck 順序正確
# 若有備份可直接還原:cp /etc/fstab.bak /etc/fstab
reboot
| 錯誤類型 | 檢查方式 | 修正範例 |
|---|---|---|
| 掛載點目錄不存在 | ls -ld /weblogic | 建立目錄 mkdir -p /weblogic 或改回原掛載點 |
| 裝置名稱錯誤 | blkid、lsblk -f | 使用 UUID:UUID=xxxx /weblogic ext4 defaults 0 2 |
| 檔案系統類型錯誤 | blkid /dev/sda5 | 修正為實際類型:ext4/xfs/vfat… |
| 掛載選項拼寫錯誤 | man mount | 修正 defaults,noatime 等 |
| 重複掛載同一裝置 | 檢查 fstab 重複行 | 刪除重複行 |
# 取得 UUID
blkid /dev/sda5
# /dev/sda5: UUID="a1b2-c3d4" TYPE="ext4"
# fstab 寫法
UUID=a1b2-c3d4 /weblogic ext4 defaults,noatime 0 2
UUID 不隨核心偵測順序改變,比 /dev/sdX 穩定。
# 測試 fstab 語法
mount -a
# 無錯誤訊息即通過
# 或模擬掛載
mount -f -a # 僅模擬,不實際掛載

核心口訣:單人模式 → remount rw → 改 fstab → reboot。平時養成「改前備份、改後 mount -a 驗證」習慣,可杜絕 90% 此類故障。