壞塊值得信賴嗎?
我找不到任何關於 badblocks 實際上認為是壞塊的資訊。我已經閱讀了手冊頁並在這裡查看了一堆問題,但我找不到細節。另外,壞塊有多好?我應該相信它的結果嗎?我的公司過去曾在 Hirens Boot CD 上使用 Victoria 來測試硬碟,但在較新的電腦上這並不總是一個好的選擇。
badblocks
讀取、寫入和比較(不一定按此順序)。隨後
badblocks -v
將輸出如下消息:Pass completed, n bad blocks found (x/y/z errors)
這意味著它發現
n
了壞塊,包括x
讀取錯誤、y
寫入錯誤和z
損壞錯誤。它考慮讀取和寫入時發生的讀取錯誤和寫入錯誤(由核心報告)。這些錯誤也可能是由於電纜/控制器/驅動程序問題引起的。損壞錯誤是比較數據並發現與預期不同的地方(即,它讀取的數據與先前已知/寫入的數據有偏差)。特別是
badblocks
可能會寫入各種數據模式(由一個或多個-t pattern
選項指定)並檢查每個模式是否正確寫入。如果您有另一個程序在執行時進行自己的寫入,則可能會誤報損壞錯誤
badblocks
。如果另一個程序寫入,則磁碟行為正確,但badblocks
不會知道這一點,它只會看到它認為錯誤的數據。這也是為什麼您永遠不應該
badblocks
在正在使用的驅動器上執行的原因,在已經具有可以在您不知道的情況下自動掛載的文件系統的驅動器上,或者在您已經懷疑是壞的驅動器上但您仍然希望恢復數據的驅動器上。在數據恢復方面,您應該始終使用
ddrescue
而不是badblocks
.ddrescue
做同樣的事情badblocks
(讀取模式),它讀取整個驅動器並記錄它無法讀取的扇區;但同時它會產生一個有用的副本,而badblocks
只是完全丟棄數據。它值得信賴嗎?
badblocks
是一個和其他任何工具一樣的工具,它完全按照手冊頁中的說明進行操作 - 搜尋設備以查找壞塊。它可能是也可能不是您想做的任何事情的正確工具。在壞人手中,它可能是數據損壞的原因。所謂的
non-destructive
模式是一個虛假的朋友,並不意味著您的數據的安全。
badblocks
(寫入模式)主要用於在信任數據之前將新的空驅動器通過榨汁機。對於只讀測試,通常最好使用 SMART 自測(
smartctl -t long
或smartctl -t select
)。比其他 I/O更安全、更badblocks
友好。