MBR&/BOOT和GRUB三者关系总结
Posted coder_up
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MBR&/BOOT和GRUB三者关系总结相关的知识,希望对你有一定的参考价值。
做了一个大自然的搬运工, 介绍的不错, 备份下
MBR是硬盘上的一个扇区,包含三部分内容(引导程序、分区表及分隔标识,MBR总计
512字节
;其中引导程序最多占446个字节
);为什么需要这个MBR,主要是因为Bios太小,功能有限。当系统加电,bios自检后,就会将MBR Load进内存。也就意味着引导程序被激活,分区表信息已经加载到内存,同时也意味着对系统的控制权从bios过渡到GRUB.GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器。用来引导不同系统。GRUB是一个系统引导程序,分为两个阶段
1. 第一阶段它保存在MBR中.
用汇编语言编写
,也就是MBR中的引导程序部分。
- ①基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据cache 等)。
- ②为加载 Bootloader 的Stage2 准备空间。
- ③如果是从某个固态存储媒质中,则拷贝 Bootloader 的stage2 到RAM 空间中。
- ④设置好堆栈。
- ⑤跳转到 stage2 的C 程序入口点。
2. GRUB引导程序的第二阶段,
通常用C语音编写
,这个阶段的任务有:
- ①初始化本阶段要使用到的硬件设备。
- ②检测系统内存映射。
- ③将kernel 映像和根文件系统映像从flash 上读到RAM 空间中。
- ④为内核设置启动参数
- ⑤调用内核。它通常保存在/boot/grub/中。
- 当我们启动系统进入GRUB界面时,会看到有选择信息,如果我们自己编译了系统内核的话,你可以选择从某个内核启动。
同时要注意的是GRUB的配置文件和内核在/boot分区
。从前面分析我们可以看出,/BOOT和MBR不存在包含关系
。GRUB第一阶段
需要去MBR中去读引导程序,GRUB第二阶段
需要到/boot分区读系统内核和配置文件。
以上是关于MBR&/BOOT和GRUB三者关系总结的主要内容,如果未能解决你的问题,请参考以下文章