引导程序

✍ dations ◷ 2025-06-09 13:00:34 #BIOS,引导程序

引导(或称引导程序)在计算机中是计算控制系统的一个初始化过程。引导过程可以是“硬引导”,如:开机通电后硬件诊断;也可以是“软引导”,此时会跳过开机自启。一些系统中软启动过程中,RAM可以不清零。软启动和硬启动都可以通过硬件发起,如按下电源开关;也可以通过软件命令来进行。当正常、有效的运行环境达到后,启动完成。引导装载程序是计算机开机自检完成后装载操作系统或者其他系统软件的计算机程序。自检完成后运行引导装载程序,然后再加载并运行软件。引导装载程序可以从硬盘装载到主内存中。一些老计算机中,引导装载程序可以从打孔卡、穿孔纸带、或者磁带中加载到主内存中。启动装载程序加载且执行完成启动的程序。和POST程序相似,启动设备代码可以存储在永久存储体位置中,也可以为硬连线的形式。

当代通用计算机中,启动过程通常包含开机自检(POST)、初始化周边设备、然后加载操作系统。一些嵌入式系统直接运行存储在ROM中的可执行程序。

引导在英文中为“boot”,是bootstrap的缩写,源自于短语“Pull oneself up by one's bootstraps”,即“靠自己振作起来”。如果大部分软件需要通过其他已运行的程序加载到计算机中,则必须存在一个将初始软件加载到计算机中的机制。

早期可编程商业计算机,如UNIVAC I和IBM 701,会包含执行完整的输入输出操作的指令。相同的硬件逻辑可以被用来加载穿孔卡片的内容,或者其他输入媒体,如磁鼓或者磁带,这些引导程序可以通过按键启动。IBM701 计算机拥有一个 "Load" 按钮,此按钮可以将打孔卡片的前 36个bit字读入到主存中。左18-bit 半字被视为指令而执行,通常用来将额外的字读入到内存中。随后被加载的引导程序被执行,反过来无需更多地人为操作从介质中加载更大的程序到内存中。随后计算机跳转到内存位置001,读取存储的第一个指令。第一条指令一般是相同的:将前80个内存位置的信息移到一个汇集区域(打孔卡片2,3,4...)。一旦信息被移动到这些区域后,机器跳转到080位置(读取一个卡片),然后下一个卡片将被读取,并处理相关信息。同期的其他IBM计算机有着相似的特性。IBM1401系统使用读卡器从打孔卡片中加载一个程序。打孔卡片中存储的80个字符被读入到内存地址001~080.

引导程序(英语:boot loader)是指引导操作系统的程序。在普通的个人电脑上,引导程序通常分为两部分:第一阶段引导程序位于主引导记录(MBR),用以引导位于某个分区上的第二阶段引导程序,如NTLDR、BOOTMGR和GNU GRUB等。

BIOS引导完成后,bootloader就接手初始化硬件设备、创建存储器空间的映射,以便为操作系统内核准备好正确的软硬件环境。

但是随着计算机操作系统越来越复杂,位于主引导记录的空间已经放不下引导操作系统的代码,于是就有了第二阶段的引导程序,而MBR中代码的功能也从直接引导操作系统变为了引导第二阶段的引导程序。

对于UEFI系统,由EFI应用程序(即EFI系统分区中的.efi文件)取代MBR和第二阶段引导程序,UEFI固件会加载引导程序的.efi文件,再由引导程序加载操作系统。

现代计算机的UEFI和BIOS都支持从多种设备中启动,如:硬盘(MBR或者GPT)、光驱、USB大容量存储设备(U盘、SD卡等),或者从网卡启动(使用PXE)。

通常,固件(UEFI或BIOS)都会允许用户设置启动顺序(英语:boot order)。如果将启动顺序设为“第一:DVD 驱动器;第二:硬盘驱动器”,固件会先尝试从 DVD 驱动器启动,如果失败(比如驱动器中没有 DVD)则会再尝试从本地的硬盘驱动器启动。

