解析DBR操作系统引导记录数据

要想了解文件系统,不得不熟悉DBR,下面我们一起来解析一下DBR中的数据。

Dos Boot Record(DBR)操作系统引导记录是由操作系统的格式化程序建立的,在文件系统驱动操作任何一个磁盘卷时,这一部分的信息将被读取并作为文件系统在这个磁盘卷上的参数被使用。它包含了有效的引导程序、厂商标志、BPB数据块等。

1.那么怎么得到DBR呢?它位于分区的第一个扇区。而分区的地址可以从磁盘的第一个分区的分区表项中获得。

具体可参考http://blog.csdn.net/liyun123gx/article/details/38420665

2.分析本扇区数据

下面是一个DBR的信息

(注意 数据以小端格式存储的)

0x11~0x02:      3个字节,跳转指令。跳转到DBR后面一点的引导程序处。引导程序是一段用来加载真正操作系统的程序。

0x03~0xA:        8个字节,OEM串。本例中是MSDOC5.0

0X0B~0X0C:   2个字节,每扇区的字节数。本例是0X0200,512

0X0D                1个字节,每簇的扇区数。本例是0x8

0X0E~0X0F:    2个字节,保留扇区数。本例是0x0026

0X10:             1个字节,FAT表个数。本例是0x02

0X11~0X12:  2个字节,根目录最多可容纳的目录项数。FAT12和FAT16通常为512,FAT32不使用此值,为0.本例中是FAT32,所以为0.

0X13~0X14:  2个字节,扇区总数。小于32MB时使用该处存放,超过32MB的使用偏移0x20~-x23字节处的4字节存放。本例中磁盘为7G多,故为0.

0X15:              1个字节,介质描述。本例中0XF8表示本地硬盘。

0X16~0X17:   2个字节,每个FAT表的扇区数。同样,FAT32不使用,为0.

0X18~0X19:   2个字节,每个磁道的扇区数。本例是0X3F,63

0X1A~0X1B:      2个字节,磁头数。本例是0XFF,255

0X1C~0X1F:     4个字节,分区前已经使用的扇区数。本例是 0X 00 00 00 3F,63

0X20~0X23:   4个字节,文件系统扇区数。本例是 0X00 EA 58 78,15358072

0X24~0X27:   4个字节,每个FAT表的扇区数。本例是 0X00 00 3A 79,14969

0X28~0X29:   2个字节,标记。

0x2A~0x2B:    2个字节,版本号。

0x2C~0x2F:    4个字节,根目录簇号,2。(虽然在FAT32文件系统下,根目录可以存放在数据区的任何位置,但是通常情况下还是起始于2号簇)

0x30~0x31:     2个字节,FSINFO(文件系统信息扇区)扇区号,1。该扇区为操作系统提供关于空簇总数及下一可用簇的信息。

0x32~0x33:     2个字节,备份引导扇区的位置,6。备份引导扇区总是位于文件系统的6号扇区。

0x34~0x3F:     12个字节,未使用。

0x40~0x40:     1个字节,BIOS INT 13H 设备号,0x80。

0x41~0x41:     1个字节,未用。

0x42~0x42:     1个字节,扩展引导标志。0x29。

0x43~0x46:     1个字节,卷序列号。通常为一个随机值。

0x47~0x51:     11个字节,卷标(ASCII码),如果建立文件系统的时候指定了卷标,会保存在此。本例中是NO NAME

0x52~0x59:     8个字节,文件系统格式的ASCII码,FAT32。

0x5A~0x1FD:  410个字节,未使用。该部分没有明确的用途。

0x1FE~0x1FF: 签名标志“55 AA”。

3.FAINFO信息扇区

FAINFO一般位于文件系统的1号扇区,就是DBR的下一个扇区。

下面介绍一下FSINFO的结构

0x00~0x03:          4个字节,扩展引导标志“52526141”。

0x04~0x1E3:    480个字节,未使用,全部置0。

0x1E4~0x1E7: 4个字节,FSINFO签名“72724161”。

0x1E8~0x1EB: 4个字节,文件系统的空簇数,41207688(0x00 12 6D 88)。

0x1EC~0x1EF: 4个字节,下一可用簇号,663(0x00 00 02 97)。

