什么是卷引导代码?

什么卷引导代码可以帮助解决卷引导代码错误

卷引导代码和磁盘参数块以及组成卷引导记录/扇区的两个主要部分。 卷引导代码由主引导代码调用并用于启动引导管理器,该管理器开始实际加载操作系统

卷引导代码存在于卷引导记录所在的每个分区上,这是每个格式化的分区。 但是,只有设置为主动的主分区的主引导代码才会调用它。 否则,对于非活动分区,卷引导代码仍未使用。

卷引导代码特定于该特定分区上的操作系统。 例如, Windows 10的卷引导代码的功能可能不同于Linux的卷引导代码,甚至不同于Windows XPWindows 7等不同版本的Windows

注意:卷引导代码有时用缩写VBC表示。

卷引导代码的作用

主启动记录搜索BIOS中设置的启动顺序/顺序可启动设备。

提示:如果需要帮助更改设备启动代码的检查顺序,请参阅如何在BIOS中更改启动顺序

一旦找到相关设备,如硬盘驱动器 ,卷引导代码负责加载启动操作系统的相应文件。 对于Windows 10, Windows 8 ,Windows 7和Windows Vista ,它是实际加载操作系统的Windows启动管理器(BOOTMGR)

对于较早版本的Windows,如Windows XP,它是卷引导代码用来启动操作系统的NT Loader(NTLDR)

无论哪种情况,卷引导代码都会找到正确的数据以将引导过程向前移动。 在从硬盘加载操作系统的典型进程中使用卷引导代码时,您可以在这里看到:

  1. 运行POST以检查硬件功能。
  2. BIOS加载并执行位于硬盘驱动器第一个扇区主引导记录中的代码。
  3. 主引导代码通过主分区表查找该硬盘上的可引导分区。
  4. 尝试启动主要活动分区。
  5. 该分区的卷引导扇区被加载到内存中,以便可以使用其代码和磁盘参数块。
  6. 该引导扇区内的卷引导代码可以控制引导过程的其余部分,从而确保文件系统结构处于正常工作状态。
  7. 一旦卷启动代码验证文件系统,将执行BOOTMGR或NTLDR。
  8. 像上面提到的那样,BOOTMGR或NTLDR被加载到内存中,并且控制权被传送给它们,以便可以执行正确的OS文件并且Windows可以正常启动。

卷引导代码错误

正如你在上面看到的,有很多组件构成了操作系统最终可以加载的整个过程。 这意味着有很多实例可以抛出错误,因此可能会导致特定错误消息的不同问题。

损坏的卷启动代码通常会导致hal.dll错误,如:

这些类型的卷引导代码错误可以使用bootsect 命令解决 ,该 命令 是Windows中提供的许多 命令提示符命令 之一。 如果您需要帮助,请参阅如何使用Bootsect将卷引导代码更新为BOOTMGR

在上面的步骤4中,如果尝试查找活动分区失败,则可能会看到类似“ 无引导设备”的错误 很显然,错误发生的原因不在于卷引导代码。

可能是该硬盘驱动器中没有格式正确的分区,或者BIOS查看的设备错误,在这种情况下,您可以将引导顺序更改为正确的设备,如硬盘驱动器(而不是光盘或外部设备硬盘驱动器 )。