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