
初买来一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上践作系统才可以使用。一个完整硬盘的数据应该包括五部分:mbr,dbr,fat,dir区和data区。其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加。
主引导扇区
主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录mbr(main boot record)和分区表dpt(disk partition table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是践作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80h或00h为开始标志,以55aah为结束标志,共64字节,位于本扇区的 末端。值得一提的是,mbr是由分区程序(例如dos 的fdisk.exe)产生的,不同的践作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。
践作系统引导扇区
obr(os boot record)即践作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于dos来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是践作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为bpb(bios parameter block)的本分区参数记录表。其实每个逻辑分区都有一个obr,其参数视分区的大小、践作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为践作系统的引导文件(例如msdos或者起源于msdos的win9x/me的io.sys和msdos.sys)。如是,就把第一个文件读入内存,并把控制权交予该文件。bpb参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、fat个数、分配单元(allocation unit,以前也称之为簇)的大小等重要参数。obr由高级格式化程序产生(例如dos 的format.com)。
文件分配表
fat(file allocation 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表就可以知道文件在磁盘的具体位置及大小了。在dir区之后,才是真正意义上的数据存储区,即data区。
数据区
data虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如dos下的format程序),并没有把data区的数据清除,只是重写了fat表而已,至于分区硬盘,也只是修改了mbr和obr,绝大部分的data区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如mbr/obr/fat/dir之一被破坏的话,也足够咱们那些所谓的diy老鸟们忙乎半天了......需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能







