捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 > 技术文章 > 正文
14 2022.03

各种USB启动模式(MBR)的原理剖析

点击次数:102 更新时间:2022-3-14 21:42:45  【打印此页

一、系统开机或者重启过程

  1. BIOS 加电自检(Power On Self Test -- POST)。

    BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。

  2. 检测可用的启动设备。

    当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。

    检测步骤:

      1). 读取主引导记录(MBR)。

        BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。

      2). 检查MBR的结束标志位。

        检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于 AA55H。

        ①. 不等于AA55H。

          若MBR的结束标志位不等于AA55H则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。

        ②. 等于AA55H。

          当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备。启动设备的MBR将自己复制到0000:0600H处, 然后继续执行。根据MBR中的引导代码启动引导程序。

 

二、主引导记录(MBR,Master Boot Record,0柱面0磁头1扇区)

  硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占用512个字节,它用于硬盘启动时将系统控制权转给用户指定的、在分区表中登记了某个操作系统分区。MBR的内容是在硬盘分区时由分区软件(如FDISK)写入该扇区的,MBR不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调入内存并发挥作用,然后才将控制权交给活动主分区内的操作系统。

  注:特殊形式的MBR会占用多个扇区,如Lvyanan的1JF9占用2个扇区,GRUB的MBR占用18个扇区,FBINST占用64个扇区,PloP Boot Manage 占用62个扇区(总共63个扇区)。

  

 

三、分区引导记录(PBR,Partition Boot Record)和 DOS引导记录(DBR,DOS Boot Record,0柱面1磁头1扇区)

  PBR是各个分区自己的引导记录,又称分区引导记录,它是由FORMAT高级格式化命令写在各个分区开始处第一个扇区(比如说:主分区C:从1磁头0柱面1扇区=逻辑1扇区=绝对63扇区)开始,那么C:区逻辑1扇区就是PBR所存放的位置)的一段数据.

  DBR即活动分区的PBR。DOS引导记录(DOS Boot Record)应称为OBR(OS Boot Record),意思是活动分区的PBR,即操作系统引导记录。活动分区(ActivePartition):可将所有主分区和逻辑分区中的一个标识为Active,表示系统启动时即加载运行其PBR程序的分区。

  DBR是由硬盘的MBR装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。

  DBR主要由下列几个部分组成:

    1).跳转指令,占用3个字节的跳转指令将跳转至引导代码。(看下图,以FAT32为例,跳转至偏移5A执行,即从图中 FA 33 .. 开始执行引导程序)

    2).厂商标识和DOS版本号,该部分总共占用8个字节。

    3).BPB(BIOS Parameter Block, BIOS 参数块)。(这个包含BIOS操作的参数,很重要,破坏将显示分区错误)

    4).操作系统引导程序。(该分区若需引导,则由该程序决定引导文件或系统)

    5).结束标志,结束标志占用2个字节,其值为AA55。(很重要,若为00 00 ,则显示未格式化)

    DBR中的内容除了第5部分结束标志字固定不变之外,其余4个部分都是不确定的,其内容将随格式化所用的操作系统版本及硬盘的逻辑盘参数的变化而变化。

    注:BPB 都是指跳转指令到跳转位置之间的一段代码。

    

 

  1、FAT32的分区引导记录

    为了使加载文件的操作更加灵活,加上FAT32文件系统采用“活动”的FDT表,同时考虑到引导程序的代码量和为今后发展保留适当的余量,FAT32文件系统分区引导扇区占据了6个扇区,只有前3个扇区作为系统的分区引导扇区,其余3个扇区保留暂未使用。分区引导扇区对于操作系统的启动和磁盘文件的访问具有至关重要的作用;引导程序代码的损坏将导致操作系统不能正常启动,磁盘读写参数的破坏将造成存储在磁盘上的文件不能正常读写。

    由于分区引导扇区的重要性,FAT32文件系统在在第一个分区引导扇区的6个扇区后的6个扇区里保留了分区引导扇区的备份,在启动时操作系统可以对两份引导扇区进行比较,以便选择正确的引导扇区来引导系统。由于在磁盘正常工作过程中系统不再对引导扇区的程序和数据进行修改,因此备份的分区引导扇区损坏的可能性非常小。

    分区引导扇区的第一个扇区的前三个字节是一条跳转指令,然后是8个字节长的OEM ID(厂家标识)和版本号,其后是简称为BPB的BIOS参数块(BIOS Parameter Block)。参考上图。

 

    分区引导扇区的第2个扇区作为文件系统相关参数存储标识扇区,除了保存扇区的标识信息(RraA(00H)和rrAa(1E4H))外,还可能在偏移地址1E8H处存储了文件系统有关的信息。其中扇区偏移地址1E8H~1EBH的4个字节存储了逻辑磁盘中未使用的簇数,通常用于快速计算逻辑磁盘的剩余空间(典型的操作是在资源管理器状态栏上列出的“可用磁盘空间”参数),而1ECH~1EFH 4个字节给出了逻辑盘中下一个可以分配给文件使用的空闲簇的簇号,这样操作系统可以不访问FAT表就直接获得磁盘剩余空间和可以分配的簇号。

    

 

    FAT32的BPB参数:    

    

 

  2、NTFS的分区引导记录

    对于NTFS分区来说,分区引导扇区DBR只占用一个扇区,并且在该分区的最后一个扇区做了备份;NTFS的引导扇区也是完成引导和定义分区参数,NTFS分区的引导扇区不是分区的充分条件,它要求必须MFT中的系统记录如$MFT等正常该分区才能正常访问。

    

 

    NTFS的BPB参数:

    

 

