操作系统引导扇区

来源:互联网 发布:角色扮演单机游戏知乎 编辑:程序博客网 时间:2024/05/01 18:56

一  主引导扇区

是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为{(柱面,磁头,扇区)|(0,0,1)}。主引

导扇区主要由三部分组成:主引导记录 MBR(Master Boot Record或者Main Boot Record)、硬盘分区表 DPT

(Disk Partition Table)和结束标志字三大部分组成。

主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬

盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。主引导

扇区内的信息是通过FDISK写入的,它是低级格式化的产物,和操作系统没有任何关系(操作系统是建立在高级格式化的硬盘分区之上,是和一定的文件系统相联系的)。

 

二   引导扇区的组成

 

1主引导记录(MBR)

主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统

硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk)所产

生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。

 

2硬盘分区表

占据MBR扇区的64个字节(偏移01BEH--偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16

个字节。具体每个字节的定义可以参见硬盘分区结构信息。下面是一个例子:

如果某一分区在硬盘分区表的信息如下

80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

则我们可以看到,最前面的"80"是一个分区的激活标志,表示系统可引导;"01 01 00"表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;"0B"表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07

3 结束标志字

结束标志字55,AA(偏移1FEH- 偏移1FFH)是MBR扇区的最后两个字节,是检验主引导记录是否有效的标志

(NTFS);"FE BF FC"表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;"3F 00 00 00"表示首扇区的相对扇区号为63;"7E 86 BB 00"表示总扇区数为12289622

 

4主引导扇区的读取流程

  • 系统开机或者重启。
  • BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。
  • 读取主引导记录(MBR)扇区。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
  • 检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于 AA55H,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。
  • 当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备。启动设备的MBR将自己复制到0000:0600H处, 然后继续执行。
  • 在主分区表中搜索标志为活动的分区,也就是检验磁盘分区表DPT的首字节是不是80H。如果检测到80H,则表示该分区为活动分区,将该活动分区的第一个扇区(操作系统引导记录区,Dos Boot Recorder,DBR)读入内存地址 0000:7C00H 处。
  • 检查0000:7DFEH-0000:7DFFH(DBR的结束标志位)是否等于 AA55H, 若不等于则显示 : "Missing Operating System" 然后停止。
  • 当检测到有分区满足要求后,MBR将控制权交给相应的活动分区。

5主引导扇区与硬盘分区


主引导扇区的结构可以知道,它仅仅包含一个64个字节的硬盘分区表。由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的硬盘(其磁盘卷标类型为MS-DOS),最多只能识别4个主要分区。所以对于一个采用此种分区结构的硬盘来说,想要得到4个以上的主要分区是不可能的。这里就需要引出扩展分区了。扩展分区也是Primary partition的一种,但它与主分区的不同在于可以划分为无数个逻辑分区。[1]

扩展分区中逻辑驱动器的引导记录是链式的。每一个逻辑分区都有一个和MBR的分区表结构类似的扩展引导记录(EBR),其分区表的第一项指向该逻辑分区本身的引导扇区,第二项指向下一个逻辑驱动器的EBR,分区表第三、第四项没有用到。

对于Windows系统而言,一般都是只划分一个主分区给系统,剩余的部分全部划为扩展分区。这里有下面几点需要注意

  • 最多4个主分区。
  • 最多3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。
  • sda1-sda4(或者hda1-hda4,其中a随着硬盘而改变)这几个分区号是属于primary分区和extended分区的,logical分区号只能从5开始。
  • 一个分区最大的容量为2T,且每个分区的起始Cylinder必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。

 

 

6MBR分区表与GPT分区表的关系


与支持最大卷为2 TB(terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18 EB(exabytes)并且每磁盘最多有128个分区。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击