当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Grub安装、配置以及使用实例汇总讲解(一)

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 Grub安装、配置以及使用实例汇总讲解(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 47 ::
收藏到网摘: n/a

(一)安装linux时安装grub

安装redhatlinux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub还可以引导其它操作系统,如FreeBSD、NetBSD、OpenBSD、GNUHURD和DOS,以及Windows95、98、NT、2000、XP。

(二)grub的配置

一旦选择了grub为引导程序,下面我们来了解一下它的配置。/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项。下面是我的grub.conf:

以下为引用的内容:
  #==========例子开始==========#grub.confgeneratedbyanaconda##Notethatyoudonothavetorerungrubaftr-makingchangestothisfile#NOTICE:Youhavea/bootpartition.Thismeansthat#allkernelandinir-dpathsarerelativeto/boot/,eg.#root(hd0,6)#kernel/vmlinuz-versionroroot=/dev/hda10#initrd/initrd-version.img#boot=/dev/hdadefault=0timeout=10splashimage=(hd0,6)/grub/splash.xpm.gz#-->RedhatLinux8.0<--titleRedHatLinux(2.4.18-14)root(hd0,6)kernel/vmlinuz-2.4.18-14roroot=LABEL=/initrd/initrd-2.4.18-14.img#-->MicrosoftWindowsXP<--titleMicrosoftWindowsXProotnoverify(hd0,0)chainloader+1#===========例子结束==========

  
配置选项解释:

以"#"开头的是注释行。我这里有两个操作系统,分别是RedHatLinux和MicrosoftWindowsXP。其中,timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhatlinux8.0)

默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个。

所以如果你想修改默认的操作系统,就修改default后的数字。title一项是设置操作系统的名称,grub不支持中文(有点遗憾)。splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景。

root(hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核。注意这儿的root与linux的root分区不同,此root非彼root也!grub的硬盘标识方法与linux的有点不同。在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在grub中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此类推。

所以这儿root后面的是你的/boot所在分区标识。知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。kernel/vmlinuz-2.2.18-14ro

root=LABEL=/。说明/boot/vmlinuz-2.2.18-14就是要载入的内核。后面的都是传递给内核的参数。

ro是以readonly的意思。注意我这里内核前面的路径是"/",因为我的boot单独分了一个区,如果你没有为boot单独分区,那么内核前面的路径就是"/boot"。initrd用来初始的linuximage,并设置相应的参数。

再来看一看windows的定义段吧。这里,我添加了一项来引导WindowsXP。要完成此操作,GRUB使用了"链式装入器"(chainloader)。链式装入器从分区(hd0,0)的引导记录中装入winXP自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因--它创建了一个从引导装入器到另一个的链。

这种链式装入技术可以用于引导任何版本的DOS或Windows。如果你在计算机中装有win98,winme,win2k,winxp的话,chainloader会把引导权交与win的NTLoader来引导。

(三)Grub启动盘的制作

要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建ext2文件系统。然后,将其安装,并将一些GRUB文件复制到该文件系统,最后运行"grub"程序,它将负责设置软盘的引导扇区。

将一张空盘插入1.44MB软驱,输入:

#mke2fs/dev/fd0创建了ext2文件系统后,需要安装该文件系统:#mount/dev/fd0/mnt/floppy现在,需要创建一些目录,并将一些关键文件(原先安装GRUB时已安装了这些文件)复制到软盘:#mkdir/mnt/floppy/boot#mkdir/mnt/floppy/boot/grub#cp/boot/grub/stage1/mnt/floppy/bo-ot/grub#cp/boot/grub/stage2/mnt/floppy/boot/grub

再有一个步骤,就能得到可用的引导盘。

在linuxbash中,从root用户运行"grub",该程序非常有趣并值得注意,因为它实际上是GRUB引导装入器的半功能性版本。尽管Linux已经启动并正在运行,您仍可以运行GRUB并执行某些任务,而且其界面与使用GRUB引导盘或将GRUB安装到硬盘MBR时看到的界面(即GRUB控制台)完全相同。在grub>提示符处,输入:

grub>root(fd0)grub>setup(fd0)grub>quit

现在,引导盘完成了。