引导加载程序和引导加载程序有什么区别?

引导加载程序和引导加载程序有什么区别?

引导加载程序与引导程序加载程序有何不同?

在我看来,引导加载程序存储在 ROM 中,而引导加载程序位于硬盘的 MBR 中(如果我错了,请纠正我)。引导加载程序是启动后执行的第一个程序。

现在我不明白这些句子的意思:

  • 通电后,引导加载程序将控制电路板,并且不依赖任何 Linux 内核
  • 引导加载程序充当引导加载程序和 Linux 内核之间的粘合剂

这是什么意思?为什么我们需要它们两者?

答案1

我认为上面的答案忽略了引导程序的原因......尽管这里有很多有用的信息。

引导程序的设计目标是永不改变,并且功能极少。它可能具有在启动映像之间进行选择或更新启动映像的功能,但它缺少引导加载程序可能具有的所有驱动程序和支持。引导加载程序通常会在启动操作系统之前设置系统中的几乎所有硬件,并可能执行诊断,最终更新和启动操作系统。引导加载程序在很多方面都像是一个迷你操作系统,其中引导程序完全简约,并且设计为永不改变。

答案2

我认为 bootstrap 加载程序基本上是 bios 之后加载的第一个程序,或者在具有 uefi 的计算机上与 uefi 同时加载。它选择要从中加载的硬盘驱动器,或者在 uefi 的情况下完全启动操作系统。引导加载程序通常包含在 bios 系统的 mbr 中(尽管 grub 使用指向磁盘其他部分的链接扩展了 mbr 的官方大小,并且大部分位于 /boot 分区或安装分区中的挂载点中)或 uefi 系统的 efi 分区中。引导加载程序几乎完全与 uefi 系统的 bios 集成,在某些情况下甚至部分与引导加载程序集成。引导加载程序(或在许多情况下的 bios)将 init 信号发送到计算机的所有连接部分,但引导加载程序才是真正检测并完全启动它们的。引导加载程序混合了软件和固件,而 BIOS 几乎完全是固件(有时甚至是集成系统上的硬件),引导加载程序几乎完全是软件(请注意,这是在 BIOS 系统上,在 uefi 上,引导加载程序、引导加载程序和 BIOS 彼此高度互联和集成。)

答案3

我也在搜索它并找到了一个结论,我将与大家分享(如果我错了请纠正我):

当按下电源开关时,CPU 启动,但它不会执行任何操作,因为当时它没有检测到任何存储设备。然后 BIOS 开始工作,它将执行 POST,如果测试成功,BIOS 现在将搜索加载操作系统的方法。

引导加载程序位于 MBR 中,引导加载程序知道如何加载操作系统...这里是引导加载程序,它也是一个代码,在 BIOS post 成功后,它会联系引导加载程序以帮助它连接引导加载程序以将操作系统加载到 RAM 中...所以我们可以说引导加载程序连接 BIOS(固件)和引导加载程序(软件)...这样 BIOS 现在就知道如何将操作系统加载到 RAM 中。

相关内容