老式BIOS引导Windows启动流程揭秘

老式BIOS引导Windows启动流程揭秘


本系列文章阅读顺序:


BIOS固件启动Windows系统

有了UEFI固件的基础,理解BIOS固件启动Windows能够更加轻松.

BIOS固件作为老式的固件,一定会在不久的将来被淘汰.但是现在有一定量的计算机使用这种固件,所以还是有必要学习研究.

BIOS固件启动Windows系统对磁盘的要求

和UEFI不同,BIOS固件对安装有Windows的磁盘有特殊的要求.具体表现为:

  • 磁盘分区表必须是MBR
  • 必须要有一个激活主分区(活动分区)

BIOS固件对Windows系统版本没有要求.

BIOS固件的启动方式

与UEFI依赖文件启动的模式不同,BIOS固件通过运行代码启动系统,因此可操作性更低.

分区表:

目前为止,磁盘的分区表有两种类型:MBR和GPT(又叫GUID).MBR是一种年代久远的分区表类型,GPT是一种新型的分区表类型.

BIOS固件只能识别MBR分区表,UEFI固件两种都能识别.

这两种分区表类型可以互相转换,并不会影响硬盘里的原有数据(无损转换).

  • 采用MBR分区表的磁盘最多支持分出4个主分区,只能识别不超过2TB的磁盘.然而,可以通过创建逻辑分区的方法来分出更多的分区.

  • 采用GPT分区表的磁盘最多支持128个分区,能识别不超过9.4ZB的硬盘.

可见,GPT是一种更加先进的分区表类型,管理起来更加灵活.

只要磁盘是MBR分区表,且磁盘完好,它就可以被BIOS识别.

BIOS引导启动的第一步,就是读取磁盘的主引导记录MBR.


主引导记录(MBR)

首先,请注意,这里存在一个”重名”的问题:

主引导记录的名字叫MBR.一种磁盘分区表类型也叫MBR.所以,为了避免混淆,主引导记录我们直接称之为三个字母:MBR,分区表类型我们称之为”MBR分区表”.


什么是MBR呢?

主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区所存储的一段代码.

简单来说,MBR是一段代码.它位于一个磁盘的第一个扇区.


MBR是做什么的?

MBR主要有两个功能.

  • 记录下来整个硬盘的分区结构.比如,一个MBR分区表类型的磁盘有3个分区,这些分区都位于磁盘的第多少扇区等等,这些信息都记录在MBR里,供BIOS读取.

  • 记录活动分区.如果一个MBR分区表磁盘上装有操作系统,则这个磁盘上装有操作系统的分区可能是活动分区.如果磁盘没有操作系统,只是存储数据,那么该磁盘的活动分区可有可无.

  • 有操作系统的磁盘一定有活动分区.

哪个分区是活动分区被记录在MBR里,使用1字节空间.

活动分区的设定可以使用工具软件(如DiskGenius)手动选择.

那么,BIOS的引导流程迈出了第一步:通过读取MBR,BIOS已经知道了哪个分区是活动分区了.

所以接下来,就都是那个活动分区里的事了.


分区引导记录(PBR)

分区引导记录(PBR),全称Partition boot record.与MBR类似,它也是一段代码.

它发挥的作用与主引导记录相接续,负责启动系统的下一步.

如果说MBR管理的是整个磁盘,那么PBR管理的就是它所在的分区.

对于使用MBR分区表的磁盘,每一个分区都有他自己的PBR.PBR的位置在他所属的分区的最前部扇区.

  • 普通分区的PBR记载的内容就是有关这个分区的各种参数,比如分区的文件系统类型,分区大小等等.

  • 活动分区的PBR还记载BOOTMGR的位置.


BOOTMGR是什么?

BOOTMGR是一个文件,是Windows的加载启动器,是一个在BIOS内运行的程序.他对标的就是bootmgfw.efi.

也就是说,BOOTMGR就相当于UEFI固件里面的bootmgfw.efi.它们的功能类似,都是Windows启动管理器.

它的位置是固定不变的,只能位于活动分区的根目录里.因为PBR认为它只能在那里.

活动分区的PBR的作用之一就是找到这个BOOTMGR,然后运行它.

BOOTMGR运行后,就与UEFI的启动流程大体相似了.


BOOTMGR的工作

BOOTMGR一般位于活动分区的根目录里,而且活动分区一般是C盘.所以他一般在C盘根目录里面.

属于受操作系统保护的文件.如果不在文件资源管理器里勾掉”隐藏受操作系统保护的文件”这一项,即使显示隐藏的项目,文件资源管理器也不会显示它.

因为他对于Windows启动实在是太重要了.

BOOTMGR的作用与UEFI里的bootmgfw.efi是一样的:读取BCD文件并加载列出里面的操作系统菜单.

BIOS模式启动的BCD文件的位置在活动分区的boot文件夹里.一般情况下,位于 C:\boot\BCD

编辑BIOS的BCD文件

和UEFI下的BCD文件相比,只有一点不同之处:

  • 启动文件变为\Windows\system32\winload.exe

其他配置与UEFI一致.

这很好理解.UEFI下一定运行efi程序,所以是winload.efi.BIOS下运行的程序就只能是winload.exe了.


BOOTMGR列出BCD文件里面的菜单后,用户任意选择一个有效的系统回车进入.

然后,BOOTMGR根据BCD文件里的信息,运行位于 \Windows\System32 文件夹里的 winload.exe.

之后,winload.exe加载Windows操作系统内核.

BIOS引导启动到此结束.



UEFI引导流程图

uefi

BIOS引导流程图

bios


本系列文章阅读顺序:



老式BIOS引导Windows启动流程揭秘
https://lvlele.top/BIOS固件启动Windows系统/
作者
吕了了
发布于
2026年5月31日
许可协议