欢迎j进入我的个人知识库,这里大多是我从网络搜集的对我有用的资料,有些是我个人的备忘记录,希望对你也有用! 我关注的:1. 测试技术 ;2. 编码技术 ;3. 数据库技术 ;4. 计算机网络技术 ;5. 计算机原理;

MBR

上一篇 / 下一篇  2010-11-16 10:55:39 / 个人分类:OS-Linux

MBR:Master Boot Record,主引导记录,硬盘的0磁道的第一个扇区称为MBR,大小是512字节,这个区域可以分为两个部分,第一部分为pre-boot区(预启动区),占446字节;第二部分是partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。
它不属于任何操作系统,也不能用操作系统提供的磁盘操作命令来读取它,但可以用ROM-BIOS中提供的NT13H的2号功能来读出该扇区的内容,也可以用软件工具Norton8.0中的DISKEDIT.EXE来读取。

用INT13H的读磁盘扇区功能的调用参数如下:

入口参数:AH=2 (指定功能号)

AL=要读取的扇区数

DL=磁盘号(0、1-软盘;80、81-硬盘)

DH=磁头号

CL高2位+CH=柱面号

CL低6位=扇区号

CS:BX=存放读取数据的内存缓冲地址

出口参数:CS:BX=读取数据存放地址

错误信息:如果出错CF=1 AH=错误代码

用DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下:

A>DEBUG

-A 100

XXXX:XXXX MOV AX,0201 (用功能号2读1个扇区)

XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000)

XXXX:XXXX MOV CX,0001 (读0柱面,1扇区)

XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头)

XXXX:XXXX INT 13

XXXX:XXXX INT 3

XXXX:XXXX (按回车键)

-G=100 (执行以上程序段)

-D 1000 11FF (显示512字节的MBR内容)

一个扇区的硬盘主引导记录MBR由4个部分组成:
·主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。
·出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。
·分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。
·结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。

Fdisk /MBR
重写硬盘主引导区,注意中间有个空格
fdisk /mbr 命令适用于:

1. 主引导程序受损
此乃常见故障, 硬盘不能自举, 微机死锁, 或显示 boot failure-insert system diskette, ……之类; 经由软盘引导, fdisk 命令能列出分区信息。
取硬盘同版本 dos 软盘或应急盘引导, 运行 a>fdisk /mbr 命令,仅向主引导扇区写入当前系统固有的主引导程序, 硬盘即恢复自举能力, 如果 dos 引导信息及系统文件等均正常。

2. 清除嵌入式主引导型病毒
此类病毒常见, 它们仅以先导模块嵌入主引导程序, 不触动分区表及检验标志。
首选以检出此类病毒的软件清除。
遇杀毒软件不效, 简洁高效的对策是以硬盘同版本 dos 软盘引导, 运行 a>fdisk /mbr 命令, 向硬盘单一地写入当前系统固有的主引导程序, 病毒“先导”模块被覆盖, 分藏它处的残部随之丧失作用。
顺及, 以常规 fdisk 命令进行分区, 难能清除此类病毒, 原因是当它读得检验标志完好, 自动逾越主引导程序写操作, 仅登录分区表, 病貌依旧! 硬盘格式化后不能自举。行之有效的措施是运行 a>fdisk /mbr命令。
早年曾出于无奈而动用物理格式化程序, 稍后方悟悉硬盘经初始化, 碍事的检验标志不复存在。

3. 仅设基本 dos 分区硬盘的主引导信息全损
前述表现之外, 执行 a>c:, 显示 invalid drive specification,乃分区表遭毁; fdisk 命令不能列出分区信息。
实践中曾遇两例原仅设基本 dos 分区的硬盘(无扩展dos分区), 主引导扇区面目皆非, 经分别运行原用的 ms dos 7.0 及 7.1 fdisk /mbr命令, 常规重写全套完全适用的主引导信息, 由于其 dos 引导信息、文件分配表、根目录及用户数据完好, c 盘均迅即康复。(常规 fdisk 命令初始化 dos 引导扇区等, 有需后续处理)

4. 清除 lilo 信息
在以系统自带的 linux load 过程中, 每修改主引导信息, 籍以引导 linux。
需要时, 删除 linux 分区后, 可用 fdisk /mbr 命令恢复系统固有的主引导程序。

5. 清除主引导程序“空闲”字节中的外加信息
既往所见各版本 dos 登录的主引导程序基本相同, 其末段均为大于200 字节的“空闲”(00h); ms dos 7.1 /

8.0 使用新版主引息程序, “空闲”字节数大减。
上述“空闲”字节有被利用登录开机密码、软件鉴别信息之类。若有需要, 也可用 fdisk /mbr 命令复原, 即予清除。


TAG: MBR

 

评分:0

我来说两句

Open Toolbar