Linux
如何修復文件系統損壞?
外部 USB SSD 驅動器上的 Debian。
dmesg
日誌文件中有一些錯誤:...[ 3.320718] EXT4-fs (sdb2): INFO: recovery required on readonly filesystem [ 3.320721] EXT4-fs (sdb2): write access will be enabled during recovery [ 5.366367] EXT4-fs (sdb2): orphan cleanup on readonly fs [ 5.366375] EXT4-fs (sdb2): ext4_orphan_cleanup: deleting unreferenced inode 6072 [ 5.366426] EXT4-fs (sdb2): ext4_orphan_cleanup: deleting unreferenced inode 6071 [ 5.366442] EXT4-fs (sdb2): 2 orphan inodes deleted [ 5.366444] EXT4-fs (sdb2): recovery complete ...
系統啟動並正常工作。是否有可能完全修復它,正確的方法是什麼?
您可以指示文件系統在安裝後立即執行,
fsck
如下所示:方法 #1:使用 /forcefsck
您通常可以在下次重新啟動時安排檢查,如下所示:
$ sudo touch /forcefsck $ sudo reboot
方法#2:使用關機
您也可以通過開關告訴
shutdown
命令這樣做:-F
$ sudo shutdown -rF now
**注意:**第一種方法是實現這一目標的最通用方法!
方法 #3:使用 tune2fs
您還可以使用
tune2fs
,它可以在文件系統本身上設置參數以在下次嘗試掛載時強制檢查。$ sudo tune2fs -l /dev/sda1 Mount count: 3 Maximum mount count: 25
因此,您必須使用以下命令將“安裝計數”設置為高於 25:
$ sudo tune2fs -C 26 /dev/sda1
檢查更改的值
tune2fs -l
,然後重新啟動!**注意:**在我使用的 3 個選項中,
tune2fs
它可以處理強制檢查任何文件系統,無論它是主文件系統 (/
) 還是其他文件系統。補充筆記
您通常會看到與格式化為 ext2/3/4 的分區相關聯的“最大安裝計數:”和“檢查間隔:”參數。通常它們的配置如下:
$ tune2fs -l /dev/sda5 | grep -E "Mount count|Maximum mount|interval" Mount count: 178 Maximum mount count: -1 Check interval: 0 (<none>)
以這種方式設置參數時,設備將永遠不會
fsck
在安裝期間執行。這對於大多數發行版來說是相當典型的。有 2 種力量會推動檢查。安裝次數或經過時間。“檢查間隔”是基於時間的。你可以每兩週對那個論點說一次,2w。有關更多資訊,請參見
tune2fs
手冊頁。**注意:**還要確保了解這
tune2fs
是文件系統命令,而不是設備命令。因此,它不適用於任何舊設備,/dev/sda
除非那裡有 ext2/3/4 文件系統,否則該命令tune2fs
是沒有意義的,它必須用於已使用其中一種文件系統格式化的分區。參考