开机流程与MBR


开机流程:

计算机中有BIOS与CMOS两个东西, CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个写入到主板上的一个韧体( 韧体就是写入到硬件上的一个软件程序)。这个BIOS就是在启动的时候,计算机系统会主动运行的第一个程序了!

BIOS可以设置计算机中的硬件设备,我们以硬盘为例,BIOS会依据使用者的配置去取得能够启动的硬盘,并且到该硬盘里面去读取第一个磁区的MBR位置。 MBR占据446bytes的硬盘容量,其中放置了引导加载程序,而接下来就是MBR内的引导加载程序的工作了。

引导加载程序的目的是加载内核文件,由于引导加载程序是操作系统在安装的时候所提供的,所以它认识硬盘内的文件系统格式,因此就能够读取内核文件,然后接下来就是内核文件的工作,操作系统也就成功启动!

流程简述:
BIOS ==> MBR ==> 引导加载程序 ==> 内核文件


1、BIOS:启动主动运行的韧体,会认识第一个可启动的装置。

2、MBR(主引导记录):第一个可启动装置的第一个磁区内的主要启动记录区块,内含启动管理程序。

3、启动管理程序(boot loader):可读取核心文件来运行的软件;grub(面向linux中)是最主流的boot loader。

4、核心文件:开始操作系统的功能。

MBR位于主引导扇区(即:0磁头0柱面的第一扇区),共有446bytes。

BIOS与MBR都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR或分区启动扇区上的一套软件。

Boot loader的主要任务:

1、提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能!

2、加载核心文件:直接指向可启动的程序区段开始操作系统。

3、转交给其他loader:将引导加载功能转交给其他loader负责。

引导加载程序装在启动扇区上可以实现“多重引导”的功能。


Boot loader的属性:


1、每个分区都拥有自己的启动扇区(boot sector)

2、实际可启动的内核文件是放置到各分区里的。

3、boot loader只会认识自己的系统分区内的可启动内核文件,以及其他boot loader而已。


如果要安装多重启动, 最好先安装Windows再安装Linux(当然大牛反着来照样可以,可通过安装识别windows/linux的引导加载程序)


Linux在安装的时候,你可以选择将boot loader安装在MBR或分区的启动扇区,而且Linux的boot loader可以手动配置菜单,所以你可以在Linux的boot loader里面加入Windows启动的选项。

Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分区的启动扇区, 而且它没有让我们自己选择菜单的功能。

Linux启动引导过程 grub和MBR 

Linux 磁盘基本概念(磁盘、分区、MBR、GPT)

RHCE_RHEL6_124 U20.3 解决Grub问题,修复MBR 

关于MBR, Grub 的几个问题 

Ubuntu更新致MBR破坏 误操作丢失分区表

相关内容