Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426055
  • 博文数量: 62
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-10 21:59
个人简介

付出,终有回报!

文章分类

全部博文(62)

文章存档

2018年(6)

2017年(24)

2016年(6)

2015年(26)

分类: LINUX

2017-03-01 22:09:00



简单的说,整个启动流程到操作系统之前的动作应该是这样的:

  1. BIOS:启动主动运行的韧体,会认识第一个可启动的装置;
  2. MBR:第一个可启动装置的第一个磁区内的主要启动记录区块,内含启动管理程序;
  3. 启动管理程序(boot loader):一支可读取核心文件来运行的软件;
  4. 核心文件:开始操作系统的功能...

BIOS是英文"Basic Input Output System"的
,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到上一个上的,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存的硬件配置和用户对某些参数的设定。


这个BIOS就是在启动的时候,计算机系统会主动运行的第一个程序了!

接下来BIOS会去分析计算机里面有哪些储存设备,我们以硬盘为例,BIOS会依据使用者的配置去取得能够启动的硬盘,并且到该硬盘里面去读取第一个磁区的MBR位置。MBR这个仅有446 bytes的硬盘容量里面会放置最基本的启动管理程序,此时BIOS就功成圆满,而接下来就是MBR内的启动管理程序的工作了。

这个启动管理程序的目的是在加载(load)核心文件,由於启动管理程序是操作系统在安装的时候所提供的,所以他会认识硬盘内的文件系统格式,因此就能够读取核心文件,然后接下来就是核心文件的工作,启动管理程序也功成圆满,之后就是大家所知道的操作系统的任务啦!

由上面的说明我们会知道,BIOS与MBR都是硬件本身会支持的功能,至於Boot loader则是操作系统安装在MBR上面的一套软件了。由於MBR仅有446 bytes而已,因此这个启动管理程序是非常小而美的。这个boot loader的主要任务有底下这些项目:

  • 提供菜单:使用者可以选择不同的启动项目,这也是多重启动的重要功能!
  • 加载核心文件:直接指向可启动的程序区段来开始操作系统;
  • 转交其他loader:将启动管理功能转交给其他loader负责。



上面前两点还容易理解,但是第三点很有趣!那表示你的计算机系统里面可能具有两个以上的引导加载程序呢!有可能吗?我们的硬盘不是只有一个MBR而已?但是
引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区boot sector)
假设MBR内安装的是可同时认识Windows/Linux操作系统的启动管理程序,那么整个流程可以图示如下:



在上图中我们可以发现,MBR的启动管理程序提供两个菜单,菜单一(M1)可以直接加载Windows的核心文件来启动;菜单二(M2)则是将启动管理工作交给第二个分区的启动扇区(boot sector)。当使用者在启动的时候选择菜单二时,那么整个启动管理工作就会交给第二个分区的启动扇区了。当第二个启动管理程序启动后,该启动管理程序内(上图中)仅有一个启动菜单,因此就能够使用Linux的核心文件来开机。


阅读(1289) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~