題 為什麼文件系統反復出錯,即使我一遍又一遍(在linux上)?


我的系統是Gentoo Linux(內核是3.16.0),我的文件系統是reiserfs。

幾天前,我打開了一個超過100MB的大壓縮包,打開包裝後大約是1.3GB和10,000個文件,然後我發現幾個解壓縮的文件是無序的,未完成的,腐敗的。所以我在那個分區(/ dev / sda9)上做了fsck。找到文件系統錯誤。

Comparing bitmaps..vpf-10640: The on-disk and correct bitmaps differs.
2 found corruptions can be fixed when running with --fix-fixable

所以我用--fix-fixable再次做了fsck,它最終讓我看成功。我認為沒關係,但沒有。

如果我再次解壓縮tarball,那麼錯誤再次發生,儘管我使用--fix-fixable進行fsck多次,即使使用--rebuild-tree也是如此。

這個tarball沒問題,我把它解壓縮到另一個分區(也是reiserfs),沒有錯誤。所以我懷疑磁盤上是否有壞塊。我使用命令“badblocks -nsv”來檢查整個磁盤(/ dev / sda),沒有報告壞塊。 (是否正確檢查壞塊?)

我也試過重新格式化,遺憾的是沒有什麼好事發生。 (我將“問題”分區上的所有文件備份到另一個地方,並重新格式化該分區(仍然是reiserfs),然後將它們複製回來。再次解壓縮tarball後再次出現錯誤。我確信tarball沒問題,因為我嘗試了其他大的tarball,同樣的錯誤。)

所以,現在,我很困惑,如果磁盤上沒有壞塊,為什麼文件系統在我修復後會反复打破。


2
2017-08-29 07:34


起源


你使用什麼文件系統?如果你看錯了就會有一些被破壞的...... - grawity
我不想問,但是:你在跑嗎? fsck 系統運行正常嗎?或者您是先卸載(“卸載”)文件系統(可能進入“單用戶模式”)? - G-Man
@grawity:Reiserfs。我提到... - Bruce
@ G-Man:當然......(你不能在沒有卸載它們的情況下fsck分區。實際上,我使用Live-DVD來啟動計算機並執行所有fsck-things,而不是我的Gentoo Linux在硬盤內。我是一位經驗豐富的linux用戶...) - Bruce


答案:


幾個星期以來一直受到這個問題的折磨,我終於在今天找到了答案。

今天,我突然有了一個想法,也許我的硬盤根本沒有問題,也許這是一個reiserfs的錯誤,我的Linux內核的錯誤是3.16.0。所以我谷歌了,得到了答案。是的,它是內核3.16.0和3.16.1中reiserfs的錯誤。

請參閱以下鏈接了解詳情。
https://bugzilla.kernel.org/show_bug.cgi?id=83321
https://bugzilla.kernel.org/show_bug.cgi?id=83121

所以,實際上這不是一個常見的問題,它僅適用於特定版本的Linux內核。 (如果您使用帶有reiserfs的錯誤版本內核,請盡快升級它!)


2
2017-09-02 15:01



而且我認為它現在可以關閉。 - Bruce