年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2074|回复: 0

修复引导fixmbr,什么是MBR?

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2013-12-18 13:40:56 | 显示全部楼层 |阅读模式
    本帖最后由 Sian 于 2013-12-18 14:28 编辑

     MBR示意图

    001.jpg

    MBR,全称为Master Boot Record,即硬盘主引导记录
      引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

    002.jpg
      MBR是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它,但可以通过命令来修改和重写,如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot来把masterboot这个小程序写到mbr里面,masterboot通常用汇编语言来编写。我们也可以用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扇区的操作如下:
      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内容)
      在windows操作系统下,例如xp,2003,Vista,windows7,有微软提供的接口直接读写mbr;
      FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+");
      char buffer[512];
      fread(buffer,512,1,fd);
      //then you can edit buffer[512] as your wish......
      fseek(fd,0,SEEK_SET); //很重要
      fwrite(buffer,512,1,fd); //把修改后的MBR写入到你的机器
      fclose(fd); //大功告成
      MBR组成
      一个扇区的硬盘主引导记录MBR由如图6-15所示的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,如果该标志错误系统就不能启动。






    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-2 10:39 , Processed in 0.053147 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表