引导加载程序:GRUB

grub知识详解 文章目录1. grub legacy2. 安装 /boot/grub目录:**3. /boot/grub/grub.conf**splashimage背景文件,4. grub加密 1. grub legacy grub: GRand Unified Bootloader grub就是一种老的bootloader grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr第一个扇区(446字节)不足以找到内核(文件系统驱动肯定比446字节大 阅读详情

计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占446字节),并把控制权交给Boot Loader,由Boot Loader进一步完成操作系统内核的加载。当Boot Loader找到内核之后,就把控制权交给操作系统内核,由内核继续完成系统的启动。可以看出,Boot Loader 是计算机启动中第二个要执行的程序,它是引导操作系统的关键程序。可以引导操作系统的Boot Loader主要有LiLo、GRUB以及Windows下的MBR程序。其中,GRUB是目前使用最为广泛,并且非常优秀的一款启动引导程序。


GRUB的执行流程 

GRUB引导操作系统的简要流程:
(1)如果你安装GRUB到MBR,GRUB的安装程序会把
MBR的boot loader(或其他扇区boot loader)备份到Stage1。执行Stage1,Stage1的工作是载入Stage1_5

(2)当Stage1_5加载后,stage1就可以加载Stage2,因为Stage1_5加载后,就可以认识到ext2文件系统的格式也赋予了GRUB读取文件系统目录的能力

(3)stage2执行时,查找grub.conf,显示启动菜单供用户选择,然后根据用户的选择或默认配置加载操作系统内核,并将控制权交给操作系统内核,由内核完成操作系统的启动。


GRUB涉及到几个重要的文件: 
stage1:
stage1的大小是512个字节,正是MBR的大小,但stage1的最后66个字节与mbr不同,mbr的最后66个字节分别是64个字节的分区表,和MBR标记55AA.stage1与MBR的前446,它们的内容是完全一样的.我们可以理解stage1文件是MBR中bootloader的一个备份。通常,这个文件是被装载到MBR或者启动扇区所在的分区。
stage1_5:作为stage1加载stage2的桥梁,stage1_5负责识别文件系统格式从而加载stage2,所以stage1_5往往有多个,以支持不同文件系统的读取。在安装GRUB的时候,GRUB会根据当前/boot/分区类型,加载相应的stage1_5。
stage2:stage2是放在各个分区的Boot Sector,主要作用:提供菜单、读取配置文件、连接下一个Boot Sector。

第四个是menu.lst(/boot/grub/grub.conf的链接)。grub.conf是一个基于脚本的文本文件,其中包含菜单显示的配置和各个操作系统的内核加载配置。GRUB根据grub.conf显示启动菜单,提供同用户交互界面。GRUB正是根据用户选择或默认配置和grub.conf的内核配置加载相应的内核程序,并把控制权交给内核程序,使得内核程序完成真正的操作系统的启动。


MBR、/BOOT、GRUB三者关系

MBR是硬盘上的一个扇区,包含三部分内容(引导加载程序、分区表及分隔标识,MBR总计512字节;其中引导加载程序占446个字节);为什么需要这个MBR,主要是因为BIOS太小,功能有限。当系统加电,BIOS自检后,就会将MBR Load进内存。也就意味着引导加载程序被激活,分区表信息已经加载到内存,同时也意味着对系统的控制权从BIOS过渡到GRUB

GRUB是一个多重操作系统启动程序。用来引导不同系统。GRUB是一个系统引导加载程序,分为两个阶段,stage1用汇编语言编写,也就是MBR中的引导程序部分①基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据cache 等)。②为加载 Boot loader 的Stage2 准备空间。③如果是从某个固态存储媒质中,则拷贝 Bootloader 的stage2 到RAM 空间中。④设置好堆栈。⑤跳转到 stage2的C 程序入口点。

GRUB引导加载程序的stage2,通常用C语音编写,这个阶段的任务有:①初始化本阶段要使用到的硬件设备。②检测系统内存映射。③将kernel 映像和根文件系统映像从flash 上读到RAM 空间中。④为内核设置启动参数⑤调用内核。它通常保存在/boot/grub/中。当我们启动系统进入GRUB界面时,会看到有选择信息,如果我们自己编译了系统内核的话,你可以选择从某个内核启动。同时要注意的是GRUB的配置文件和内核在/boot分区

从前面分析我们可以看出,/BOOT和MBR不存在包含关系。GRUB第一阶段需要去MBR中去读引导程序,GRUB第二阶段需要到/boot分区读系统内核和配置文件。


通过上面分析,可以理解为什么双系统,删除Linux系统,会导致开机两个系统都打不开。


引导加载程序之争: LILO 和 GRUB 在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序。通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader), 并研究两者各自的优点和缺点。什么是引导加载程序?最简单地讲,引导加载程序(boot loader) 会引导操作系统。当机器引导它的操 阅读详情

相关推荐

Linux入职基础-4.7_GRUB启动引导程序

GRUB启动引导程序1、grub与启动引导程序的关系启动引导程序是计算机启动过程中运行的第一个真正的软件,通常计算机,启动时在通过BIOS自检后读取并运行硬盘的主引导扇中的启动引导程序,启动引导程序再负责加载启动硬盘分区中的操作系统。grub以引导的操作系统包括:Linux,FreeBSD,Solaris,NetBSD,BeOS, OS/2,Windows95/98,WindowsNT,Windo...

木生火 619

SylixOS学习三—— SylixOS的引导与安装2

自学SylixOS启程之旅笔记 《SylixOS启程之旅》是一门公开课,点开下面链接即可观看: SylixOS启程之旅

graceyun的博客 1702

grldr(GRUB,grub4dos)使用方法简介

一 引言: grldrgrub里面的一个文件,对grub不熟悉的朋友可能不知道,但是如果你用过嬴政一键GHPST、MAXDOS、矮人DOS工具箱等等软件,你就应该知道这个名字:这些软件无一例外都是使用grub或者grldr引导他们保存在你硬盘的软盘镜像或者系统引导文件的。没有grubgrldr(包括avldr

liangrockman的专栏 2万+

Win7 加载Grub

1:建议先去grub官方网站下载grub4dos (官方开源项目网站:grub4dos.sourceforge.net) 2:解压grldr.mbr、grldr、menu.lst 三个文件到C盘根目录,注意是根目录哦! 3:然后以管理员模式运行cmd,输入bcdedit /create /d "grub" /application bootsector 会有一大串id,要记下,等下要用

莫忘精彩 492

引导加载程序之争:了解 LILO 和 GRUB

引导加载程序之争:了解 LILO 和 GRUB  从普通的桌面用户到 Linux® 系统管理员,大部分 Linux 用户都使用过一种名为引导加载程序的工具。此类工具的不同变种会提供不同层次的支持和功能。在很多情况下,Linux 发行版默认安装的引导加载程序并不总是适合需要;每个引导加载程序的默认设置也是如此。在本文中,Laurence Bonney 讨论了两个流行的引导加载程序 ——

dillisbest的专栏 248

引导加载程序之争:了解 LILO 和 GRUB[ZT]

http://bbs.chinaunix.net/viewthread.php?tid=628565引导加载程序之争:了解 LILO 和 GRUB[ZT]    从普通的桌面用户到 Linux 系统管理员,大部分 Linux 用户都使用过一种名为引导加载程序的工具。此类工具的不同变种会提供不同层次的支持和功能。在很多情况下,Linux 发行版默认安装的引导加载程序并不总是适合需要;每个引导加载程序

吴垠的专栏 1545
上一篇: 开机流程与MBR
下一篇: Linux文件属性
etherlai
博客等级 码龄15年 21粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值