前言
文件系統負責組織數據的存儲和恢復方式。 無論如何,隨著時間的推移,文件系統可能會被破壞,并且可能無法訪問它的某些部分。 如果您的文件系統出現這種不一致,建議驗證其完整性。
這可以通過名為fsck的系統實用程序( 文件系統一致性檢查)完成。 此檢查可在引導期間自動完成或手動運行。
在本文中,我們將回顧fsck實用程序及其用法,以幫助您修復磁盤錯誤。
何時在Linux中使用fsck
當您想要運行fsck時,有不同的場景。 以下是一些例子:
- 系統無法啟動。
- 系統上的文件已損壞(通常您可能會看到輸入/輸出錯誤)。
- 附加驅動器(包括閃存驅動器/ SD卡)無法正常工作。
fsck可用選項
需要使用超級用戶權限或root運行Fsck命令。 您可以使用不同的參數。 它們的用法取決于您的具體情況。 您將在下面看到一些更重要的選項:
- -A - 用于檢查所有文件系統。 該列表取自/etc/fstab 。
- -C - 顯示進度條。
- -l - 鎖定設備以確保在檢查期間沒有其他程序嘗試使用該分區。
- -M - 不檢查已掛載的文件系統。
- -N - 僅顯示將要執行的操作 - 不進行實際更改。
- -P - 如果要并行檢查文件系統,包括root。
- -R - 不檢查根文件系統。 這僅適用于' -A '。
- -r - 為正在檢查的每個設備提供統計信息。
- -T - 不顯示標題。
- -t - 專門指定要檢查的文件系統類型。 類型可以是逗號分隔列表。
- -V - 提供描述正在進行的操作。
如何運行fsck來修復Linux文件系統錯誤
要運行fsck ,您需要確保未安裝要檢查的分區。 出于本文的目的,我將使用安裝在/mnt第二個驅動器/dev/sdb 。
如果我在安裝分區時嘗試運行fsck會發生什么。

在已安裝的分區上運行fsck
為避免這種情況,請使用卸載分區。
然后fsck可以安全地運行。

在Linux分區上運行fsck
了解fsck退出代碼
運行fsck后 ,它將返回退出代碼。 這些鱈魚可以通過運行以下命令在fsck的手冊中看到:
# man fsck
0 No errors
1 Filesystem errors corrected
2 System should be rebooted
4 Filesystem errors left uncorrected
8 Operational error
16 Usage or syntax error
32 Checking canceled by user request
128 Shared-library error
修復Linux文件系統錯誤
有時在文件系統上可以找到多個錯誤。 在這種情況下,您可能希望fsck自動嘗試更正錯誤。 這可以通過以下方式完成:
-y標志, “yes”來自fsck的任何提示自動“yes”以糾正錯誤。
同樣,您可以在所有文件系統上運行相同的操作(沒有root ):
如何在Linux根分區上運行fsck
在某些情況下,您可能需要在系統的根分區上運行fsck 。 由于在安裝分區時無法運行fsck ,因此可以嘗試以下選項之一:
- 在系統啟動時強制fsck
- 在救援模式下運行fsck
我們將審查這兩種情況。
系統啟動時強制fsck
這相對容易完成,您唯一需要做的就是在系統的根分區中創建一個名為forcefsck的文件。 使用以下命令:
然后,您可以簡單地強制或安排重新啟動系統。 在下次啟動期間,將執行fsck 。 如果停機時間很重要,建議您仔細規劃,因為如果您的系統上有許多使用的inode, fsck可能需要一些額外的時間。
系統引導后,檢查文件是否仍然存在:
如果是這樣,您可能希望將其刪除,以避免每次系統啟動時出現fsck 。
在救援模式下運行fsck
在救援模式下運行fsck需要更多步驟。 首先準備系統以重新啟動 。 停止任何關鍵服務,如MySQL / MariaDB等,然后鍵入。
在啟動過程中,按住shift鍵以顯示grub菜單。 選擇“ 高級選項 ”。

Grub Advance Options
然后選擇“ 恢復模式 ”。

選擇Linux恢復模式
在下一個菜單中選擇“ fsck ”。

選擇fsck Utility
系統將詢問您是否希望重新安裝/ filesystem。 選擇“yes” 。

確認根文件系統
你應該看到類似的東西。

運行fsck文件系統檢查
然后,您可以通過選擇“恢復”恢復正常啟動。

選擇正常啟動
結論
在本教程中,您學習了如何使用fsck并在不同的Linux文件系統上運行一致性檢查。 如果您對fsck有任何疑問,請不要猶豫,在下面的評論部分提交。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。