引导程序
引导程序是操作系统启动前的一小段程序,负责将内核加载到内存并为内核准备启动前的各种环境 根据操作系统和硬件架构的不同,其使用的引导程序也会有差异
硬件引导方式
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 非常适合作为一些自制操作系统的引导程序
您可以酌情去查阅相关资料,根据您自己的需求酌情选择您的操作系统引导程序,本教程不作过多赘述
现成的模板
详见 项目搭建