主引导扇区释疑
主引导扇区释疑,主引导扇区释疑
标 题: 主引导扇区释疑
发信站: BBS 水木清华站 (Sat Nov 20 06:50:43 1999)
主引导扇区释疑
关键词:引导扇区、主引导扇区、主引导记录、硬盘分区表。
NightOwl
1999.11
-------------------------------------------------------------------
本文尚未完备,如有好的意见和建议欢迎与我联系.
-------------------------------------------------------------------
很多朋友对于硬盘的主引导扇区里的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字节的分区信息表组成。每个信息表的
结构如下:
偏移 长度 所表达的意义
0 字节 分区状态: 如0--非活动分区
80-- 活动分区
1 字节 该分区起始头(HEAD)
2 字 该分区起始扇区和起始柱面
4 字节 该分区类型:如82-- Linux Native分区
83-- Linux Swap 分区
5 字节 该分区终止头(HEAD)
6 字 该分区终止扇区和终止柱面
8 双字 该分区起始绝对分区
C 双字 该分区扇区数
最后的两个标志“55 AA”是分区表的结束标志,如果这两个标志被修改
(有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表。
由上面的所列出的结构可以大致地了解主引导扇区的结构和用途。下面,
有一些关于主引导扇区的常见问题:
Q1、fdisk/mbr 会不会把硬盘的分区表破坏呀?
A: 从上面的土一我们可以看到fdisk/mbr是不会影响到DPT的。fdisk/
mbr只是把主引导分区里的MBR部分重新写过,而不会对DPT有任何破坏。
Q2、在Linux里有