假设有一台PC,硬盘上装有 Windows 10,用户可以设置启动顺序为上述顺序,然后插入Linux Live CD,这样就可以直接试用Linux。更常见的情况是直接使用键盘从BIOS或UEFI的引导菜单(英语:boot menu)或者BIOS设置(英语:BIOS Setup)中选择,BIOS设置通常可以通过在POST时按DeleteF2进入。

现代的智能手机具备操作系统,系统在启动之前需要通过bootloader启动,手机启动的时候基带执行初始化,然后引导系统内核,直到系统启动。智能手机生产厂商通常在出厂时锁定了手机的bootloader,以防止用户误操作损坏了系统文件造成手机功能异常,部分厂商会给开发者或普通用户发放bootloader解锁码,这通常需要步骤众多的申请,锁定bootloader能部分有效阻止恶意程序对手机造成的破坏,部分用户或开发者会通过解锁bootloader以获得更多的功能和权限,这通常会带来使用风险。

相关

  • 中华民国十大死因列表此表搜集自西元2014年(民国103年)起,台湾年度十大死因。死因以导致死亡的原始病因为基准,由中华民国卫生福利部按年发布死因统计,目前系以国际疾病分类标准第 10 版(ICD-10)进行分
  • 自然神学自然神学是仅用人所共有的资源,例如理性,感知,内省,历史,科学等,进行的宗教,神学研究,通常与“启示神学”相对。由于自然神学不诉诸任何宗教神圣文本,因此无论有神论者,无神论者或不可
  • 泛欧交易所Jos Dijsselhof(泛欧交易所代理CEO兼营运长) Lee Hodgkinson(伦敦证券交易所CEO)Antony Attia(巴黎证券交易所CEO)Maurice van Tilburg(阿姆斯特丹证券交易所CEO)Vincent Va
  • 哈布斯堡尼德兰哈布斯堡尼德兰(荷兰语:Habsburgse Nederlanden)是哈布斯堡家族控制下的神圣罗马帝国和低地国家组成的一个采邑制共主邦联,之后成为西班牙帝国下的西属尼德兰。1482年随着瓦卢瓦
  • 萤科萤科(学名:Lampyridae)是鞘翅目(甲虫)里面的一个科,该科在全世界有2000多种。俗称萤火虫,又称火金姑 (闽南语)、火焰虫(客语)、游火虫(江苏)、亮火虫(四川)、火火虫(云南);古称耀夜、景天、熠
  • 卡利甘杰乌帕齐拉 (拉尔莫尼哈德县)卡利甘杰(孟加拉语:কালিগঞ্জ,Kaliganj)是孟加拉国的一个乌帕齐拉,位于朗布尔专区的拉尔莫尼哈德县。卡利甘杰乌帕齐拉共有户数35459户。据1991年孟加拉国人口普查(英语:199
  • 调度场算法调度场算法(Shunting Yard Algorithm)是一个用于将中缀表达式转换为后缀表达式的经典算法,由艾兹格·迪杰斯特拉引入,因其操作类似于火车编组场而得名。通过这个例子可以看出两
  • 唐元镇唐元镇,是中华人民共和国四川省成都市郫都区下辖的一个乡镇级行政单位。2019年12月,撤销唐元镇,将其所属行政区域划归唐昌镇管辖。唐元镇下辖以下地区:唐元镇社区、永安村、临石
  • 趣加趣加(FunPlus)成立于2010年,是一家全球性的互动娱乐公司,目前在北京、上海、台北、旧金山、东京、斯德哥尔摩、莫斯科、巴塞罗那等均设有办公室,包括来自20个国家和地区的近1000
  • 乔治·雷耶斯乔治·雷耶斯(英语:George Reyes)是Google公司的首席财务官,也是BEA Systems和赛门铁克的主管。在2007年8月28日,乔治·雷耶斯宣布他会在不久的将来从Google公司退休,并且会帮助Go