这是我为linux / ext3做的:我首先要求驱动器进行硬件表面扫描(低于 *** 作系统级别,驱动器上的SMART电路):
vserver:~# smartctl -t long /dev/sdc
我查看了结果:
vserver:~# smartctl -a /dev/sdc...196 Reallocated_Event_Count 0x0032 100 100 000 old_age Always - 1197 Current_Pending_Sector 0x0012 100 100 000 old_age Always - 9...Num Test_Description Status Remaining lifeTime(hours) LBA_of_first_error# 1 Extended offline Completed: read failure 90% 27679 591363172
因此,一个部门已经被标记为坏,9个被标记为从“升级”部门空间取代.更重要的是,第一个不可读的逻辑块地址(LBA)是591363172.
我找到了这个数字“翻译”到的分区(以及它内部的偏移量):
vserver:~# fdisk -lu /dev/sdcDevice Boot Start End Blocks ID System/dev/sdc1 32 976773119 488386544 83 linux
分区从32区开始.所以,坏区是……
vserver:~# bc -l591363172-32+1591363141
…从分区开始的591363141个扇区的偏移量.
现在我可以找到哪个文件被“软管”:
vserver:~# tune2fs -l /dev/sdc1 | grep Block\ sizeBlock size: 4096
这个EXT3文件系统的块大小是4096字节,所以坏扇区在文件系统中破坏了这个块:
vserver:~# bc -l591363141*512/409673920392.62500000000000000000
并且块号(73920392)对应于此文件:
vserver:~# deBUGfsdeBUGfs 1.41.3 (12-Oct-2008)deBUGfs: open /dev/sdc1testb 73920392deBUGfs: testb 73920392Block 73920392 marked in usedeBUGfs: icheck 73920392Block Inode number73920392 18472967deBUGfs: ncheck 18472967Inode Pathname18472967 /path/to/filewithbadsector
我从备份中恢复了该文件.
我可以遵循windows / NTFS的等效程序吗?
解决方法 我知道你有一个NTFS FS,并在该FS上运行windows.我不知道你是否“可以”启动一个实时linux来处理该驱动程序.
如果您可以从CD或USB启动linux,
你可以使用ntfsprogs.看着 –
ntfscluster ntfsinfo
我相信ntfscluster会告诉你特定集群存储的文件.我希望这会让你朝着正确的方向前进.
总结以上是内存溢出为你收集整理的备份 – 从坏扇区到“损坏的文件” – 为Linux / ext3做了,我可以为Windows / NTFS做吗?全部内容,希望文章能够帮你解决备份 – 从坏扇区到“损坏的文件” – 为Linux / ext3做了,我可以为Windows / NTFS做吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)