硬盘出现了坏块,想知道坏块所在的文件是那个!
用 Victoria 扫描硬盘,根据硬盘大小,速度,一般要一两个小时。
日志中有这么一条 红色的错误提示!我们要查 508141568 这个扇区是什么文件!
15:13:02 : Block start at 508141568 (260 GB) Read error: UNCR “数据错误(循环冗余检查)。”
查看分区扇区起始,运行命令
wmic partition get BlockSize, StartingOffset, Name, Index
得到如下结果,有多个盘不知道是那个盘的可以打开磁盘管理查看!
BlockSize Index Name StartingOffset
512 0 磁盘 #0,分区 #0 1048576
512 1 磁盘 #0,分区 #1 53687091200
第一个BlocckSize 是扇区大小(字节)后面一个 StartingOffset 就是开始位置 (字节)
StartingOffset / BlocckSize 得到起始扇区号 1048576/512=2048, 53687091200/512=104857600 可以得出 508141568处于第二个分区。也就是D盘。
用下面的命令得到文件系统信息!
fsutil fsinfo ntfsinfo D:
主要是要的信息是这两个
每扇区字节数 : 512
每群集字节数 : 4096
每扇区字节数跟上面的一样,每群集字节数就是文件系统是以这个块来分配储存的。
(坏块扇区-分区起始扇区)/(每群集字节数/每扇区字节数) 计算得到 坏块在D盘文件系统中的位置!
(508141568-104857600)/(4096/512)=50410496
fsutil volume querycluster D: 50410496
群集 0x0000000003013400 被 —-d \temp\新建文本文档.txt::$DATA 使用
这个就查到那个文件在这个扇区上了,还好不是什么重要文件。
fsutil volume filelayout -v 或者 fsutil file queryextents 可以验证一下。
fsutil file queryextents d:\temp\新建文本文档.txt
VCN: 0x0 簇: 0x30 LCN: 0x30133e9
VCN 0x0 就文件第一块。 簇: 0x30 表示占用了48快。 LCN: 0x30133e9 是第一簇位置转成10进制是50410473 也就是 50410473 到50410521,坏块位置50410496包含在其中。
进制转换,简单计算可以在命令行下用 set /a 命令 set /a 0x30133e9+0x30