grub配置详细过程

上传人:第*** 文档编号:48805624 上传时间:2018-07-20 格式:PPT 页数:55 大小:886KB
返回 下载 相关 举报
grub配置详细过程_第1页
第1页 / 共55页
grub配置详细过程_第2页
第2页 / 共55页
grub配置详细过程_第3页
第3页 / 共55页
grub配置详细过程_第4页
第4页 / 共55页
grub配置详细过程_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《grub配置详细过程》由会员分享,可在线阅读,更多相关《grub配置详细过程(55页珍藏版)》请在金锄头文库上搜索。

1、 Grub介绍什么是GrubGNU GRUB(简称“GRUB”)是一个来自GNU项目的多重操作系统 启动程序。GRUB是多启动规范的实现,它允许用户可以在计算 机内同时拥有多个操作系统,并在计算机启动时选择希望运行的 操作系统。GRUB可用于选择操作系统分区上的不同内核,也可 用于向这些内核传递启动参数。Grub作用它是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载 ,系统引导管理器的任务就算完成退出,系统引导的其它部份,比 如系统的初始化及启动过程则完全由内核来控制完成;Grub诞生GRUB于1995年面世,当时Erich Boleyn正尝试使用尤他州大学的 Mach4微内核去引导G

2、NU Hurd。因为当时互不兼容的个人计算 机引导方法已经太多了,他们决心不再淌这浑水,后来Erich和 Brian Ford设计了多重引导规范。 接着Erich就开始修改FreeBSD的引导加载器以支持多重引导, 但他很快就认识到自己重新写一个比继续修改FreeBSD的引导加 载器要容易得多,于是就有了GRUB。 Erich给GRUB增加了很多特性,但是其它东西分散了他的精力 ,以至于GRUB的用户群没能迅速扩张。后来有Gordon Matzigkeit和Okuji Yoshinori接替Erich的工作,继续维护和开发 GRUB。1999年,Gordon Matzigkeit和Yoshin

3、ori K. Okuji采用了 GRUB作为正式的GNU软件包,并通过匿名CVS访问最新源代码 的方式放开了GRUB的开发。在接下来的几年中,Grub要求被扩展以满足更多需要,但 是很快被意识到它的设计跟不上向它提出的扩展。他们 达成一个共同点:不改变已存的结构的话是很难做进一步 变化的。 在2002年左右,Yoshinori K. Okuji开始做GNU GRUB早期 通用编程架构(PUPAPreliminary Universal Programming Architecture),就是为了重写Grub的核心 以使其更清洁,更安全,更健壮,更强大。PUPA最终被 命名为grub2,以前的g

4、rub版本被重新命名为Grub Legacy。 少量的人员被继续留下开发grub legacy,但是最后一个版 本是2005年的0.97,在这时继续 写它也不太可能写出另 一个版本了。在2007年左右,GNU/Linux发行版开始使用 Grub2。在2009年左右大多数发行版商默认都安装grub2 。GRUB对设备的命名首先,GRUB对设备的命名必须包含在小括号()内;其次,GRUB 不区分IDE硬盘和SCSI硬盘,统一使用hdx,其中x指定BIOS中 硬盘的编号,并从0开始计数。 (hd0) 表示第一块磁盘(hd0,1) 表示第1个硬盘的第2个分区(hd0,0)/boot/vmlinuz 表

5、示第1个硬盘的第一个分区下的boot/目 录下的vmlinuz文件。Grub有几个重要的文件 stage1,stage2,有的时候需要stage1.5.这些文件一般都在 /boot/grub文件夹下面.如下图 Grub加载1.装载基本的引导装载程序(stage1),stage1通常位于主引导扇区里 面,对于硬盘就是MBR了,stage1的主要功能就是装载第二引导程 序(stage2).这主要是归结于在主引导扇区中没有足够的空间用于 其他东西了。 装载第二引导装载程序(stage2),这第二引导装载程序实际上是引出 更高级的功能,以允许用户装载入一个特定的操作系统。在GRUB 中,这步是让用户显

6、示一个菜单或是输入命令。由于stage2很大 ,所以它一般位于文件系统之中(通常是boot所在的根分区) stage1.5有时候基本引导装载程序(stage1)不能识别stage2所在的 文件系统分区,那么这时候就需要stage1.5来连接 stage1和 stage2了. 接着,stage2被加载并执行,由stage2借助stage1_5驱动文件系统 ,并查找grub.conf,显示启动菜单供用户选择,然后根据用户的 选择或默认配置加载操作系统内核,并将控制权交给操作系统内 核,由内核完成操作系统的启动。GRUB的菜单界面GRUB的菜单项目编辑器界面GRUB的菜单项目编辑器界面菜单项编辑命令

7、 按键:编辑当前选中的行 按键:进入GRUB的命令行界面 按键:在当前行后面插入一行 按键:在当前行前面插入一行 按键:删除当前行 按键:启动当前的菜单项命令并引导操作系统 按键:返回菜单界面,取消对当前菜单项所做的任何修改配置 GRUB GRUB的配置都是通过位于 /boot/grub/grub.conf 的一个配置 文件来完成的。 grub.conf 配置文件 # grub.conf generated by anaconda#.default=0 timeout=10 splashimage=(hd1,3)/grub/splash.xpm.gztitle Red Hat Linuxroo

