开机流程与主引导分区(MBR)——鸟哥私房菜

  在前篇随笔中,已经谈到了CMOS与BIOS,CMOS是记录各项硬件参数(包括系统时间、设备的I/O地址、CPU的电压和频率等)且嵌入到主板上面的存储器,BIOS是一个写入到主板上的韧体(韧体是写入到硬件上的一个软件程序)。

  这个BIOS是在开机的时候计算机系统会主动执行的第一个程序

  接下来,BIOS会去分析计算机里面有哪些存储设备,以硬盘为例,BIOS会依据用户的设置去取得能够开机的硬盘,并且到该硬盘里面去读取第一个扇区中的主引导分区(Master Boot Record,MBR)位置。MBR这个仅有446bytes的硬盘容量里面会放置最基本的引导加载程序(Boot loader),此时BIOS就功成圆满,接下来就是MBR内的引导加载程序的工作了。

  这个引导加载程序的目的是加载内核文件,由于引导加载程序是操作系统在安装的时候所提供的,所以它会识别硬盘内的文件系统格式,因此就能够读取内核文件,接下来就是内核文件的工作了,之后就是我们所知道的操作系统的任务。

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

  1.BIOS:开机主动执行的韧体,会认识第一个开机的设备

  2.MBR:第一个可开机设备的第一个扇区内的主引导分区块,内含引导加载程序。

  3.引导加载程序:一只可读取内核文件来执行的软件。

  4.内核文件:开始操作系统的功能。

  BIOS与MBR都是硬件本身会支持的功能,至于Boot loader(引导加载程序)则是操作系统安装在MBR上面的一套软件。由于MBR仅有466bytes而已,因此这个引导程序是非常小而完美的。这个boot loader的主要任务有下面几项:

  • 提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能呢。
  • 载入内核文件:直接执行可开机的程序区段来开始操作系统。
  • 转交其他loader:将引导加载功能转交给其他loader负责。

  上述boot loader的三条任务中,前两条很好理解,但第三条很有趣。那表示你的计算机系统里面可能具有两个以上的引导加载程序。值得特别指出的是引导加载程序(loader)除了可以安装在MBR之外,还可以安装在每个分区的引导扇区。分区还有个别的启动扇区?这个特色才能造就”多重引导“的功能。

  我们举一个例子来说明,假设你的个人计算机只有一块硬盘,里面分成四个分区,其中第一、二分区分别安装了Windows及Linux,你要如何在开机的时候选择用Windows还是Linux开机呢?假设MBR内安装的是可同时识别Windows/Linux操作系统的引导加载程序,那么整个流程如下图:

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

  • 每个分区都拥有自己的启动扇区。
  • 图中的系统分区为第一及第二分区。
  • 实际可开机的内核文件是放置到各分区内的。
  • loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已。
  • loader可直接指向或者是间接将管理权转交给另一个管理程序。
  • 每个分区都有自己的启动扇区,loader可以安装在MBR或启动扇区上,loader只会识别自己分区内的可开机内核文件。
时间: 2024-08-04 07:18:19

开机流程与主引导分区(MBR)——鸟哥私房菜的相关文章

鸟哥私房菜重温笔记

今天决定重写把鸟哥私房菜基础篇再学一遍,把基础打牢,练好基本功.今天的学习要点有: linux的分区表,只有46字节,故只能记录4个分区的信息.如果需要分大于4个分区,则需要划分出一个扩展分区,然后在扩展分区中再划分逻辑分区.逻辑分区的分区表信息记录在扩展分区的第一个扇区中. linux操作系统在自动的时候,首先会去BIOS中设定的启动硬盘的MBR中去加载bootloader引导程序.引导程序在每个分区的第一个扇区都可以.如果在电脑的硬盘上安装了多个操作系统,则开机的启动流程是.首先会根据在BI

鸟哥私房菜上的 xpenguins 安装(ubuntu 12.04)

