メインコンテンツへスキップ
  1. ノート/
  2. システム底层/

Bootloader と Boot Manager の違い(中国語版)

·2091 文字·5 分· loading · loading · · ·
ICE345
著者
ICE345
CS Student | System | Linux | OCaml
この記事は中国語版をもとにした日本語版メモです。コマンド、コード、数式、画像リンクは原文の意味を壊さないように保持し、説明文と見出しを日本語向けに整理しています。
A bootloader is a program responsible for loading the operating system kernel into memory and starting the operating system. It operates at the low level, interfacing directly with the system’s firmware (e.g., BIOS/UEFI).
A boot manager is a higher-level program that allows users to select from multiple operating systems or kernels to boot into. ==It operates after the system firmware has selected a boot device but before the operating system is loaded.==

引导加载程序引导管理器 是システム引导过程中密切相关的组件,但它们的用途不同。下面详细紹介了两者之间的关系和区别:

1. 引导加载程序(bootloader)
#

引导加载程序 是一个负责将操作システム内核加载到メモリ中并启动操作システム的程序。它在低级実行,直接与システム的固件(たとえば BIOS/UEFI)交互。

引导加载程序的主要功能:
#

  • 低级功能:引导加载程序的主要功能是将操作システム加载到メモリ中并将控制权移交给它。它是システム固件(BIOS/UEFI)完成硬件初始化后実行的第一个软件。
  • 位置:在 MBR システム中,引导加载程序存储在主引导记录(磁盘的前 446 个字节)中。在 GPT システム中,引导加载程序存储在 EFI システムパーティション (ESP) 中。
  • 通常没有用户界面:引导加载程序的作用主要是功能性的。其主要任务是加载操作システム,而不一定提供用户选择(除非它还充当引导管理器)。
  • GRUB(GRand Unified Bootloader)是 Linux システム中最常用的引导加载程序之一。
  • Windows Bootloader 从磁盘加载 Windows。
  • LILO(Linux Loader)是 Linux 引导加载程序的另一个例。

2. 引导管理器(boot manager)
#

引导管理器是一个高级程序,允许用户从多个操作システム或内核中进行选择以进行引导。它在システム固件选择引导设备之后但在加载操作システム之前実行。

引导管理器的主要功能:
#

  • 提供操作システム选择菜单:引导管理器允许用户在インストール了多个操作システム时选择从哪个操作システム或内核进行引导。它为此显示菜单或界面。
  • 可与多个引导加载程序配合使用:引导管理器できます指示システム为不同的操作システム加载特定的引导加载程序。たとえば,GRUB できます加载 Linux 和 Windows 的引导加载程序,让用户できます选择要引导的引导加载程序。
  • 位于 EFI システムパーティション或 MBR 中:在 UEFI システム中,引导管理器ファイル存储在 EFI システムパーティション (ESP) 中。在 MBR システム中,像 GRUB 这样的引导管理器できます驻留在 MBR 中。
  • できます成为引导加载程序的一部分:某些引导加载程序(如 GRUB)也可用作引导管理器。GRUB 不仅加载操作システム,还提供菜单供用户在多个操作システム或内核設定之间进行选择。
  • GRUB:GRUB 既是引导加载程序又是引导管理器,让用户できます从不同的操作システム或内核版本中进行选择。
  • Windows 引导管理器:Windows システム的默认引导管理器,もしインストール了多个版本的 Windows,则会显示菜单。
  • rEFInd:UEFI システム的独立启动管理器,できます直接从其引导加载程序加载操作システム。

3. 引导加载程序和引导管理器之间的关系
#

  • 相互依赖:引导管理器与引导加载程序协同工作。引导管理器负责向用户提供选项(たとえば要引导哪个操作システム),而引导加载程序则执行实际加载所选操作システム的任务。たとえば,GRUB(可充当引导加载程序和引导管理器)将显示一个菜单,供用户在 Linux 和 Windows 之间进行选择。一旦用户做出选择,GRUB 将加载相应的引导加载程序以引导到所选操作システム。

  • 引导顺序

  1. システム固件 (BIOS/UEFI) 启动引导过程,并根据設定的引导设备顺序查找引导加载程序或引导管理器。
  2. 引导管理器(もし存在)向用户提供操作システム选择。
  3. 执行所选操作システム的 引导加载程序,并将该操作システム的内核加载到メモリ中。
  4. 控制权移交给操作システム,操作システム完成启动过程。

4. 引导加载程序和引导管理器之间的主要区别
#

功能引导加载程序引导管理器
主要角色将操作システム内核加载到メモリ中管理用户选择要実行的操作システム或引导加载程序
実行时在システム固件 (BIOS/UEFI) 之后立即実行在引导加载程序之前実行以提供操作システム选择
功能直接加载并启动操作システム显示用于选择要実行的操作システム或引导加载程序的菜单
用户界面通常没有用户界面(除非集成)提供用于选择操作システム的菜单
GRUB(引导加载程序功能)、Windows 引导加载程序GRUB(启动管理器功能)、Windows 启动管理器、rEFInd
存储位置MBR 或 EFI システムパーティション (ESP)EFI システムパーティション (ESP) 或有时在 MBR 中
多操作システム支持直接加载一个操作システム管理多个引导加载程序或操作システム选择

5. 摘要
#

  • 引导加载程序:加载操作システム并负责启动引导过程。它是システム开始加载操作システム所需的关键低级程序。
  • 引导管理器:允许用户在不同的操作システム或設定之间进行选择。它提供了できます在インストール多个操作システム时提供选择的用户界面。

在现代システム中,GRUB 是一种常用ツール,它结合了引导管理器引导加载程序的角色,提供操作システム选择和操作システム的实际加载。但是,某些システム可能会为这两个角色使用单独的程序,尤其是在更复杂的多引导环境中。

関連記事