4 硬盘的0柱面.doc_第1页
4 硬盘的0柱面.doc_第2页
4 硬盘的0柱面.doc_第3页
4 硬盘的0柱面.doc_第4页
4 硬盘的0柱面.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硬盘的0柱面、0磁头、1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。1.MBR的读取硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的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扇区的操作如下:ADEBUG-A 100XXXX: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 13XXXX:XXXX INT 3XXXX:XXXX(按回车键)-G=100(执行以上程序段)-D 1000 11FF(显示512字节的MBR内容)2.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,如果该标志错误系统就不能启动。0000-0088Master Boot Record主引导程序主引导程序0089-01BD出错信息数据区数据区01BE-01CD分区项1(16字节)分区表01CE-01DD分区项2(16字节)01DE-01ED分区项3(16字节)01EE-01FD分区项4(16字节)01FE55结束标志01FFAA3.MBR中的分区信息结构占用512个字节的MBR中,偏移地址01BEH-01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用FDISK定义分区时确定的。在实际应用中,FDISK对一个磁盘划分的主分区可少于4个,但最多不超过4个。每个分区表的项目是16个字节,其内容含义如下表所示。存贮字节位内容及含义第1字节引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。第2、3、4字节本分区的起始磁头号、扇区号、柱面号。其中: 磁头号第2字节; 扇区号第3字节的低6位; 柱面号为第3字节高2位+第4字节8位。第5字节分区类型符。 00H表示该分区未用(即没有指定); 06HFAT16基本分区; 0BHFAT32基本分区; 05H扩展分区; 07HNTFS分区; 0FH(LBA模式)扩展分区(83H为Linux分区等)。第6、7、8字节本分区的结束磁头号、扇区号、柱面号。其中: 磁头号第6字节; 扇区号第7字节的低6位; 柱面号第7字节的高2位+第8字节。第9、10、11、12字节本分区已用的扇区数。第13、14、15、16字节本分区的总扇区数。4.MBR的主要功能及工作流程在CPU上电之后,若由硬盘启动,则BIOS将硬盘的主引导记录(位于0柱面、0磁道、1扇区)读入7C00处,然后将控制权交给主引导代码。主引导代码的任务包括:扫描分区表,找到一个激活(可引导)分区;找到激活分区的起始扇区;将激活分区的引导扇区装载到内存7C00处;将控制权交给引导扇区代码;如果主引导代码无法完成上述任务,它将显示以下错误信息之一:No active partition.Invalid partition table.Error loading operating system.Missing operating system.机器加电或按reset键后都要进行系统复位,复位后CS=FFFFH,IP=0000H,那么自然就从FFFF:0000H处开始执行指令,这个地方只有一条JMP指令跳转到系统自检程序处,系统自检完成后把软盘的第一个扇区(如果由软盘启动)或者硬盘的第一个扇区,即MBR扇区(如果由硬盘启动)读入到0:7C00H处,然后把控制权交出,从0:7C00H处继续执行。下面就是硬盘的MBR代码分析:其中的引导扇区是指硬盘相应分区的第一个扇区,是和操作系统有关的。操作系统的引导是由它来完成的,而MBR并不负责,MBR和操作系统无关。引导扇区的任务是把控制权转交给操作系统的引导程序。程序流程:1将程序代码由0:7C00H移动到0:0600H(注,BIOS把MBR放在0:7C00H处)2搜索可引导分区,即80H标志成功:goto 3失败:跳入ROM BASIC无效分区表:goto 53读引导扇区失败:goto 5成功:goto 44验证引导扇区最后是否为55AAH失败:goto 5成功:goto 65打印错误进入无穷循环6跳到0:7C00H进行下一步启动工作5、硬盘逻辑驱动器的分区表链结构硬盘是由很多个512字节的扇区组成,而这些扇区会被组织成一个个的“分区”。硬盘的分区规则是:一个分区的所有扇区必须连续,硬盘可以有最多4个物理上的分区,这4个物理分区可以时个主分区或者3个主分区加一个扩展分区。在DOS/Windows管理下的扩展分区里,可以而且必须再继续划分逻辑分区(逻辑盘)。扩展分区的信息位于硬盘分区表(DPT)中,而逻辑驱动器的信息则位于扩展分区的起始扇区,即该分区的起始地址(面/扇区/磁道)所对应的扇区,该扇区中的信息与硬盘主引导扇区的区别是不包含MBR,而16字节的分区信息则表示的是逻辑驱动器的起始和结束地址等。MBR( Master Boot Record )主引导记录包含两部分的内容,前446字节为启动代码及数据,而从446(0x1BE)开始则是分区表,分区表由四个分区项组成,每个分区项数据为16字节,记录了启动时需要的分区参数。在启动过程中MBR的主引导程序,扫描分区表,找到一个激活分区;把激活分区的引导扇区装入内存7C00中,并把控制权教引导扇区。grub不能引导DOS系统的bootloader,MBR找到激活分区,使用的chainloader+1加载DOS的引导程序。使用DD把DOS的IMG考入硬盘的分区中,可以引导。在linux不能使用fisk进行扩充文件系统大小,gparted也不行。还没有找到扩展分区方法第二部分 MBR修复方法 常见的MBR修复方法有三种 方法1:首先用光驱引导或者用软驱进入纯dos模式,再用 fdisk /mbr 命令恢复系统固有的主引导程序 方法2:用xp安装盘,进入恢复控制台, fixmbr x: 方法3:WinXP以上系统使用Diskpart命令里面的Clean擦出MBR第三部分 修复MBR命令 Fdisk /mbr 详解 1. 主引导程序受损 此乃常见故障, 硬盘不能自举, 微机死锁, 或显示 boot failureinsert system diskette, 之类; 经由软盘引导, fdisk 命令能列出分区信息。 取硬盘同版本 dos 软盘或应急盘引导, 运行 afdisk /mbr命令,仅向主引导扇区写入当前系统固有的主引导程序, 硬盘即恢复自举能力, 如果 dos 引导信息及系统文件等均正常。 2. 仅设基本 dos 分区硬盘的主引导信息全损 前述表现之外, 执行 ac:, 显示 invalid drive specification,乃分区表遭毁; fdisk 命令不能列出分区信息。 实践中曾遇两例原仅设基本 dos 分区的硬盘(无扩展dos分区), 主引导扇区面目皆非, 经分别运行原用的 ms dos 7.0 及 7.1 fdisk /mbr命令, 常规重写全套完全适用的主引导信息,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论