什么卷引导代码可以帮助解决卷引导代码错误
卷引导代码和磁盘参数块以及组成卷引导记录/扇区的两个主要部分。 卷引导代码由主引导代码调用并用于启动引导管理器,该管理器开始实际加载操作系统 。
卷引导代码存在于卷引导记录所在的每个分区上,这是每个格式化的分区。 但是,只有设置为主动的主分区的主引导代码才会调用它。 否则,对于非活动分区,卷引导代码仍未使用。
卷引导代码特定于该特定分区上的操作系统。 例如, Windows 10的卷引导代码的功能可能不同于Linux的卷引导代码,甚至不同于Windows XP或Windows 7等不同版本的Windows 。
注意:卷引导代码有时用缩写VBC表示。
卷引导代码的作用
提示:如果需要帮助更改设备启动代码的检查顺序,请参阅如何在BIOS中更改启动顺序 。
一旦找到相关设备,如硬盘驱动器 ,卷引导代码负责加载启动操作系统的相应文件。 对于Windows 10, Windows 8 ,Windows 7和Windows Vista ,它是实际加载操作系统的Windows启动管理器(BOOTMGR) 。
对于较早版本的Windows,如Windows XP,它是卷引导代码用来启动操作系统的NT Loader(NTLDR) 。
无论哪种情况,卷引导代码都会找到正确的数据以将引导过程向前移动。 在从硬盘加载操作系统的典型进程中使用卷引导代码时,您可以在这里看到:
- 运行POST以检查硬件功能。
- BIOS加载并执行位于硬盘驱动器第一个扇区的主引导记录中的代码。
- 主引导代码通过主分区表查找该硬盘上的可引导分区。
- 尝试启动主要活动分区。
- 该分区的卷引导扇区被加载到内存中,以便可以使用其代码和磁盘参数块。
- 该引导扇区内的卷引导代码可以控制引导过程的其余部分,从而确保文件系统结构处于正常工作状态。
- 一旦卷启动代码验证文件系统,将执行BOOTMGR或NTLDR。
- 像上面提到的那样,BOOTMGR或NTLDR被加载到内存中,并且控制权被传送给它们,以便可以执行正确的OS文件并且Windows可以正常启动。
卷引导代码错误
正如你在上面看到的,有很多组件构成了操作系统最终可以加载的整个过程。 这意味着有很多实例可以抛出错误,因此可能会导致特定错误消息的不同问题。
损坏的卷启动代码通常会导致hal.dll错误,如:
- “ 无法找到\ Windows \ System32 \ hal.dll ”或
- “ Windows无法启动,因为以下文件丢失或损坏: C:\ Windows \ system32 \ hal.dll。请重新安装上述文件的副本。 ”
这些类型的卷引导代码错误可以使用bootsect 命令解决 ,该 命令 是Windows中提供的许多 命令提示符命令 之一。 如果您需要帮助,请参阅如何使用Bootsect将卷引导代码更新为BOOTMGR 。
在上面的步骤4中,如果尝试查找活动分区失败,则可能会看到类似“ 无引导设备”的错误。 很显然,错误发生的原因不在于卷引导代码。
可能是该硬盘驱动器中没有格式正确的分区,或者BIOS查看的设备错误,在这种情况下,您可以将引导顺序更改为正确的设备,如硬盘驱动器(而不是光盘或外部设备硬盘驱动器 )。