看了一个暑假的linux,感觉很辛苦啊,想要用好linux真心不容易... 今天装了一下鸟哥课后给的xpenguins软件,就是桌面特性软件,会有很多企鹅下落,本以为可以很轻松的搞定,没想到问题多多啊. 我的环境:ubuntu 12.04 LTS 1. 首先下载个企鹅 download: http://xpenguins.seul.org/xpenguins-2.2.tar.gz 2. 解压 tar -xzf xpenguins-2.2.tar.gz, 进入目录xpenguins-2.2 3.

学习鸟哥私房菜--linux bash 的环境变量ps1设置

bash里边的变量ps1是用户平时的提示符,系统默认为[[email protected] 工作目录]$.关于ps1的相关介绍详见:http://www.cnblogs.com/starspace/archive/2009/02/21/1395382.html 文章里边介绍了要想ps1的修改在重启有效需要将它写入~/.bash_profile中,但是这是针对login shell的(即各种tty终端界面等),对于进入xwindow启动的命令行终端这样的nonlogin shell就不管用了,这是

鸟哥私房菜之文件权限与目录配置

鸟哥私房菜之文件权限与目录配置 用户.组.其他人的概念 默认情况下,系统中所有的系统账号的信息都在/etc/passwd这个文件中记录的.个人的密码信息记录在/etc/shadow文件中:linux所有的群组信息记录在/etc/group文件中. 文件属性 一个文件的属性一共有十个不同的字符: 1.第一个字符是代表了这个文件是目录文件(d).文件(-)还是链接文件(l). 2.下面的字符三个为一组,分别代表了文件拥有者.加入此群组的账号的权限.其他人的权限. rwx分别代表了可读.可写.可执行.

鸟哥私房菜笔记-1 (S0_S3)

学新东西,总感觉还是看书来的实在,直接看教程上手太慢且没有目的, 接下来先啃鸟哥这本吧,买的第三版,内容在鸟哥站上都有: 鸟哥的 Linux 私房菜 -- 基础学习篇目录 (繁体) http://cn.linux.vbird.org/linux_basic/linux_basic.php 鸟哥的 Linux 私房菜 -- 基础学习篇目录 (简体) http://cn.linux.vbird.org/linux_basic/linux_basic.php [ 分享 ] 提問的智慧 - 鳥哥的 Li

鸟哥私房菜基础篇:首次登入與線上求助习题

猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0160startlinux.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-简单的查询一下,Physical console / Virtual console / Terminal 的说明为何? console 有『控制台』的意思在里面,因此你可以这样看的: 实体控制台:实体的荧幕.键盘.鼠标等界面,让妳可以使用该配备来操作系统的环境,就称为实体控制台 (Physical console) 虚

鸟哥私房菜基础篇:Linux是什么习题

猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0110whatislinux.php#ex 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-你在你的主机上面安装了一张网络卡,但是开机之后,系统却无法使用,你确定网络卡是好的,那么可能的问题出在哪里?该如何解决? 因为所有的硬件都没有问题,所以,可能出问题的地方在于系统的核心(kernel) 不支持这张网络卡.解决的方法,(1)到网络卡的开发商网站,(2)下载支持你主机操作系统的驱动程序, (3)

鸟哥私房菜基础篇:安裝 CentOS7.x习题

猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0157installcentos7.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-Linux的目录配置以『树状目录』来配置,至于磁碟分割槽(partition)则需要与树状目录相配合! 请问,在预设的情况下,在安装的时候系统会要求你一定要分割出来的两个Partition为何? 就是根目录『/』与存储器置换空间『Swap』. 2-预设使用 MBR 分割方式的情况下,在第二颗 SATA 磁碟中,分

鸟哥私房菜基础篇:主机规划与磁碟分割习题

猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0130designlinux.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-请分析你的家用计算机,以你的硬件配备来计算可能产生的耗电量,最终再以计算出来的总瓦数乘上你可能开机的时间, 以推估出一年你可能会花费多少钱在你的这部主机上面? 硬件里面包括 CPU/硬盘/主机板/存储器/显示卡/荧幕等等都会消耗电力,同时电源供应器也会消耗一部份的电力. 若有实际测量工具时,请使用测量结果来计算.若无测