博客
关于我
PC机引导程序之——BOIS
阅读量:618 次
发布时间:2019-03-13

本文共 1106 字,大约阅读时间需要 3 分钟。

PC引导程序的核心——BOIS

PC启动时,系统会自动启动引导程序进行初始化和操作系统的启动,这个引导程序被称为BIOS(Basic Input/Output System)。与Linux系统的启动流程类似,BIOS对于PC的初始化起到了至关重要的作用。在缺乏操作系统的情况下,BIOS能够启动系统,确保硬件正常运行并为后续的操作系统加载做好准备。

BOIS的功能

  • 硬件初始化与测试

    BOIS首先会初始化和测试系统的硬件设备,包括CPU、内存、存储器等,确保每个设备都处于正常工作状态。

  • 存储设备检测与引导程序加载

    BOIS会从系统的存储设备(如硬盘、SSD等)中扫描并找到引导程序(通常是MBR,Master Boot Record,主启动记录)。这一步骤是系统启动的关键环节。

  • 硬件控制与中断支持

    BOIS为显示器、键盘、鼠标、打印机等输入输出设备提供中断处理功能,确保这些设备能够正常工作。

  • 支持存储型BIOS

    随着技术的发展,传统的ROM存储的BIOS已逐渐被闪存(Flash)取代,闪存不仅支持读取还允许重写,这极大地提升了维护和更新的便利性。

  • 系统启动流程

  • POST自检(Power-On Self-Test)

    计算机首次上电时,会执行POST检查,确保各项硬件和软件配置都正常。具体包括:

    • 验证CPU寄存器和BIOS代码的完整性
    • 初始化和验证主内存
    • 检查和配置系统总线、显卡、 DMA 控制器等重要组件
  • 复位向量的作用

    在PC设备上电启动时,CPU会尝试执行复位向量指向的代码。复位向量位于NVRAM中,地址为FFFF:0。
    在冷启动模式下,BOIS存储在闪存中,北桥会将复位向量指向闪存中的引导程序;而在热启动模式下,BOIS会被加载到RAM中,复位向量也会被指向RAM中的引导程序地址。

  • 引导程序的执行

    COMS位(传统的EL Case)中的BIOS代码会被加载到内存中并执行。引导程序的主要任务是将控制权转移到操作系统的引导扇区。

  • 引导扇区的重要性

  • MBR的作用

    主启动记录(MBR)是引导扇区的核心组件,包含以下信息:

    • 引导程序本身
    • 磁盘的分区表信息
    • 分隔符标识
  • 引导扇区的加载过程

    引导程序会将控制权转移到目标操作系统的引导扇区。引导扇区正常运行后,会对自身硬件进行测试并注册中断向量,以供后续程序使用。

  • GRUB引导程序的作用

  • 扇区检测与签名验证

    引导扇区会扫描磁盘,寻找可引导的扇区,并检查扇区签名(通常为0x55 0xAA)。一旦找到符合签名的扇区,引导程序会将控制权转移到该扇区。

  • 系统环境配置

    引导扇区不仅仅是引导程序的容器,它还会初始化系统环境,为后续的操作系统加载做好准备。

  • 转载地址:http://njkaz.baihongyu.com/

    你可能感兴趣的文章
    Open××× for Linux搭建之二
    查看>>
    Open×××有线网络时使用正常,无线网络时使用报错的解决方案
    查看>>
    Opera Mobile Classic Emulator
    查看>>
    Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
    查看>>
    OperationResult
    查看>>
    Operations Manager 2007 R2系列之仪表板(多)视图
    查看>>
    operator new and delete
    查看>>
    operator new 与 operator delete
    查看>>
    operator() error
    查看>>
    OPPO K3在哪里打开USB调试模式的完美方法
    查看>>
    oppo后端16连问
    查看>>
    OPPO软件商店APP侵权投诉流程
    查看>>
    Optional用法与争议点
    查看>>
    Optional类:避免NullPointerException
    查看>>
    Optional讲解
    查看>>
    ORA-00069: cannot acquire lock
    查看>>
    ORA-00923: 未找到要求的 FROM 关键字
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01034: ORACLE not available
    查看>>