8、t (hd1,3)kernel /vmlinuz-2.4.18-14 ro root=LABEL=/initrd /initrd-2.4.18-14.imgtitle Windows XProotnoverify (hd0,0)chainloader +1GRUB配置文件的常用选项 default:设置启动菜单的默认启动项,菜单项序号参数其值从“0“ 开始, 即“0“代表第1个菜单项,“1“ 代表第2个菜单项。 timeout:GRUB载入由default命令指定的OS前的时间间隔,以 秒为单位。 title:设定用来装载一个OS的标题。 splashimage:指定在GRUB引导时所使用的屏

9、幕图像的位置。 root:设置GRUB的根设备(root)为Linux内核所在的 分区 。 rootnoverify:做root命令同样的事情,只是不挂装分 区。 kernel:用kernel命令后跟Linux内核文件作为参数,加载 Linux的内核文件。 initrd:用initrd命令加载镜像文件。map:交换磁盘或分区在BIOS中的标志符,用于启动在第二个硬盘 中的Windows。 makeactive:设置根设备为活动分区(针对于Windows不能从非活 动分区启动)。 chainloader:使用chainloader命令调用Windows分区的启动引导器 引导Windows系统。如

10、果您的机器有两块硬盘 而Windows 位于第二个硬盘的第一个分区,也就是(hd1,0) 您可以用grub的map来指令来操作把两块硬盘的序列对调,这样就不用在 BIOS中设置了;在grub.conf中加如下的内容,比如下面的;title WinXpmap (hd0) (hd1)map (hd1) (hd0)rootnoverify (hd1,0)chainloader +1makeactive通过GRUB引导Windows操作系统如果有多个Windows 系统 怎么才能引导出来呢?应该用hide和unhide指令操作;比如我们安装 了两个Windows ,一个是位于(hd0,0)的windo

11、ws 98 ,另一个是安装 的是位于(hd0,1)的WindowsXP;这时我们就要用到hide指令: hide 通过在分区类型上置隐藏标志,隐藏指定分区。title Win98unhide (hd0,0)hide (hd0,1)rootnoverify (hd0,0)chainloader +1makeactivetitle WinXPunhide (hd0,1)hide (hd0,0)rootnoverify (hd0,1)chainloader +1makeactive如何手写grub假设分区都是(hd0,0)按下C后:linux系统的写法grubroot (hd0,0) grubker

12、nel /boot/vmlinuz-2.6.31-4_11 root=/dev/sda1 grubinitrd /boot/initrd-2.6.31-4_11.img grubbootgrub rootnoverify (hd0,0) grub chainloader +1 grub boot按下C后:windows系统的写法Grub rescue比如先装linux然后装windows,重启后linux不知道跑哪去了。 windows自作聪明的把Grub覆盖了,而自己的引导程序并没有引导 启动linux的能力。 解决方法:重新安装Grub。当然前提是用户有一张相同版本的 Linux安装光盘。

13、 成功从光盘启动后,在Linux命令行下依次输入下面这些命令。 grub find /boot/grub/stage1 (查找硬盘上的Linux系统将boot 目录存放在哪个硬盘分区中) root (hdx,y) setup (hd0) quitGRUB2 介绍绍新布局GRUB legacy版本将文件放置在/boot/grub/目录下,包括在启动过程中 读取并显示内容给用户的menu.lst文件。GRUB2 主要有三个部份: 1. /etc/default/grub -这个文件 包含了GRUB2的菜单。2. /etc/grub.d/ -这个目录包 含了生成GRUB2菜单的脚本。3. /boot

14、/grub/grub.cfg -GRUB2 的配置文件,勿直接编辑。1、grub2和grub有很多不同的地方: a)图形接口 b)使用了模块机制,通过动态加载需要的模块来扩展功能 c)支持脚本语言,例如条件判断,循环、变量和函数 d)支持rescue模式,可用于系统无法引导的情况 e)国际化语言。包括支持非ASCII的字符集和类似gettext的消息分类, 字体,图形控制台等等 f)有一个灵活的命令行接口。如果没有配置文件存在,GRUB会自动进 入命令模式 g)针对文件系统、文件、设备、驱动、终端、命令、分区表、os loder 的模块化、层次化、基于对象的框架 h)支持多种文件系统格式 i)

15、可访问已经安装的设备上的数据 j)支持自动解压 一、grub2grub2同样以fd表示软盘,hd表示硬盘(包含IDE和SCSI硬盘)。设备 是从0开始编号,分区则是从1开始,主分区从1-4,逻辑分区从5开始, 而grub分区编号是从0开始的。下面给出几个例子 :(fd0):表示整个软盘(hd0,1):表示BIOS中的第一个硬盘的第1个分区(hd0,5)/boot/vmlinuz:表示BIOS中的第一个硬盘的第一个逻辑分区下 的boot目录下的vmlinuz文件 2、设备的命名插入grub菜单图片2、下面介绍绍下在grub2中一些常用的命令 loopback一个例子:在sda3/root下放了一个rtm.isogrub set root=(hd0,3)grub loopback loop /root/rtm.isogrub linux (loop)/按下TAB可显示用文件:/ / LiveOS/ ReadMe-zh_CN.txt hdboot/ isolinux/ usb-live-tool.shgrub linux (loop)/isolinux/按下TAB显示可用文件:/ / boot.cat chain.c32 initrd0.img isolinux.bin isolinux.cfg vesamenu.c32 vmlinuz0grub linux (loop)/isolin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号