主引导记录概述
扫描二维码
随时随地手机看文章
MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR。
硬盘主引导记录 (MBR) , 位于硬盘的0柱面0磁头l扇区处。其包括硬盘主引导记录MBR和分区表DPT以及结束标志“55AA”[1], 这部分数据总共占512字节, 其中MBR占其中的446个字节,另外的64个字节交给了分区表DPT, 最后2个字节“55AA”是分区的结束标志。值得一提的是, MBR是由分区程序 (例如DOS的Fdisk.exe) 产生。
计算机系统启动首先对本机的硬件设备进行测试, 测试成功之后进入自举程序INT l9H, 然后将磁盘的0柱面、0磁头、1扇区的主引导记录内容读入内存指定单元, 其首址为0:7C00开始的区域, 并执行MBR程序段。主引导记录优先于所有操作系统被调入内存的指令, 并发挥主导作用。最后把控制权交给主分区 (活动分区) 内操作系统, 并让主分区信息来管理硬盘。可见, 主引导记录不依赖任何操作系统, 且硬盘引导程序为可变的, 因此完全可以实现多系统共存 (但最多4个系统) 。MBR主要功能如下
(1) 首先检查硬盘中分区表是否完好。(2) 从分区表查找可引导的“活动”分区。(3) 将活动分区中第一逻辑扇区数据加载到内存中。在DOS分区中, 该扇区内容被称为DOS引导记录, 简称DBR。 MBR引导部分的程序段执行程序流程。
根据上述的MBR的工作流程, 可以在系统引导时加入或改变计算机系统正常的引导过程。比如, 优先执行用户程序段, 再引导操作系统。因此, 可以利用这一特点来实现数据保护和数据恢复功能。例如, 当前流行使用的硬盘保护卡、还原软件等均为改写0柱0头1扇区的代码部分, 在系统启动时抢夺中断INT 13H的控制权, 先将原中断INT 13H的入口地址保存起来, 然后将入口地址指向自己的INT 13H处理程序, 并通过自已的监控部分的程序来确保该入口地址始终指向自己的INT 13H, 同时拦截所有的其他INT 13H中对硬盘0柱0头1扇区的操作, 把所有对0柱0头1扇区的读写操作改为对虚拟主引导记录的操作。在拦截所有INT 13H写硬盘操作后, 将把所这些写操作在虚拟内存中进行, 并做好完整的记录, 等系统重新启动后还原这些记录[5], 实现数据保护与数据恢复功能。
硬盘是计算机的主要外部存储设备, 大多数用户的数据都存储在硬盘上, 如果硬盘出现故障, 不仅需要维修硬盘, 而且还需要抢救硬盘数据。硬盘的故障常见有两类:一类是硬盘的硬件发生故障, 称为硬故障。硬件故障一般为磁盘划伤、磁组变形、芯片组或其它元器件损坏等。表现为系统一般不认硬盘, 常有一种“咔嚓咔嚓”的磁组撞击声或电机不转、通电后无任何声音、磁头错位造成读写错误等。另一类是写在硬盘上的软件发生故障, 称为软故障, 一般是病毒感染、误操作、操作时断电等引起的。本文仅讨论软故障中MBR数据恢复的软件层面上的解决办法。
用Win98的引导盘或DOS引导盘引导系统到纯DOS命令提示符下执行“Fdisk/MBR”命令进行无条件重写, 主引导记录一般都能成功, 且保留原有数据。Fdisk命令行格式语法为:“Fdisk/参数开关”, 其中/MBR参数功能:重新建立主磁盘的主引导记录。其它的一些隐藏参数, 其功能对于有病毒感染主引导扇区时, 用来清除病毒时用。需要提醒的是, 隐藏参数危险系数比较大, 使用时需谨慎。