Linux檔案系統損壞後的修復技巧詳細介紹

tolywang發表於2008-06-24

Linux不正常關機,有時候再次啟動時會報檔案系統損壞,如何修復檔案?

首先會讓你輸入root使用者的密碼。

1)出錯的時候如果告訴你是哪一塊硬碟的分割槽有問題,比如是/dev/hda3

接著用如下的命令去對付它呀:

[@more@]

#fsck -y /dev/hda3

結束後,reboot。這樣就OK了!

2)如果你不知道時哪個地方出了問題。(常用此種方法)

可以直接

#fsck

在隨後的多個確認對話方塊中輸入:y

結束後,reboot。就ok了。

說明: 對Linux系統中常用檔案系統的檢查是透過fsck工具來完成的。

功能說明:檢查檔案系統並嘗試修復錯誤。

語  法:fsck [-aANPrRsTV][-t ][檔案系統...]

補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。

參  數:

-a 自動修復檔案系統,不詢問任何問題。

-A 依照/etc/fstab配置檔案的內容,檢查檔案內所列的全部檔案系統。

-N 不執行指令,僅列出實際執行會進行的動作。

-P 當搭配"-A"引數使用時,則會同時檢查所有的檔案系統。

-r 採用互動模式,在執行修復時詢問問題,讓使用者得以確認並決定處理方式。

-R 當搭配"-A"引數使用時,則會略過/目錄的檔案系統不予檢查。

-s 依序執行檢查作業,而非同時執行。

-t<檔案系統型別>指定要檢查的檔案系統型別。

-T 執行fsck指令時,不顯示標題資訊。

-V 顯示指令執行過程。

用fsck檢查檔案系統完整性檔案系統很複雜,因此易於發生錯誤。可以用fsck 命令檢查檔案系統是否正確和有效。它可以根據指令修復找到的小錯誤,並將未修復錯誤報告使用者。幸運的是,檔案系統的程式碼非常有效,所以根本極少出現問題,並且問題通常原因是電源失敗、硬體失敗、或操作錯誤,例如沒有正常關閉系統。 大多數系統設定為啟動時自動執行fsck ,因此任何錯誤將在系統使用前被檢測到(並根據希望修正)。使用有錯誤的檔案系統可能使問題變得更壞:如果資料結構有問題,使用這個檔案系統可能使之更糟,導致更多的資料丟失。當然,在大的檔案系統上執行fsck 會花一定的時間,如果系統正常關閉,幾乎從不發生錯誤,因此有一些方法可以不進行檢查。如果檔案/etc/fastboot 存在,就不檢查。另外,如果ext2檔案系統在超級快中有一個特定的標記告知該檔案系統在上次mount後沒有正常unmount. 如果標記指出unmount正常完成(假設正常unmount指出沒問題),e2fsck (fsck 的ext2檔案系統版) 就不檢查系統。/etc/fastboot 是否影響系統依賴於你的啟動手稿,但ext2標記則在你使用e2fsck 時發生作用--基於一個e2fsck 選項(參閱e2fsck 手冊頁) 自動檢查只對啟動時自動mount的檔案系統發生作用。使用fsck 手工檢查其他檔案系統,比如軟盤。 如果fsck 發現為修復的問題,你需要深入瞭解檔案系統的一般工作原理和有問題的檔案系統的細節,或好的備份。最後一個辦法容易(雖然冗長)安排,如果你自己不知道,有時可以透過朋友、linux新聞組、電子郵件列表或其他支援源安排。我很想告訴你更多,但我對這的學習和實踐也並不多。

theodore t'so的debugfs 程式應該有用。 fsck 只能執行於未mount的檔案系統,不要用於已mount的檔案系統(除了啟動時的只讀根檔案系統)。這是因為它存取原始磁碟,在作業系統不知道的情況下修改檔案系統。 there will be trouble, if the operating system is confused.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1006033/,如需轉載,請註明出處,否則將追究法律責任。

相關文章