王朝百科
分享
 
 
 

主引导扇区

王朝百科·作者佚名  2009-12-23  
宽屏版  字体: |||超大  

一个完整硬盘的数据应该包括五部分:MBR,DBR,FAT,DIR区和DATA区。其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加。

主引导扇区位于整个硬盘的0磁头0柱面1扇区,包括硬盘主引导记录MBR(Master Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。

主引导扇区释疑

关键词:引导扇区、主引导扇区、主引导记录、硬盘分区表。

很多朋友对于硬盘的主引导扇区里的MBR(Main Boot Record)和DPT

(Disk Partition Table)的区别有些分不太清。于是我想把它写个简短的

介绍,希望能对这些朋友有点帮助。

引导扇区在每个分区里都存在,但是我们常说的*主引导扇区*是硬盘的

第一物理扇区。它由两个部分组成:即主引导记录MBR和硬盘分区表DPT。在

总共512字节的主引导分区里其中MBR占446个字节(偏移0--偏移1BDH),DPT

占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55,AA”(偏移1FEH

偏移1FFH)是分区的结束标志。大致的结构如下图:

0000 |------------------------------------------------|

| |

| |

| Main Boot Record |

| |

| |

| 主引导记录(446字节) |

| |

| |

| |

01BD | |

01BE |------------------------------------------------|

| |

01CD | 分区信息 1(16字节) |

01CE |------------------------------------------------|

| |

01DD | 分区信息 2(16字节) |

01DE |------------------------------------------------|

| |

01ED | 分区信息 3(16字节) |

01EE |------------------------------------------------|

| |

01FD | 分区信息 4(16字节) |

|------------------------------------------------|

| 01FE | 01FF |

| 55 | AA |

|------------------------------------------------|

图一:主引导扇区结构图

主引导记录中包含了硬盘的一系列参数和一段引导程序。引导程序主要

是用来在系统硬件自检完后引导具有激活标志的分区上的操作系统。它执行

到最后的是一条JMP指令跳到操作系统的引导程序去。这里往往是引导型病

毒的注入点,也是各种多系统引导程序的注入点。但是由于引导程序本身完

成的功能比较简单,所以我们可以完全地判断该引导程序的合法性(看JMP

指令的合法性),因而也易于修复。象命令fdisk/mbr可以修复MBR和KV300

这类软件可以查杀任意类型的引导型病毒,就是这个原因。

往下来是硬盘的分区表,由4个16字节的分区信息表组成。每个信息表的

结构如下:

偏移 长度 所表达的意义

存贮字节位 内容及含义

第1字节 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。

第2、3、4字节 本分区的起始磁头号、扇区号、柱面号。其中:

磁头号——第2字节;

扇区号——第3字节的低6位;

柱面号——为第3字节高2位+第4字节8位。

第5字节 分区类型符。

00H——表示该分区未用(即没有指定);

06H——FAT16基本分区;

0BH——FAT32基本分区;

05H——扩展分区;

07H——NTFS分区;

0FH——(LBA模式)扩展分区(83H为Linux分区等)。

第6、7、8字节 本分区的结束磁头号、扇区号、柱面号。其中:

磁头号——第6字节;

扇区号——第7字节的低6位;

柱面号——第7字节的高2位+第8字节。

第9、10、11、12字节 本分区之前已用了的扇区数。

第13、14、15、16字节 本分区的总扇区数。

最后的两个标志“55 AA”是分区表的结束标志,如果这两个标志被修改

(有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表。

由上面的所列出的结构可以大致地了解主引导扇区的结构和用途。下面,

有一些关于主引导扇区的常见问题:

Q1、fdisk/mbr 会不会把硬盘的分区表破坏呀?

A:从上面的土一我们可以看到fdisk/mbr是不会影响到DPT的。fdisk/

mbr只是把主引导分区里的MBR部分重新写过,而不会对DPT有任何破坏。

Q2、在Linux里有一种方法可以恢复MBR是用如下的命令:dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1 其中bs(buffer size)是指重写的字节数。为什么不是512

呢?主引导扇区是一个扇区(512字节呀)?

A: 答案是因为我们用上面的命令是为了修复可能被病毒修改了的主引导记

录MBR,或者想把LILO卸载掉,而不是恢复整个主引导扇区。所以我们

只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。

boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把

512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘

DPT表也破坏掉。那就坏事了。 :-)

linuxrat补充一些:=)...

MBR-> Main/Master Boot Record, 有些书上是写成Master的.

我认为可以分成三个部分吧, MBR+DPT+MagicNumber(446+64+2=512)

这也就是为什么进行MBR备份的时候要指定bs=512 或者 bs=1k, count=1的原因. 然后恢复时经常看到HOWTO里面是bs=446 count=1. 这个446就是指令部分的恢复, 不是DPT的恢复. 往往MBR里面的第一个指令是cli... 研究起来是比较有意思的.

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有