启动流程

    • 加载blos的硬件信息与进行自检,并且根据设置取得第一个可启动的设备。
    • 读取并执行第一个启动设备中的MBR的启动引导程序(或者是grub2)
    • 根据启动引导程序的设置加载kenek,kernek会开始检测硬件与加载驱动程序
    • 在硬件驱动成功之后,kernel会主动调用system程序 并且以default.target 流程启动

    由于不同的操作系统的文件系统格式不同 所以我们必须要以一个启动
    引导程序来处理内核文件 加载的问题
    这个启动引导程序就叫做 boot loader
    安装在哪里?
    就是启动设备的第一个扇区 也就是我们谈到的MBR中

    boot loader 的功能

    • 提供选项 用户可以选择不同的启动选项 是多从引导的重要功能
    • 加载内核文件 直接指向可启动的程序区域来启动操作系统
    • 转交 其他的loader 将启动管理功能转交给其他的loader功能负责

    必须要使用自己的loader 才能识别自己的操作系统文件格式 才能加载属于
    自己系统的内核 但是系统的mbr只有一个 怎么解决 在一台主机上能同时安装
    windows 和 linux 呢 ?
    每个文件系统都会保留一块启动扇区(boot sector) 来提供操作系统来安装 boot loader
    而且通常操作系统都会安装一份 boot loader 安装到根目录所在的文件系统上(图中的小方块)
    windows 安装的时候默认会在mbr 和 boot sector 都安装上 boot loader
    如图所示
    image.jpeg
    注意:windows的boot loader 默认不具有控制权转交的功能
    所以要先装windows 在装Linux
    boot lader