- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硬盘数据恢复技术原理及其实现
硬盘数据恢复技术探讨
摘 要:数据恢复技术是保证计算机数据安全的重要技术,是当前各行各业信息化关注的热点问题。文章通过对硬盘的数据存储结构的分析,探讨了硬盘数据恢复的基本技术,并结合实际软件开发讨论了数据恢复方法及其实现。
关键词:数据恢复;删除恢复;格式化恢复;Raw恢复
1 引言
随着科学技术的迅猛发展,信息化已经成为当前各行各业关注的重点问题。而数据作为信息化管理的核心部分,其安全性已受到了人们越来越多的重视,如何能够迅速而正确地恢复数据也就成了至关重要的问题。本文结合数据恢复软件开发实例,讨论数据恢复的方法实现。
2 数据恢复的分类
从数据恢复方式来看,主要有软件恢复方式、软硬件结合恢复方式和深层信号还原方式三种。
软件恢复方式主要是在硬盘还可以使用的情况下用数据恢复软件恢复数据,这种恢复方式恢复成本低,但对于那些已经坏掉的硬盘就显得无能为力了。软硬件结合方式则是先修复硬盘或开盘读出盘片中的数据后再用软件恢复数据,这种方式的数据恢复率是相当惊人的,即使是位于物理坏道上面的数据,由于多种信息的缺失而无法找出准确的数据值,也可以通过大量的运算,在多种可能的数据值之间进行逐一代入,结合其他相关扇区的数据信息,进行逻辑合理性校验,从而找出逻辑上最符合的真值,但这种方式还是不能恢复被覆盖了的数据。深层信号还原方式则通过分析盘片表面的深层磁介质状态,通过使用不同波长、不同强度的射线对这个晶体进行照射,可以产生不同的反射、折射和衍射信号,然后通过分析各种反射、折射和衍射信号,就可以帮助我们“看到”在不同深度下这个磁介质晶体的残影。但由于这种方式现实技术复杂、恢复成本高,而且目前世界范围内也没有几个国家可以拥有这样的技术,只有极少数规模庞大的计算机公司和不计成本的政府机关能拥有这样级别的数据恢复设备。
3 硬盘的存储结构
图1表示了硬盘的存储结构,包括MBR区、DBR区、FAT区、Dir区和数据区五个部分。
MBR区
(0磁道0柱面1扇区) DBR区
(0磁道1柱面1扇区) FAT区 FAT1 FAT2 Dir区 数据区 图1
MBR(Main Boot Record)区位于整个硬盘的0磁道0柱面1扇区,共占512字节。它由 446字节的主引导程序,64字节的分区表记录和2字节的结束标记(“55AA”)组成。它的具体内容由分区程序产生,不属于任何一个操作系统,其主要作用是检查分区表是否正确并读出引导分区中的操作系统引导程序。它不能被操作系统直接访问,一般通过Int 13或扩展Int 13读取数据。在DOS或Win9x下运行Debug命令,然后依次输入下面的代码读取MBR内容:
-a 汇编指令
XXXX:0100 mov ax, 201 ah为操作方式,2为读,3为写;al读写的扇区数
XXXX:0103 mov bx, 400 bx为读写数据所在的内存地址
XXXX:0106 mov cx, 1 高10位为柱面号,低6位为扇区号
XXXX:0109 mov dx, 80 dh为磁头号,dl为驱动器号
XXXX:010C int 13 调磁盘读写中断
XXXX:010E int 3 断点中断
XXXX:010F
-g=100 执行上述汇编
-d 400 显示MBR内容
DBR(DOS Boot Record)区位于0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包含引导程序和BPB(BIOS Parameter Block)。它由格式化程序产生,不同的分区格式的DBR有所不同。
FAT(File Allocation Table)区文件系统给文件分配空间的一张表,它的每一项都与磁盘的数据块一一对应。在FAT16中每项占用2字节,FAT32中每项占用4字节。因此在知道分区大小的情况下不难算出FAT的长度。为了防止FAT意外损坏,系统特在FAT后面备份了一个一模一样的FAT,当第一个FAT遭破坏后可以将第二个FAT恢复后继续使用。FAT16分区的FAT长度计算公式为:
FAT扇区数 =
FAT32分区的FAT长度计算公式为:
FAT扇区数 =
若结果不为整数时,则按进一法取整。
下面为FAT16分区的计算例子:
由240975个扇区组成的FAT16分区中,保留扇区数为6,根目录扇区数为32,每个簇4个扇区组成,求FAT至少应该包含多少个扇区?
FAT = {[(240975 – 6 – 2 × FAT – 32) / 4] × 2 + 4} ≈ 234.839,取整为235,所
文档评论(0)