MBR区、DBR区、FAT区、DIR区和DATA区的区别

来自:互联网

磁盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下:

(1)MBR区(主引导扇区)

  MBR(Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0--偏移1BDH),另外的64个字节(偏移1BEH--偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表)(见下表),最后两个字节"55,AA"(偏移1FEH- 偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。

  主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.com)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

偏移 长度 所表达的意义

0 字节 分区状态:如0-->非活动分区

80--> 活动分区

1 字节 该分区起始头(HEAD)

2 字 该分区起始扇区和起始柱面

4 字节 该分区类型:如82--> Linux Native分区

83--> Linux Swap 分区

5 字节 该分区终止头(HEAD)

6 字 该分区终止扇区和终止柱面

8 双字 该分区起始绝对分区

C 双字 该分区扇区数

下面,我们以一个实例让大家更直观地来了解主引导记录:

例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

  在这里我们可以看到,最前面的"80"是一个分区的激活标志,表示系统可引导;"01 01 00"表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;"0B"表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);"FE BF FC"表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;"3F 00 00 00"表示首扇区的相对扇区号为63;"7E 86 BB 00"表示总扇区数为12289622。

(2)DBR区

  DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把其读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。

(3)FAT区

  在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。簇的大小与磁盘的规格有关,一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……         通过上文我们已经知道,同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。硬盘上的文件常常要进行创建、删除、增长、缩短等操作。这样操作做的越多,盘上的文件就可能被分得越零碎(每段至少是1簇)。但是,由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。不过,这种以簇为单位的存储法也是有其缺陷的。这主要表现在对空间的利用上。每个文件的最后一簇都有可能有未被完全利用的空间(称为尾簇空间)。一般来说,当文件个数比较多时,平均每个文件要浪费半个簇的空间。

  好了,我们言归正传,为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号,对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。

  由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为"未占用",但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为"坏簇",以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见和为读者所熟悉的是FAT16和FAT32,其中FAT16是指文件分配表使用16位数字,由于16位分配表最多能管理65536(即2的16次方)个簇,也就是所规定的一个硬盘分区。

  由于每个簇的存储空间最大只有32KB,所以在使用FAT16管理硬盘时,每个分区的最大存储容量只有(65536×32 KB)即2048MB,也就是我们常说的2G。现在的硬盘容量是越来越大,由于FAT16对硬盘分区的容量限制,所以当硬盘容量超过2G之后,用户只能将硬盘划分成多个2G的分区后才能正常使用,为此微软公司从Windows 95 OSR2版本开始使用FAT32标准,即使用32位的文件分配表来管理硬盘文件,这样系统就能为文件分配多达4294967296(即2的32次方)个簇,所以在簇同样为32KB时每个分区容量最大可达65G以上。此外使用FAT32管理硬盘时,每个逻辑盘中的簇长度也比使用FAT16标准管理的同等容量逻辑盘小很多。由于文件存储在硬盘上占用的磁盘空间以簇为最小单位,所以某一文件即使只有几十个字节也必须占用整个簇,因此逻辑盘的簇单位容量越小越能合理利用存储空间。所以FAT32更适于大硬盘。

(4)DIR区(根目录区)

  DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

(5)数据(DATA)区

  数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

时间: 2024-10-20 06:22:54

MBR区、DBR区、FAT区、DIR区和DATA区的区别的相关文章

FAT32文件系统学习(3) —— 数据区(DATA区)

FAT32文件系统学习(3) —— 数据区(DATA区) 今天继续学习FAT32文件系统的数据区部分(Data区).其实这一篇应该是最有意思的,我们可以通过在U盘内放入一些文件,然后在程序中读取出来:反过来也可以用程序在U盘内写入一下数据,然后在windows下可以看到写入的文件.这些笔者都会在这篇文章中演示.同时,在写这篇文章的时候笔者也发现了许多意想不到的规律. 1.本文目录 1.读取根目录 2.短文件名目录项 3.长文件名目录项 4.U盘写入文件夹 5.参考文献 2.读取根目录 两张FAT

磁盘还原后MBR及DBR修复

最近在做磁盘的备份.还原测试,使用WindowsAPI中的DeviceIoControl来备份.还原磁盘的Layout,然后依次.按对应顺序拷贝源磁盘的各个分区中的数据,但在将目标磁盘作为启动磁盘启动时,屏幕出现黑屏以及光标闪烁的想象,查看资料说是因为MBR被破坏的问题.使用WinHex查看目标磁盘的MBR,启动代码良好,查看启动分区的DBR,发现BPB参数中磁道扇区数.磁头数和源硬盘不同,于是修改这两个参数,使得和源硬盘相同,修改后磁盘能够启动,系统启动正常. 但是在WindowsXP下测试程

