linux的MBR介绍

来源:互联网 发布:金十数据大众赢直播室 编辑:程序博客网 时间:2024/05/01 00:05

linux的MBR介绍

2010/5/14 16:39:41
什么是mbr
★MBR是什么
MBR 是英文Master Boot Record的缩写,中文意为主引导记录。硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre- boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。
★FDISK /MBR的功能
FDISK /MBR是一个隐藏的命令,其功能是在硬盘上无条件地重新写入主引导程序和分区表,并且不对DOS引导扇区、文件分配表和目录区进行初始化。也就是说,执行FDISK/MBR后,可在不破坏硬盘上原有数据信息的情况下,重建主引导程序和分区表。它对单纯感染嵌入式引导区病毒的硬盘,亦可起到清除病毒的作用。不过,有些病毒正是利用FDISK /MBR的原理,修改计算机正常的引导和文件结构,如果再强行使用FDISK /MBR可能会使系统变得更糟,甚至也可能把硬盘中所有的数据清除。所以最好不要随便使用此命令。
引导扇区在每个分区里都存在,但是我们常说的*主引导扇区*是硬盘的第一物理扇区。它由两个部分组成:即主引导记录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”是分区表的结束标志,如果这两个标志被修改
  (有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表
本文出自 51CTO.COM技术博客

Comments

原创粉丝点击