0x1F0~0x1FD: 14个字节,未使用。

0x1FE~0x1FF: 2个字节,“55 AA”标志。

注意:通常情况下,文件系统的2号扇区结尾也会被设置“55 AA”标志。6号扇区也会有一个引导扇区的备份,相应的,7号扇区应该是一个备份FSINFO信息扇区。8号扇区可以看做是2号扇区的备份,它的结尾也会有一个“55 AA”标志。

解析DBR操作系统引导记录数据

时间: 2024-08-29 00:43:37

解析DBR操作系统引导记录数据的相关文章

深入解析Windows操作系统笔记——CH1概念和术语

1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具... 1 1.1操作系统版本... 1 1.2基础概念和术语... 2 1.2.1Windows API2 1.2.2 服务.函数和例程... 3 1.2.3 进程.线程和作业... 4 1.2.3.1 进程... 4 1.2.3.2 线程... 4 1.2.3.3 虚拟地址描述符... 4 1.2.3.4 作业... 4 1.2.4 虚拟内存... 5 1.2.5 内核模式和用户模式... 5 1.2.6 终端

【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据

<H.264/AVC视频编解码技术具体解释>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战project的形式对H.264的标准进行解析和实现,欢迎观看! "纸上得来终觉浅.绝知此事要躬行".仅仅有自己依照标准文档以代码的形式操作一遍,才干对视频压缩编码标准的思想和方法有足够深刻的理解和体会. 链接地址:H.264/AVC视频编解码技术具体解释 GitHub代码地址:点击这里 1. H.264的CAVLC

Gson解析第三方提供Json数据(天气预报,新闻等)

之前都是自己写后台,自己的server提供数据给client. 近期在看第三方的数据接口,訪问其它站点提供的信息.比方.我们可能自己收集的数据相当有限.可是网上提供了非常多关于天气预报.新闻.星座运势.身份证号.车辆违章.健康医疗.快递查询.ip查询.翻译等的api接口.基本返回数据为类型json和xml 我就喜欢简单便捷的东西.在这解析一下第三方新闻的接口返回的json数据: 我喜欢用谷歌提供的Gson,感觉比JSON去解析要简单.方便,快捷:当然了阿里巴巴提供的fastjson也是极好的.在

【H.264/AVC视频编解码技术详解】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据

<H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看! "纸上得来终觉浅,绝知此事要躬行",只有自己按照标准文档以代码的形式操作一遍,才能对视频压缩编码标准的思想和方法有足够深刻的理解和体会! 链接地址:H.264/AVC视频编解码技术详解 GitHub代码地址:点击这里 1. H.264的CAVLC解析宏块残差数据的流

解析form表单数据

//解析form表单数据 function parseFormData(params) { var args = new Object(); for(var key in params){ if(!params[key].name) continue; var pos = params[key].name.indexOf("."); if(pos == -1){ args[params[key].name] = params[key].value; }else{ var argName

如何解析Json返回的数据

Json在Web开发的用处非常广泛,环球娱乐城作为数据传递的载体,如何解析Json返回的数据是非常常用的.下面介绍下四种解析Json的方式: Part 1 var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leamiko","xing":"lin"}]; alert(list2[0]["xing"]) alert(list2[0].xin

【翻译】《深入解析windows操作系统第6版下册》第10章:内存管理

[翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第一部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第二部分) [翻译]<深入解析windows操作系统第6版下册>第10章:内存管理(第三部分) . . .

使用Gson解析复杂的json数据

Gson解析复杂的json数据 最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的json解析方法即JsonObject和JsonArray的配合使用,这对于解析小数据的json数据还是比较实用,但是当解析json数据比较复杂的时候这种方法就显得比较吃力也比较麻烦了,如果大家感兴趣的话网上有大量的实例可以到网上去看看. 在这里我将介绍解析json数据的另外一种方法就是通过Gson解析,

Android Gson解析多层嵌套复杂数据

目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://code.google.com/p/google-gson/ 什么是JSON: JSON即JavaScript Object Natation, 它是一种轻量级的数据交换格式, 与XML一样, 是广泛被采用的客户端和服务端交互的解决方案. JSON对象:  JSON中对象(Object)以"{"