计算机启动过程及相关知识BIOS CMOS等

Contents 一.bios存放在哪里?... 2 二.如果说BIOS存放在ROM中,那么为什么可以升级BIOS?... 3 三.BIOS与CMOS的区别和联系... 4 3.1.BIOS是什么?... 4 3.2.BIOS的功能... 4 3.3.CMOS是什么?... 5 3.4.BIOS设置和CMOS设置的区别与联系... 6 3.5.何时要对BIOS或CMOS进行设置?... 6 四.POST(开机自检)与BIOS在启动过程那个先开始执行... 7 五.BIOS 是什么语言编写的...

[经验] 电脑维修(看完后就可以开一家自己的电脑维修店!)

[经验] 电脑维修(看完后就可以开一家自己的电脑维修店!) 第一部分 总则 第一章 电脑维修的基本原则和方法 第二章 电脑维修步骤与维修操作注意事项 第二部分 常见故障判断 第一章 加电类故障 第二章 启动与关闭类故障 第三章 磁盘类故障 第四章 显示类故障 第五章 安装类故障 第六章 操作与应用类故障 第七章 局域网类故障 第八章 Internet类故障 第九章 端口与外设故障 第十章 音视频类故障 第十一章 兼容类故障 第三部分 附录 硬盘基本知识 挽救硬盘的几个方法 硬盘逻辑锁巧解 WIN

硬盘常见故障有哪些,如何恢复数据?

硬盘数据恢复故障类型 1 硬盘数据恢复软件类故障的特点为: 无法进入操作系统.文件无法读取.文件无法被关联的应用程序打开.文件丢失.分区 丢失.乱码显示等.2 硬盘数据恢复常见硬件故障原因主要有: 硬盘的读写磁头由于受到剧烈震动后极易损坏,导致不认硬盘,因此硬盘的 磁头组件是硬盘硬件损坏的常见故障; 硬盘的供电.接口故障; 硬盘主板电路板烧毁故障; 硬盘电机驱动芯片损坏导致主轴电机不转; 硬盘的盘片包括逻辑性坏道和物理性坏道的故障; 硬盘的固件丢失或损坏等故障.另外硬盘的缓存若出现故障会导致硬盘

Linux内核完全注释之编程语言和环境(一)

as86汇编器 1.来源与对于linux的用途 as86来源minix-386开发的intel 8086.80386汇编编译程序和链接程序,他主要为linux创建16位的启动引导扇区程序boot/bootsect.s和实模式下初始设置程序boot/setup.s的二进制执行代码. 2.语法 as86语法是基于minix系统的汇编 语言语法,与gnu as汇编器的语法不兼容 汇编的命令基本格式: as [option] -o objfile srcfile 3.语句 汇编语言程序srcfile是一

sk_buff 结构分析

sk_buff分析 sk_buff是Linux网络代码中最重要的结构体之一.它是Linux在其协议栈里传送的结构体,也就是所谓的“包”,在他里面包含了各层协议的头部,比如ethernet, ip ,tcp ,udp等等.也有相关的操作等.熟悉他是进一步了解Linux网络协议栈的基础. 此结构定义在<include/linux/skbuff.h>头文件中,结构体布局大致可分为以下四部分: l       布局(layout) l       通用(general) l       功能专用(fe

一些简单的概念笔记

1.重定位 汇编器产生的目标程序至少包含三个区,即文本区,数据区和bss区.文本区一般包括程序的代码和常量,数据区通常存放全局变量等内容,bss区用于存放未初始化的变量或作为公共变量存储空间.在一个目标文件中,其text区从地址0开始,随后是data区,再后面是bss区.而要运行程序,必须装载到内存中,所以这些区的地址需要在内存中重新安排,也就是重定位. 2.链接器和加载器 链接器解决外部内存地址问题,而加载器把所有的可执行目标文件放到内存中执行.

JMeter基础:请求参数Parameters 、Body Data的区别

使用Jmeter测试时,很多人不知道请求参数Parameters .Body Data的区别和用途,这里简单介绍下 先了解一个接口的基本概念 在客户机和服务器之间进行请求-响应时,HTTP协议中包括GET和POST两种基本的请求方法,概念上两者的区别是: get:从指定的资源请求数据.post:向指定的资源提交要被处理的数据最直观的表现就是: GET把参数包含在URL中,POST通过request body传递参数将请求整体提交给服务器.所以接口测试时要区分两种方法对待. Jmeter中包含Pa