Linux
損壞文件的內容,而 FS 正常
看起來我的 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
列出目錄並不意味著文件系統沒問題,您只是在查看元數據(這是文件系統的一小部分)。
- 盡可能備份所有內容
- 執行文件系統檢查 (fsck)
- 創建另一個備份(以防 fsck 設法保存更多文件)
- 更換磁碟