解剖硬盘,分析一下它的组成部分

有很多的计算机爱好者并不清楚硬盘的一些基本常识,比如:初买来一块硬盘,我们是没有办法直接使用的,你需要将它格式化,分区、然后再安装上操作系统这样才可以使用了。一个完整硬盘的数据应该包括五大部分:FAT,DIR ,MBR,DBR,区和DATA区了。其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加了。下面我们对硬盘数据恢复相关的理论扫盲:

一、文件分配表

FAT(File Allocetion Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二 FAT为第一 FAT 的备份, FAT区紧接在 OBR之后,其大小由本分区的大小及文件分配单元的大小决定了。关于 FAT 的格式历来有很多选择,
Microsoft 的 DOS 及 Windows 采用我们所熟悉的 FAT12、FAT16 和 FAT32 格式,但除此以外并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式了。

二、目录区

DIR是Directory即根目录区的简写,DIR紧接在第二 FAT表之后,只有 FAT还不能定位文件在磁盘中的位置,FAT 还必须和 DIR 配合才能准确定位文件的位置了。DIR 记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等了。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了了。

三、 操作系统引导扇区

OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的 0磁道 1 柱面1 扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表了。其实每个逻辑分区都有一个 OBR,其参数视分区的大小、操作系统的类别而有所不同了。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如 MSDOS 或者起源于 MSDOS 的 Win9x/Me的 IO.SYS 和 MSDOS.SYS)了。如是,就把第一个文件读入内存,并把控制权交予该文件了。BPB 参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocetion Unit,以前也称之为簇)的大小等重要参数了。OBR由高级格式化程序产生。

四、 主引导扇区

主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)了。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行了。至于分区表,很多人都知道,以 80H 或 00H 为开始标志,以55AAH 为结束标志,共64字节,位于本扇区的最末端了。值得一提的是,MBR是由分区程序(例如DOS 的Fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同了。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)了。

五. 数据存储区

数据存储区,即DATA区,数据存储区才是真正意义上的数据存储区。

相关推荐:
美国第一资本银行周一透露,1 亿美国居民和 600 万加拿大居民的信息被盗。 33 岁前亚马逊 AWS 雇员 Paige A. Thompson 周一遭到逮捕,被控入侵第一资本的网络,窃取了用户的敏感数据。暴露的用户信息包括名 …
centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装   类似[ubuntu]apt-get安装 rpm命令 (一)查询系统装 …
注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windo …
WebDAV (Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1 的一个通信协议。它为 HTTP 1.1 添加了一些扩展(就是在 GET、POST、HEAD 等几个 HTTP 标准方法以外添加了一些新的方法),使 …
所谓的粘性广播就是指发出的广播内容会一直在系统滞留,如果有敏感信息,会被其他恶意应用获取。 开发中尽量不要使用sendStickyBroadcast方法,或者使用后调用removeStickyBroadcast()删除。
拿起手机扫一扫即可带走我!