令我驚訝的是,我能夠完美地恢復ddrescue
在 RPi 中使用了很長一段時間的 SD 卡。但當我掃描帶有badblocks -nvs
壞塊的 SD 卡時,會以瘋狂的速度列出。 (順便說一句,在救援行動開始之前,RPi 的表現相當不穩定。)
誰能向我解釋一下,為什麼ddrescue
能夠光榮地恢復所有內容,同時又badblocks
對我大喊,這張 SD 卡壞了?
答案1
badblocks
尋找區域(塊/扇區)即將損壞的磁碟(有讀取錯誤);其中包括仍然可讀的區域(儘管可能需要多次讀取嘗試; IE。正在變壞/瀕臨死亡),
ddrescue
然而預計會恢復數據,因此允許重新讀取扇區(忽略讀取錯誤--max-error-count
) 除非達到定義...
IE。這兩種工具有非常不同的意圖/用途。
ddrescue
將很高興地重試,直到--max-error-count
達到已經聲明的值...其中 asbadblocks
正在尋找失敗的區塊,因此讀取錯誤計數為 1壞的新聞在其代碼中,因為它是先發制人的工具用於檢測可能故障的介質。酒吧' 比使用ddrescue
它有意忽略它得到的任何“錯誤”。
您的選擇是
- 在另一台裝置上測試該卡,以確保您沒有不理想的讀卡機等。
該卡可能存在可疑之處,或者您用於讀取卡片的硬體存在某種問題(甚至可能是 PSU,因為即使是好的組件在供電不良時也會出現故障)