中文
ENGLISH

当前位置:首页 >  新闻资讯 > 技术分享 > 算是看透了!原来你是这样的硬盘! | 数据恢复专题(三)

算是看透了!原来你是这样的硬盘! | 数据恢复专题(三)

发布时间:2018年4月12 15:46

  本期正文开始前,Wendy不免想说说上期的事儿。每当文章引起争论,心里就会升出希望的光,它告诉我还有许多人跟我们一样,喜欢较真!愿意死磕到底!

  我们可不是受虐体质,但我们清楚地知道,口诛笔伐的人越多,越发证明文章戳中了痛点。真相总是越辩越明的,无人问津才是一个领域内的悲哀。

1

  在这里,严肃表明我们的态度:鼓励技术交流、肯定怀疑精神、欢迎有理有据的互喷互怼!(怼不赢你算我输!小编输得起~)

  正文

  前两期数据恢复专题算是扫盲了底层原理知识的一小小块,效果还不错,普遍反映通俗易懂。备受鼓舞的我决定趁热打铁,一口气把硬盘的存储和读取原理一并讲清楚!打好了底子,为以后逐渐深入的学习做准备。

  在专题(一)和(二)的学习中,我们知道了文件都是以“磁点点”的形式记录在硬盘的盘片中,存储或删除都是在这些“磁点点”上做文章。

  但硬盘是如何组织操纵着“磁点点”、从而建立复杂的文件系统的,你不好奇、不困惑、不抓狂吗?

  这篇必须把硬盘内的“组织关系”扒光!

2

  组织——主要成员

  要是拿上面那张图来讲,你们肯定会觉得不如回去看教科书,索性就不看了可让我如何是好?所以诚惶诚恐的Wendy找来下面这张图👇

3

  从侧面来看硬盘的结构比俯视图更清晰,图中所示的结构和相应名称图中标识很清楚,在这里就不多赘述了,想进一步探究各部分功能的可以自行查阅资料。

  Wendy在这里要讲的主要成员就是和文件存储直接相关的「磁盘组」,千万不能嫌枯燥,基础要打牢哦。

  ▍「磁盘组」的结构

  「盘片」是硬盘的核心,与CD不同,硬盘内的盘片可不止一个,盘片越多存储容量就越大。

  所有的盘片都固定在同一个轴上,而每张盘片双面可写,因此每张盘片都有两个「读写头」在各一侧,如下图。

4

  |记录面号

  「记录面」就是硬盘内盘片能写入数据的一面,每个盘片一般有两个记录面,将这些记录面编上号可以方便磁头定位,这就是记录面号。

  | 读写头

  「磁头」是用线圈缠绕在磁芯上制成的。硬盘在工作时,磁头通过感应旋转的盘片上磁场的变化来读取数据;或者通过改变盘片上的磁场来写入数据。我们只要记住,磁头并不智能,它只会读取或写入“0”和“1”。

  第一波小重点来了,以下人为定义的名称就是让盘片成为“有效组织”的关键!为什么电脑能知道某文件存储在盘片的哪个位置?为什么每个文件背后都有那么多不认识的数字?这就是原因。

5

  磁盘组分解图

  我们进一步拆开图解来看。

  | 磁道

  如分解图中的(b)所示,「磁道」是盘片上的一组同心圆,也是磁头读写操作的运动轨迹,信息就是沿着这样的轨迹而一点一点存放在盘片上的。

  硬盘的磁道密度很大,通常一面有成千上万个磁道,因此我们给磁道的编址是从外向内依次编号的。最外的一个同心圆为 「0 磁道」,最里面的一个同心圆叫 「n 磁道」,n 磁道再往里面的圆面积并不用来记录信息。

  | 扇区

  把磁道均分成若干个扇形区域,每个扇形区域内的磁道就是一个「扇区」。硬盘的读写以扇区为基本单位,称为「簇」,这种以簇为最小分配单位的机制,使硬盘对数据的管理变得相对容易。

  | 柱面

  如分解图中的(c)上下一串盘片中,相同半径的磁道所组成的一个圆柱型的环壁,就称为柱面。柱面其实是个“虚”的,物理上不存在。

  有了这样的规定以后,我们在写入文件时,就会标记好文件是在 x 记录面 n 磁道 m 扇区中。这样在每次读取时就能立刻根据这个“标记”找到实际磁盘上与文件对应的记录区。

  定位——职能划分

  谈到记录区,我们就要接着看硬盘是如何进行记录的。下面的内容,我们将一步步地叠加复杂程度。

  ▍磁盘的信息分布

  此时,我们可以把硬盘比做一本书,磁头在读取磁盘内容的时候,与我们翻阅书籍是一样的:首先需要查找目录,然后才能定位到相应页数去找。

