【问题标题】:Difference between bootloader and bootstrap loader?引导加载程序和引导加载程序之间的区别?
【发布时间】:2014-10-03 15:59:03
【问题描述】:

引导加载程序与引导加载程序有何不同。根据我的说法,引导加载程序存储在 ROM 中,引导加载程序存储在 MBR 的硬盘中(如果我错了,请纠正我)。引导加载程序是启动后执行的第一个程序。现在我不明白这些句子的含义:- 上电后,bootloader控制板子,不依赖linux内核。引导加载程序充当引导加载程序和 linux 内核之间的粘合剂。 这些是什么意思?为什么我们同时需要它们?

【问题讨论】:

    标签: bootloader bootstrapping


    【解决方案1】:
    • Bootstrap Loader
      或者称为引导、引导加载程序或引导程序,引导加载程序是驻留在计算机的 EPROM、ROM 或其他非易失性存储器中的程序。它在打开计算机时由处理器自动执行。 (来自 WIKI)
      您可以认为它在上电后立即打开,它是 BIOS 的一部分(BIOS 还有许多其他功能,例如提供一些诊断输出,以及为用户配置硬件提供一种方式) 注意,在某些情况下,Bootstrap Loader 也可以称为 bootloader 或 bootstrap...
    • Bootloader
      引导加载程序是在任何操作系统运行之前运行的一段代码。 Bootloader 用于引导其他操作系统,通常每个操作系统都有一组特定的引导加载程序。 (来自谷歌)

    这是步骤

    0 : Power On!
    1 : CPU Power On! CPU try to find something in ROM(Or ERROM)
    2 : Find BIOS (or other firmware). Run BIOS
    3 : BIOS(bootstrap loader and other functions) run
    4 : BIOS try to find something in MBR
    5 : Find MBR(512 bytes) there is some useful information of the partition
    6 : Copy the MBR content into physical disk 0x7c00 where is the location of the Grub.
    7 : Grub(a type of bootloader) use the information of the MBR finds a linux! Prepare to run.
    8 : Run your linux!
    

    【讨论】:

      【解决方案2】:

      许多架构使用引导加载程序或第二阶段加载程序将 Linux 内核映像加载到内存中。一些引导加载程序执行内核映像的校验和验证,并且大多数执行内核映像的解压缩和重定位。

      在这种情况下,引导加载程序和引导加载程序之间的区别很简单:引导加载程序在上电时控制电路板,并且不以任何方式依赖 Linux 内核。相比之下,引导加载程序在生活中的主要目的是充当板级引导加载程序和 Linux 内核之间的粘合剂。引导加载程序负责为内核运行提供适当的上下文,并执行必要的步骤来解压缩和重定位内核二进制映像。

      也称为引导、引导加载程序或引导程序,引导加载程序是驻留在计算机 EPROM、ROM 或其他非易失性存储器中的程序,在打开计算机时由处理器自动执行。引导加载程序读取硬盘驱动器引导扇区以继续加载计算机操作系统的过程。助推器一词来自古老的短语“用你的引导器振作起来”。具有可扩展固件接口 (EFI) 的计算机中的引导加载程序已被替换。引导加载程序现在是 EFI BIOS 的一部分。

      【讨论】:

        【解决方案3】:

        引导加载程序(例如 U-Boot 或 RedBoot)在开机后会立即控制硬件。另一方面,Boostrap 加载程序附加到内核映像以准备运行内核的适当上下文。例如,为ARM架构编译内核时,内核文件编译为piggy.o文件,boostrap loader文件为misc.obig_endian.ohead.o

        【讨论】:

          猜你喜欢
          • 2021-04-17
          • 1970-01-01
          • 1970-01-01
          • 2016-10-25
          • 1970-01-01
          • 2012-04-09
          • 2012-07-25
          • 2017-01-24
          • 2013-08-24
          相关资源
          最近更新 更多