Skip to content

引导程序

引导程序是操作系统启动前的一小段程序,负责将内核加载到内存并为内核准备启动前的各种环境
根据操作系统和硬件架构的不同,其使用的引导程序也会有差异

硬件引导方式

Legacy BIOS (MBR)

MBR: 主引导记录 不是MDR

是传统的BIOS引导方式, 一般存在于旧的PC机型上

BIOS 将会查找所有引导设备,并尝试运行其上的引导程序,对于每个引导设备,BIOS 加载它的第一个扇区(共 512 字节,称为引导扇区),而这个扇区内就存放着我们的引导程序,即 MBR(Master Boot Record,主引导记录)

UEFI BIOS (GPT)

GPT是另一种更先进的磁盘系统分区方式,它的出现弥补了MBR这个缺点,最大支持 18EB 的硬盘,是基于 UEFI 使用的磁盘分区架构。
GPT 只有 64 位系统才能支持。

是一种新的引导规范, 其所有服务都由固件提供。相比于LegacyBIOS引导更加安全 (可以防止MBR病毒等篡改主引导记录破坏操作系统)

其引导方式是从外部存储器的EFI分区中的以下路径 EFI\BOOT 根据计算机的架构去加载制定引导文件

  • 64位计算机加载BOOTX64.efi
  • 32位计算机加载BOOTIA32.efi

选择引导方式

在本教程中您不必注重这些引导的细节,我们会使用现成的引导程序来加载我们的操作系统内核, 这样省去了我们编写引导程序的麻烦

Multiboot

Multiboot 规范是一个开放标准,它为内核提供了一种统一的方式,可以由符合 Multiboot 的引导加载程序引导。Multiboot 规范的参考实现由 GRUB 提供。

著名的Linux内核就是使用的Multiboot引导

Limine

Limine 是一个先进的、可移植的、多协议的引导加载程序,支持 Linux、原生 Limine 引导协议以及 multiboot1 和 2。

Limine非常适合作为一些自制操作系统的引导程序

您可以酌情去查阅相关资料, 根据您自己的需求酌情选择您的操作系统引导程序, 本教程不作过多赘述