我在/var/log/kern.log中收到了指示驱动器故障的消息.在驱动器(ext4 – > ext3)之间复制$HOME时发生的消息:
[ 5733.186033] sd 4:0:0:0: [sdb] Unhandled sense code
[ 5733.186038] sd 4:0:0:0: [sdb] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 5733.186042] sd 4:0:0:0: [sdb] Sense Key : Medium Error [current]
[ 5733.186048] sd 4:0:0:0: [sdb] Add. Sense: Unrecovered read error
[ 5733.186053] sd 4:0:0:0: [sdb] CDB: Read(10): 28 00 05 b7 2e 40 00 00 08 00
[ 5733.186064] end_request: critical target error, dev sdb, sector 95891008
这些消息是散装的,这是其中一种. sdb是源驱动器.
如何找出该扇区属于哪个文件/ inode?我只是想知道,所以我可以从备份中恢复有问题的文件.比以下代码更快的速度加上后续的输出分析?
find . -type f -print \
-exec cp \{\} /dev/null \; \
-exec tail -n 1 /var/log/kern.log \;
操作系统:Ubuntu Oneiric.
编辑:上面的命令还向stderr输出无法读取的文件.