启动流程
- 加载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
如图所示
注意:windows的boot loader 默认不具有控制权转交的功能
所以要先装windows 在装Linux
boot lader