67

  硬盘也有目录,和书的目录一样,只有那么几页,占整体很小的一部分。

  | MBR主引导扇区

  磁盘中充当书中总目录角色的,就是MBR,「主引导扇区」,它在硬盘上的三维地址为“ 0 柱面 0 磁道 1 扇区”,占512个字节。

  每次计算机开机后,第一个访问的一定是硬盘的这个「MBR扇区」!因为只有看了MBR硬盘才知道后面该往哪儿转。

  但是磁盘的目录比书的目录分得更细,这个我们待会儿讲,现在先看「分区」。

  | 分区

  「分区」,就是把硬盘分成不同的块来使用,就相当于每本书都会分章节,每个章节相互独立,每个分区相互之间也不会影响。


  你会发现,通常硬盘会分为主分区和一个扩展分区,而扩展分区就是我们可以自行继续划分的区域,就像一个章节下的几小节。

  我们把磁盘的圆形展开来看,其「分区」示意图如下图所示:

9

  按照常理讲,由于有了分区,那么MBR引导扇区内是不是还得有一个记录分区的“子目录”呢?所以我们回来再看MBR的目录结构。

  ▍MBR主引导扇区的结构

  1. 主引导记录(MBR):446字节,记录着硬盘本身的信息以及硬盘各个分区的大小和位置信息,是数据信息的重要入口。

  2. 磁盘分区表(DPT):64字节,4个分区,每个分区16字节;

  3. 55AA:2字节,结束标志,用来标识一个扇区的末端。

  算一算,刚好512字节呢!这就是整个MBR了,你会发现原来硬盘的记录和我们的文件夹相似,是个树形结构,不断层级往下延展读取的。

  ▍EBR

  与MBR相对,扩展分区中的每个小分区也需要自己的“章节”目录,因此EBR就诞生了,即「扩展分区引导目录」。

  基础知识夯实到了这里,相信下面这张图你就能看懂了。

10

  硬盘所有分区详细示意图

  当整张盘被分割成这样后,每一块记录什么内容都固定了,从而每一块的职能也就固定了!磁盘各部分就此各司其职,开始发挥作用了。

  运作——读取流程

  从现在起,展开你的空间想象力,你的大脑呈现出一个磁盘组,磁头正准备读区磁盘内容。

  好的,我们已经选定了一个文件进行读取,所以我们的任务是先找到这个文件,磁盘开始转了……

  1. 首先转到MBR主引导扇区,读取MBR主引导程序(446字节),了解了几个分区的基本情况;

  2. 接着读取MBR主引导扇区的DPT主分区表(16字节),发现文件在第四个分区;

  3. 于是,磁头转到了第四个分区上看,原来第四个分区是个扩展分区!

  4. 那只能继续翻目录呗,就接着查一查扩展分区的分区表;

  5. 扩展分区的分区表显示,文件在 2号逻辑分区;

  6. 行,那就再转个十几度到 2号逻辑分区继续找。

  7. 2号逻辑分区的引导记录(EBR)显示,文件在 n 磁道 m 扇区;

  8. 这下定位成功了,磁头到 2号逻辑分区内的数据区(DATA)就找到了文件。

  9. 文件内容读取中……

  恭喜你,完成读取任务!

  是不是突然觉得,磁头原来很笨,只会一个劲地按顺序“查表”,直到找到文件位置!硬盘原来不过就是一个分类清楚、索引精细的文件存储柜而已。

  而写入数据也是一样的,当你在操作系统里选定将文件放入哪个分区后,硬盘不仅会把文件内容写到磁盘相应的位置上,同时还会把这个位置信息一层层地从MBR到分区表(DPT)、从扩展分区再到EBR全都更新个遍!

  你可能只是存进去点击几下,人家可是要跑个好几圈!你说它忙不忙!

  ▍为什么数据恢复要学习这些?

  你想啊,如果目录没了,上哪儿知道你要恢复的文件在哪个磁道哪个扇区呢?

  假设主引导扇区(MBR)受到破坏,硬盘上的基本数据结构信息都将会丢失!需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。

  主引导扇区内的信息可以通过任何一种基于某种操作系统的分区工具软件写入,但你要是不懂的话,只能看着硬盘哭了。

  参考文献

  白中英,戴志涛. 计算机组成原理[M]. 北京:科学出版社, 2013.

  完

  你以为今天的基本原理知识已经是最底层的吗?

  NO!这还只是逻辑层面(不要惊讶,我懂你),底层的物理层面原理可是把「磁盘驱动器」「磁盘控制器」等拆开揉碎了看,甚至是电信号如何通过正负磁转化为数字信号的原理!如果没有强烈要求,Wendy应该是不会写到那么底层去的……

  我可没想过要自己焊个电脑出来!