Linux

損壞文件的內容,而 FS 正常

  • December 18, 2011

看起來我的 USB 硬碟已舊且已損壞:

rsync: read errors mapping "path/to/file.jpg": Input/output error (5)

系統日誌:

kernel: [58927.940676] sd 6:0:0:0: [sdb] Unhandled sense code
kernel: [58927.940683] sd 6:0:0:0: [sdb]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
kernel: [58927.940690] sd 6:0:0:0: [sdb]  Sense Key : Medium Error [current] 
kernel: [58927.940696] sd 6:0:0:0: [sdb]  Add. Sense: Unrecovered read error
kernel: [58927.940703] sd 6:0:0:0: [sdb] CDB: Read(10): 28 00 00 21 f2 df 00 00 08 00
kernel: [58927.940716] end_request: critical target error, dev sdb, sector 2224863

奇怪的是FS沒有被寵壞:我可以列出所有目錄。但是,讀取大約 10% 文件的內容會出現這些錯誤。此外,大多數小文件是安全的,但是,大文件都被破壞了(損壞門檻值約為 5MB)。

怎麼可能?我有哪些選擇來調查和拯救文件?會不會是驅動問題?我不敢相信硬碟損壞會失去 FS 元數據!

PS這個硬碟是背信棄義的:我一直在做備份,它在等待合適的時機出賣:-D

列出目錄並不意味著文件系統沒問題,您只是在查看元數據(這是文件系統的一部分)。

  1. 盡可能備份所有內容
  2. 執行文件系統檢查 (fsck)
  3. 創建另一個備份(以防 fsck 設法保存更多文件)
  4. 更換磁碟

引用自:https://serverfault.com/questions/341935