• 实模式只有 1MB 内存寻址空间(X86)
  • 加电, 重置 CS 为 0xFFFF , IP 为 0x0000, 对应 BIOS 程序
  • 0xF0000-0xFFFFF 映射到 BIOS 程序(存储在ROM中), BIOS 做以下三件事:
    • 检查硬件
    • 提供基本输入(中断)输出(显存映射)服务
    • 加载 MBR 到内存(0x7c00)
  • MRB: 启动盘第一个扇区(512B, 由 Grub2 写入 boot.img 镜像)
  • boot.img 加载 Grub2 的 core.img 镜像
  • core.img 包括 diskroot.img, lzma_decompress.img, kernel.img 以及其他模块
  • boot.img 先加载运行 diskroot.img, 再由 diskroot.img 加载 core.img 的其他内容
  • diskroot.img 解压运行 lzma_compress.img, 由lzma_compress.img 切换到保护模式
    从bios到bootloader
    从bios到bootloader

  • 切换到保护模式需要做以下三件事:
    • 启用分段, 辅助进程管理
    • 启动分页, 辅助内存管理
    • 打开其他地址线
  • lzma_compress.img 解压运行 grub 内核 kernel.img, kernel.img 做以下四件事:
    • 解析 grub.conf 文件
    • 选择操作系统
    • 例如选择 linux16, 会先读取内核头部数据进行检查, 检查通过后加载完整系统内核
    • 启动系统内核

相关文章:

  • 2021-07-25
  • 2021-04-24
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2022-01-03
  • 2022-03-02
猜你喜欢
  • 2021-10-28
  • 2022-12-23
  • 2021-08-19
  • 2021-08-04
  • 2021-08-24
  • 2021-12-11
  • 2022-12-23
相关资源
相似解决方案