Hard-Disk

壞塊值得信賴嗎?

  • November 14, 2017

我找不到任何關於 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 longsmartctl -t select)。比其他 I/O更安全、更badblocks友好。

引用自:https://unix.stackexchange.com/questions/404579