磁盘上的数据按照其不同的特点和作用大致可分为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区之后,占据硬盘上的大部分数据空间。

MBR区、DBR区、FAT区、DIR区和DATA区的区别相关推荐

  1. DS系列服务器硬盘扇区,硬盘基本知识(磁道、扇区、柱面、磁头数、簇、MBR、DBR)...

    硬盘的DOS管理结构 1.磁道,扇区,柱面和磁头数 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘片有两面,都可记录信息.盘片被分成许多扇形的区域,每个 ...

  2. java方法区超详细汇总,方法区到底是干什么用的?不懂方法区不能说了解jvm!

    目录 一.运行时数据区结构图 二.栈.堆.方法区的交互关系 三.方法区的理解 官方文档 方法区在哪里 方法区的基本理解 HotSpot中方法区的演进 四.设置方法区大小与OOM 设置方法区内存的大小 ...

  3. android技术篇(三)解密data区

    android技术篇(二)解密data区 其实data加密和system上锁是相同的性质,不过data加密了部分文件还是可以拷贝进去的,不过里面的数据加密了的是不可修改的,甚至有些连查看都不允许! 解 ...

  4. 明日之后android和ios,明日之后互通区有哪些 明日之后ios和安卓互通区一览

    明日之后互通区有哪些,明日之后许多玩家都在和小伙伴一起在体验着明日之后手游,由于手机系统型号不一样就有不少玩家在寻找着安卓和ios互通区体验,那么明日之后有哪些区服安卓和ios互通呢,一起来看看明日之 ...

  5. 四.运行时数据区-本地方法栈(Native Method Stack)-堆-方法区

    1. 前言:本地方法接口 1.1 本地方法 简单来讲,一个Native Method就是一个java调用非java代码的接口,一个Native Method 是这样一个java方法:该方法的实现由非J ...

  6. 计算机键盘分为哪几个键区,标准键盘一般分为哪四个键区

    标准键盘一般分为哪四个键区,键盘,小键盘,光标,功能键,主键 标准键盘一般分为哪四个键区 易采站长站,站长之家为您整理了标准键盘一般分为哪四个键区的相关内容. 标准键盘一般分为功能键区.主键盘区.小键 ...

  7. 王者荣耀s12服务器维护,王者荣耀S12赛季野区资源调整了什么?S12赛季野区资源调整内容介绍...

    王者荣耀S12赛季野区资源调整了什么?王者荣耀S12赛季野区资源再次大幅调整,对打野英雄有更多打限制,因为只有带惩击才能购买打野装备,同时每把打野刀都提升了,但是相应的野怪血量和金币收益等方面也再次提 ...

  8. 龙族幻想微信一区哪个服务器人多,龙族幻想微信一区-命运之刃开服时间表_龙族幻想新区开服预告_第一手游网手游开服表...

    2019-09-02 10:00 手Q二十四区-王者之争 已经开服 10:00 微信十一区-自由之日 已经开服 2019-08-29 10:00 手Q二十四区-逆卷刃流 已经开服 2019-08-28 ...

  9. 郫都区计算机老师周俊老师,成都郫都区亮灯“表白”教师 用一城绚烂映出桃李满天...

    原标题:成都郫都区亮灯"表白"教师 用一城绚烂映出桃李满天 "教师节快乐!""老师,您辛苦了!"--9月10日是我国第36个教师节,记者从成 ...

最新文章

  1. 如何循序渐进向DotNet架构师发展
  2. php树形结构变成线性结构,php把数据集转换成树状结构,无限极分类生成树状 – CSDN博客...
  3. LeetCode算法入门- Roman to Integer Integer to Roman -day8
  4. JEECG十二个开源项目下载大全
  5. 沉浸式状态栏html5实现,Fragment和Activity两种沉浸式状态栏的实现
  6. 2021李宏毅机器学习课程笔记——Recurrent Neural Network
  7. .NET 轻松实现HTML的绝对过滤之SafeHelper
  8. oracle 开启事务_javaSE第十四部分 JDBC(2)mysql事务和JDBC实现事务
  9. 用Python实现开心消消乐小游戏
  10. unity人物刚体移动_Unity3D 角色(物体) 移动方法 合集
  11. MAC 笔记本的快捷键和输入法切换(搜狗)
  12. 外贸人如何从SiteGround购买建站外贸主机
  13. 用jupyter notebook卸载Python第三方库
  14. Andoid-----抽奖转盘----12宫格----实用性商业化
  15. 10位、13位时间戳转换成日期格式JS
  16. iMeta | 国际标准刊号ISSN印刷版正式确认,双ISSN申请完成
  17. 2023 hnust 湖南科技大学 大三下 人工智能导论课程 期中考试复习笔记
  18. 报错:NestedIOException: Failed to parse mapping resource
  19. 潇湘高考app考生版
  20. 小程序跳转微信支付分流程

热门文章

  1. Confluence 6 找到在创建 XML 备份的时候出现的错误
  2. R语言修改标题、坐标轴刻度、坐标轴名称的大小(cex.axis、cex.lab、cex.main函数)...
  3. 在RHEL5下构建DHCP及DHCP中继服务器
  4. 转:几款主流 NoSql 数据库的对比
  5. Wince C++串口编程
  6. 【2781】二分练习 sdutOJ
  7. MultiRow发现之旅(二)- 详解属性管理器
  8. java 读写文件[多种方法]
  9. 观点:云大数据服务一定是终极形态吗?
  10. Spring / Spring boot 异步任务编程 WebAsyncTask