BIOS、MBR、GRUB、kernel

原创 2013年12月03日 15:36:17

1:BIOS 它是一组固化到计算机主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。主机上电后首先运行BIOS;它是一段固件程序,主板上面CMOS芯片里写好的;

 

 

2:

MBR(Main Boot Record 主引导记录区) 位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表)(见表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。(图)

主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。
 
3:GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

            计算机启动后,BIOS将寻找第一个可启动的设备(通常为硬盘),而后从MBR中载入启动程序,然后把控制交给这段代码。MBR位于硬盘的前512字节内。

GRUB 第一版本[编辑]

GRUB的步骤1包含在MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤1.5:GRUB的步骤1.5包含在MBR后面的30千字节中。步骤1.5载入步骤2。

当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。这步通常采用的是图形菜单的形式,如果图形方式不可用或者用户需要更高级的控制,可以使用GRUB的命令行提示,通过它,用户可以手工指定启动参数。GRUB还可以设置超时后自动从某一个内核启动。

GRUB 第二版本[编辑]

与GRUB 第一版相似的是,boot.img像步骤1一样在MBR或在启动分区中,但是,它可以从任何LBA48地址的一个扇区中读取,它(boot.img)将读取core.img(产生于diskboot.img)的第一个扇区以用来后面读取core.img的剩余部分。core.img正常情况下跟步骤1.5储存在同一地方并且有着同样的问题,可是,当他被移动到一个文件系统或一个纯粹的分区时会比在步骤1.5移动或删除引起更少的麻烦。 一旦完成读取,core.img会读取默认的配置文件和其他需要的模块。

当GRUB启动后[编辑]

一旦选择了启动选项,GRUB把选择的内核载入内存并把控制交给内核。在此步骤中,对于Windows之类不支持多启动标准的操作系统,GRUB也可以通过链式启动把控制传给其它启动器。在这种情况下,其它操作系统的启动程序被GRUB保存了下来;与内核不同,其它操作系统如同直接自MBR启动。类似Windows的启动菜单,也许是另一个启动管理器,它允许在多个不支持多启动的操作系统中做进一步的选择。(在已有Windows的系统上面,或者包含多个Windows版本的系统上安装现代的Linux而不修改原操作系统,即属于这类情况。)

 
总结:
       1)BIOS是主板CMOS芯片上的固件程序;
       2)GRUB是bootloader,分两部分,stage1(boot.img存在MBR里);stage2(core.img存在启动分区里"/boot/grub/grub.cfg");
       3)stage2引导内核;
     
 

 

BIOS,MBR与grub-我从哪里来

http://blog.csdn.net/dog250/archive/2011/02/27/6211710.aspx
  • wishfly
  • wishfly
  • 2011年03月01日 12:54
  • 3218

MBR&/BOOT和GRUB三者关系总结

MBR是硬盘上的一个扇区,包含三部分内容(引导程序、分区表及分隔标识,MBR总计512字节;其中引导程序最多占446个字节);为什么需要这个MBR,主要是因为BIOS太小,功能有限。当系统加电,bio...
  • dale_chenjiawen
  • dale_chenjiawen
  • 2015年03月15日 22:33
  • 3177

MBR&/BOOT和GRUB三者关系总结

MBR是硬盘上的一个扇区,包含三部分内容(引导程序、分区表及分隔标识,MBR总计512字节;其中引导程序最多占446个字节);为什么需要这个MBR,主要是因为BIOS太小,功能有限。当系统加电,bio...
  • dale_chenjiawen
  • dale_chenjiawen
  • 2015年03月15日 22:33
  • 3177

MBR及linux下grub执行原理浅析

前几天,手痒痒把系统搞坏了,但正如那句话说的:塞翁失马,怎知不是福?查找了很多资料,学习到了很多新知识,发现大牛们要么不出手,出手的文章必定深入浅出,风趣幽默,还穿插了很多从技术中悟出的人生哲理,让人...
  • zhongjin616
  • zhongjin616
  • 2014年01月03日 10:19
  • 2163

MBR&/BOOT和GRUB三者关系总结

做了一个大自然的搬运工, 介绍的不错, 备份下 MBR是硬盘上的一个扇区,包含三部分内容(引导程序、分区表及分隔标识,MBR总计512字节;其中引导程序最多占446个字节);为什么需要这个MBR,...
  • wjc19911118
  • wjc19911118
  • 2016年07月28日 10:46
  • 527

GRUB legacy和GRUB 2介绍 与 命令【包含kernel 与 initrd的详解】使用

Grub简介 GNU GRUB 是一个多重操作系统启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB最初由Erich Stefan B...
  • xiaoyi23000
  • xiaoyi23000
  • 2016年05月20日 14:33
  • 1774

Ubuntu14.04开机进入grub问题,MBR修复

周日在家闲着没事升级家里电脑xi
  • canghai1129
  • canghai1129
  • 2014年08月18日 10:25
  • 6699

计算机启动流程:BIOS和Grub

当我们按下电源键启动计算机的过错
  • trylive
  • trylive
  • 2014年06月23日 18:58
  • 1155

linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数

在grub加载内核的时候是可以指定内核的参数的,例如quiet(静默模式)、single(单用户模式)          发现一篇文章介绍比较详细,转载过来 ^_^ 在Linux中,给...
  • sdcxyz
  • sdcxyz
  • 2014年04月01日 22:57
  • 19371

【Centos7 GRUB】修改开机等待时间

centos7与之前版本不同,在/boot/grub/下没有 grub.conf文件,但有/etc/grub2/grub.cfg 其内容为 [root@za default]# cat /boot/g...
  • dream361
  • dream361
  • 2017年03月31日 16:10
  • 3039
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BIOS、MBR、GRUB、kernel
举报原因:
原因补充:

(最多只允许输入30个字)