更新时间:2022-08-25 18:11
引导是计算机开始输入时常采用的一种手段。计算机启动后,由设备来实现少量指令和数据的输入,然后由它们再输入其他程序,这种过程称为引导。微型计算机中的引导程序可将用户通过键盘打入的程序及数据引导输入到随机存储器中。
引导程序(英语:boot loader)位于电脑或其他计算机应用上,是指引导操作系统的程序。引导程序启动方式及程序视应用机型种类而不同。例如在普通的个人电脑上,引导程序通常分为两部分:第一阶段引导程序位于主引导记录(MBR),用以引导位于某个分区上的第二阶段引导程序,如NTLDR、BOOTMGR和GNU GRUB等。
BIOS引导完成后,boot loader就接手初始化硬件设备、创建存储器空间的映射,以便为操作系统内核准备好正确的软硬件环境。
简单的boot loader的虚拟汇编码,如其后的八个指令:
但是随着计算机操作系统越来越复杂,位于主引导记录的空间已经放不下引导操作系统的代码,于是就有了第二阶段的引导程序,而MBR中代码的功能也从直接引导操作系统变为了引导第二阶段的引导程序。对于UEFI系统,已由EFI应用程序(即EFI分区中的.efi文件)取代MBR和PBR,UEFI会加载引导程序的.efi文件,再由引导程序加载操作系统。MBR和PBR程序通常是用汇编语言编写的,会调用BIOS中断调用;而.efi文件则是PE格式的文件,可用C语言编写。
在计算机中, 引导或者引导程序是计算控制系统的一个初始化过程。引导过程可以使“硬引导”,如:开机通电后硬件诊断;也可以使“软引导”,此时会跳过开机自启。一些系统中软启动过程中,RAM可以不清零。软启动和硬启动都可以通过硬件发起,如按下电源开关;也可以通过软件命令来进行。当正常、有效的运行环境达到后,启动完成。引导装载程序
启动设备(英语:boot device)是指操作系统可被从其上加载的设备。现代计算机的UEFI和BIOS都支持从多种设备中启动,如:硬盘(装有MBR或者GPT引导)、光驱、USB大容量存储设备(U盘、SD卡等),或者从网卡启动(使用PXE)。
通常,固件(UEFI 和 BIOS)都会允许用户设置启动顺序(英语:boot order)。如果将启动顺序设为“第一:DVD 驱动器;第二:硬盘驱动器”,固件会先尝试从 DVD 驱动器启动,如果失败(比如驱动器中没有 DVD)则会再尝试从本地的硬盘驱动器启动。
假设有一台 PC,硬盘上装有Windows 10,用户可以设置启动顺序为上述顺序,然后插入LinuxLive CD,这样就可以直接试用Linux。这样的过程就是一种双重引导,即计算机加电自检(POST)后允许用户选择所用的操作系统。这个例子中用户是通过 CD 的插入、移除来选择操作系统的,更常见的情况是直接使用键盘从BIOS或UEFI的引导菜单(英语:boot menu)中选择,引导菜单通常可以通过在 POST 时按Delete或F11进入。
现代的智能手机具备操作系统,系统在启动之前需要通过boot loader启动,手机启动的时候基带执行初始化,然后引导系统内核,直到系统启动。智能手机生产厂商通常在出厂时锁定了手机的boot loader,以防止用户误操作损坏了系统文件造成手机功能异常,部分厂商会给开发者或普通用户发放boot loader解锁码,这通常需要步骤众多的申请,锁定boot loader能部分有效阻止恶意程序对手机造成的破坏,部分用户或开发者会通过解锁boot oader以获得更多的功能和权限,这通常会带来使用风险。