想必大家都有过数据丢失的糟糕经历,费尽心力收集的数据,由于病毒破坏、误删除、误格式化、分区软件误操作、存储设备损坏等原因而毁之一旦,真是令人痛心
其实我们只要静下心来学习一点数据恢复方面的浅近知识,遇上这样的倒霉事,只要不是严重的硬件损坏,就能挽回一部分数据,运气不错的话,找回全部数据也是可能的
讨论数据恢复,我们先来看看最简单的情况:单纯的硬盘分区表损毁(非硬件损坏),现象——分区丢失
要重建硬盘分区表,就得搞清楚硬盘分区是如何组织的,下面先介绍相关的背景知识
一、硬盘文件系统寻址方式:CHS和LBA1
CHS寻址方式CHS是Cylinder(柱面)/Head(磁头)/Sector(扇区)的缩写
为什么会有这些参数,这要从硬盘的结构说起
硬盘通常是由几个盘片叠加在一起,每个盘面由一个磁头访问,盘面又划分为许多同心圆环,这就是磁道,每条磁道又划分为许多区段,每个区段就称为一个扇区
硬盘的存储单位是扇区,数据就存储在扇区里
由此产生了所谓的3D参数(DiskGeometry),即磁头数(Heads)、柱面数(Cylinders,所谓柱面是由半径相同分属不同盘面的若干磁道组成)、扇区数(Sectors),以及相应的寻址方式
见附图:在硬盘文件系统中规定:磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);柱面数(Cylinders)表示硬盘每一面盘片上有几条磁道,最大为1024(用10个二进制位存储);扇区数(Sectors)表示每一条磁道上有几个扇区,最大为63(用6个二进制位存储)
每个扇区一般是512个字节,理论上讲这不是必须的,但好象没有取别的值的
所以CHS方式最大寻址范围为:255*1024*63*512/1000/1000/1000=8
在CHS寻址方式中,磁头,柱面,扇区的取值范围分别为0到Heads-1,0