BIOS、UEFI、Bootloader、Uboot 和 GRUB 有什么区别?

BIOS、UEFI、Bootloader、Uboot 和 GRUB 有什么区别?

我想更好地了解一些事情。

  1. BIOS 和 UEFI 有什么区别?

  2. 在PC中,有BIOS和Bootloader(例如GRUB)。

但是为什么嵌入式系统(最常见的是ARM架构)中没有BIOS,只有bootloader(可能是Uboot)呢?

答案1

嗯,BIOS 是一个具体的IBM 在早期 x86 系统中使用的固件实现,然后被克隆。UEFI 是它的替代品,而 PC总是已经有了共同的标准平台。

还有其他标准固件标准,例如打开启动,我相信一些苹果 x86 boxen 和 SGI 之类的东西可以运行,并且基本上可以让你启动一个更完整的操作系统,同时拥有我们在 UEFI 上看到的许多功能。

UEFI简单地恰好是现代系统使用的固件标准,取代了旧的 BIOS 标准。没有理由你不能用它来构建 arm、mips 或 risc V 系统。

事实上,大多数 Arm 系统实际上并不使用标准硬件平台,也不需要“PC”或“服务器”系统所需的可配置性,并且固件是为该平台构建的。

如果有需要,没有理由不能在 arm 系统上运行 UEFI,而且我相信桌面 arm boxen 可能会围绕这一点构建

Uboot、grub 等需要通过固件启动。嵌入式系统往往使用 uboot,因为它们的资源受限,而且 uboot 比其他选择要小得多。它们不需要选择操作系统或内核来运行,而且你很可能有一个编译成满足需求的系统。你通常想要一个快速、轻便的嵌入式系统,而不是灵活的系统。

相关内容