Linux fstab 設定錯誤 導致無法開機

[轉貼] Linux fstab 設定錯誤 導致無法開始 出現 /dev/hdxx

因為不小心設定錯誤 /etc/fstab or hdd 出現問題時大致上會出現以下畫面,該怎麼辦呢?

Give root password for maintenance 
輸入root 的密碼

提示 (repair filesystem) 1 #
就會進入 lever 1模式 ,進行修復動作….
此模式下,是唯讀模式,不可以修改檔案…..

所以要輸入 mount -n -o remount,rw /
重新載入 / ,並給於 寫入讀取權限,再將所設定錯誤的檔案修改回來。

由於此例子,是winner 將強制將 ext3 使用 xp 開機光碟,轉換成 NTFS
所以所導致 /etc/fstab 讀取錯誤。
所以應該先將 /etc/fstab 中的 hdb1 錯誤partition 給先拿掉,不要讀取它。

vi /etc/fstab 拿掉 hdb1 拿掉…..
:wq 存檔離開….並重新開機 

==============================================================

因設定錯誤而無法開機:
如果因為設定錯誤導致無法開機時,要怎麼辦啊?這就更簡單了!
最容易出錯的設定而導致無法順利開機的步驟,通常就是 /etc/fstab 這個檔案了,
尤其是使用者在 實作 Quota 時,最容易寫錯參數, 又沒有經過 mount -a 來測試掛載,
就立刻直接重新開機,真要命,無法開機成功怎麼辦?
不要緊啦!利用上個小節提到的以 run level 1 的方法進入 Linux 系統,然後:

  • 利用『 mount -n -o remount,rw / 』重新掛載根目錄,
    之後將剛剛設定錯誤的地方修改一下,就可以重新開機啦!

但萬一是因為不正常關機,導致開機時進行 fsck 無法成功,而出現類似這樣的幾行字:

/home contains a file system with errors,check blocks.
            /home:Group 81's inode table at 2654219 conflicts with some other fs blocks.
            /home: UNEXPECTED INCONSISTENCY ; RUN fsck MANUSLLY
            (i.e. , without –a or –p options)
            *** An error occurred during the file system check.
            *** Dropping you to a shrll ; the system will reboot
            *** when you to leave shell....
            Give root password for maintenance(or type Control-D for normal startup):
            

這表示你的 filesystem 可能有磁區錯亂的情況,
一般來說,這樣的磁區錯亂應該不是實體硬碟錯誤,
比較可能是由於不正成關機造成 filesystem 的不一致 (Inconsistent) 所造成的。
造成這個問題之後,我們必須要輸入 root 的密碼,進入 run level 1 ,
然後以 fsck /dev/hd[a-d][1-16] 來修復磁碟。
例如,假設上面的案例中,
/home 掛載在 /dev/hda6 上面,
那我就『 fsck /dev/hda6 』,不要加上任何參數。
等到系統發現錯誤,並且出現『clear [Y/N]』時,輸入『 y 』吧!

這個過程可能會很長,
而且如果你的 partition 上面的 filesystem 有過多的資料損毀時,
即使 fsck 完成後,可能因為傷到系統槽,
導致某些關鍵系統檔案資料的損毀,
那麼依舊是無法進入 Linux 的。
此時,就好就是將系統當中的重要資料複製出來,然後重新安裝,
並且檢驗一下, 是否實體硬碟有損傷的現象才好!
不過一般來說,不太可能會這樣啦~ 通常都是 fsck 處理完畢後,就能夠順利再次進入 Linux 了。

=============================================================
原文出處: 要一直努力的 Winner : Linux fstab 設定錯誤 導致無法開始 出現 /dev/hdxx

本篇發表於 技術文件。將永久鏈結加入書籤。