四、各种USB启动模式

1. USB-HDD:(占用1个扇区)硬盘仿真模式,DOS启动后显示C:盘,HP(惠普)U盘格式化工具制作的U盘即采用此启动模式。此模式兼容性很高,但对于一些只支持USB-ZIP模式的电脑则无法启动。

  电脑启动后首先读取此MBR,然后从指定的激活主分区启动(所以你要启动的分区必须激活,且有指定的引导文件存在),读入PBR引导扇区,再由引导扇区指定的引导文件,从而启动系统或PE或GRLDR等。

  常见引导过程为:MBR → 分区PBR → 引导文件(如:XP的NTLDR,VISTA的BOOTMGR ,GRUB的GRLDR。)

 

2. USB-HDD+:(占用1个扇区)增强的USB-HDD模式,DOS启动后显示C:盘,兼容性极高。其缺点在于对仅支持USB-ZIP的电脑无法启动。

  电脑启动后首先读取此MBR,然后从指定的激活主分区启动,读入PBR引导扇区,再由引导扇区指定的引导文件,从而启动系统或PE或GRLDR等。

  引导过程为:MBR → 分区PBR → 引导文件

 

3. USB-ZIP:大容量软盘仿真模式,DOS启动后显示A盘,FlashBoot制作的USB-ZIP启动U盘即采用此模式。此模式在一些比较老的电脑上是唯一可选的模式,但对大部分新电脑来说兼容性不好,特别是大容量U盘。

  引导过程为:分区PBR → 引导文件

 

4. USB-ZIP+:(占用1个扇区)增强的USB-ZIP模式,支持USB-HDD/USB-ZIP双模式启动(根据电脑的不同,有些BIOS在DOS启动后可能显示C:盘,有些BIOS在DOS启动后可能显示A:盘),从而达到很高的兼容性。其缺点在于有些支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致4GB以上大容量U盘的兼容性有所降低。

  引导过程为:MBR → 分区PBR → 引导文件

 

5. USB-FDD:是指把U盘模拟成软驱模式,启动后U盘的盘符是A:,

  引导过程为:分区PBR → 引导文件

 

6. USB-CDROM:光盘仿真模式,DOS启动后可以不占盘符,兼容性比较高,新老主板一般都可以。

  优点可以像光盘一样使用(如,进行Windows系统安装)。缺点,把U盘量产成该模式时,我们将失去对这部分U盘空间的写权利,剩余空间会被识别成为一个独立的U盘,可以为Removable盘,当然也可以做成Fixed盘,进一步分区。制作时一般需要具体U盘型号/批号所对应的量产工具来制作,对于U盘网上有相应的量产工具。

 

7. FBINST:(占用64个扇区)FBINST 在MBR的每个扇区(前64扇区)都写入了引导代码,并在每个扇区记录扇区号,这样无论U盘被识别为何种格式,都可以正常启动,启动的时候需要在1~64扇区读取计算好的信息,电脑就可以迅速而正确地获得参数,从而引导UD区的GRLDR,使得电脑正常启动。

  引导过程为:MBR → UD区 → 引导文件

 

8. GRUB4DOS:(占用18个扇区,老版本占用16个扇区)是强大的引导程序,可以安装在MBR ,也可以安装在分区 PBR ,若安装在MBR,则可以搜索所有分区,启动其指定文件-GRLDR(不需读入分区PBR),从而正常启动。

  引导过程为:MBR → grldr

 

9. NT 5.x:(占用1个扇区)此MBR依然是从激活的主分区启动,遇到多个激活分区就报分区表错误。

  引导过程为:MBR → 分区PBR → 引导文件

 

10. NT 6.x:(占用1个扇区)此MBR依然是从激活的主分区启动,支持多个激活分区,从第一个激活分区启动。

  引导过程为:MBR → 分区PBR → 引导文件

 

11. PLoP Boot Manager(占用62个扇区)

  - 支持 USB 磁盘启动,其一是从 USB 介质上启动,也能转入到 USB 介质启动(无论 BIOS 是否支持 USB 启动)。从开发日志上看,对于 EHCI/OHCI/UHCI 三种接口是都支持的,但外接 USB HUB 还不支持。这个功能,的确激动人心,虽然之前看 Filo 里面有 USB 栈,是保护模式下的,而这个是实模式下的。

  - 支持光盘启动这个是两层意思: 既能从光盘上启动,也能从其他介质启动后转入光驱启动。

  - 超小体积和对图形界面的支持,只有 40-50kb 的个头,但是能实现 USB 栈,和 cdrom mini 驱动的确是个奇迹,而它还包括了图形支持与启动特效。

  引导过程为:MBR → 分区PBR → 引导文件

 

  

Tips
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:102 更新时间:2022-3-14 21:42:45  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修