启动代码(Boot Code)是计算机启动时运行的程序,也称为引导程序。它是计算机基础软件中最为基本的部分,其作用是在计算机操作系统(OS)启动前,加载操作系统到计算机内存中并运行,使得操作系统能够控制计算机硬件。该程序通常储存在系统 BIOS 或 UEFI 固件中。
启动代码具有以下几个主要功能:
启动代码的主要功能是引导加载操作系统到内存中,使其能够被解释和运行。计算机启动时,CPU 会首先加载 BIOS 或 UEFI 固件中的启动代码,然后该代码再根据 BIOS 或 UEFI 的配置来加载操作系统到计算机内存中执行。
启动代码还能够对计算机的硬件进行初始化,包括识别、检查和初始化各个硬件设备,如CPU、存储器和输入输出设备等,从而为操作系统和应用程序提供最基本的硬件支持。
启动代码还可提供引导选择菜单,让用户从多个操作系统或启动项中选择。这个功能通常在多引导系统环境中被使用。
通常,启动代码通常储存在计算机的 ROM 芯片中,包括基本输入输出系统(BIOS)和统一扩展固件接口(UEFI)系统。BIOS 主要应用于早期计算机,而后来的计算机使用 UEFI。
启动代码的实现方式如下:
在 BIOS 中,启动代码储存在计算机的 ROM 中,当计算机启动时,BIOS 会对硬件进行自检,然后加载启动代码到内存中运行,并根据用户的启动选择加载操作系统。由于 BIOS 空间非常有限,因此启动代码通常较小,只包括一些基本的硬件初始化和操作系统加载功能。
UEFI 是 BIOS 的现代化替代,它提供了更多的功能和优点,比如:支持大硬盘、支持安全启动等。UEFI 启动使用 GPT 分区表,并允许多个引导装载程序。启动过程使用了 EFI boot loader,它是在 ESP(EFI 系统分区)中找到的,从而提高了启动速度和安全性。UEFI 启动代码通常是储存在 UEFI 固件的内存中的可执行文件,这个文件通常较大,并能够通过一个图形用户界面(GUI)来选择各种启动项。
启动代码作为计算机系统中最基本的部分,其功能的完备与否将直接影响计算机的性能和安全性。因此,在开发启动代码时,必须高度关注其安全性、可靠性以及各种硬件设备的兼容性。