Linux操作系统GRUB引导程序配置方法大全(2)

转载 2007年10月11日 09:59:00

Linux操作系统GRUB引导程序配置方法大全(2)

ZDNet 软件频道    更新时间:2007-10-08作者:赛迪网    来源:赛迪网

本文关键词:   配置  GRUB  操作系统  Linux  

 

 

3. GRUB的交互操作

为了方便用户交互使用GRUB,GRUB提供了交互模式,下面分别作一介绍:

(1) 命令行模式

 

登陆Linux系统后,在命令行中输入grub,便可以进入到命令行模式。如图4-3所示。进入命令行模式后GRUB会给出一个命令提示符“grub>”,此时就可以键入命令,按回车执行。此模式下允许类似于Bash shell的命令行编辑功能:

 

 

<C-f>或<右箭头键> 光标右移一个字符
<C-b>或<左箭头键> 光标左移一个字符
<C-a><HOME> 到这一行的开头
<C-e>或<END> 到行尾
<C-d>或<DEL> 删除光标处的字符
<C-h>或<BackSpace> 删除光标左边的字符
<C-k> 删除光标右边的所有字符(包括光标处的字符)
<C-u> 删除光标左边的所有字符(包括光标处的字符)
<C-y> 恢复上次删除的字符串到光标位置
<C-p>或<向上键> 历史记录中的上一条命令
<C-n>或<向下键> 历史记录中的下一条命令

启动时GRUB命令行模式在命令行模式下键有补全命令的功能,如果你敲入了命令的前一部分,键入系统将列出所有可能以你给出的字符串开头的命令。如果你给出了命令,在命令参数的位置按下键,系统将给出这条命令的可能的参数列表。

在计算机启动的时候,GRUB首先显示启动菜单,这是如果用户按键盘的“c”键,便进入如图4-4所示的命令行模式,它的操作和在Linux的命令行模式是一样的。

(2) 菜单模式

 

系统在启动时,如果找到/boot/grub/menu.lst,则grub显示grub并进入菜单模式,如图4-4所示。菜单模式下用户可以选择要启动的操作系统,或者修改配置。菜单的定义在menu.lst文件中,也可以从菜单模式按键进入命令行模式,并且可以按键从命令行模式返回菜单模式。菜单模式下按键将进入菜单编辑模式。

(3) 菜单编辑模式

 

菜单编辑模式用来对菜单项进行编辑改变,其界面和菜单模式的界面十分类似,不同的是菜单中显示的是对应某个菜单项的命令列表。如果在编辑模式下按下,则取消所有当前对菜单的编辑并回到菜单模式下。在编辑模式下选中一个命令行,就可以对这条指令进行修改,修改完毕后按下回车,GRUB将提示你确认并完成修改。如果你想在当前命令列表中增加一条命令,按在当前命令的下面增加一条指令,按在当前命令前处增加一条指令,按删除一条指令。

在实际中,菜单模式用于选择要启动的操作系统,菜单编辑模式用于临时修改编辑启动菜单,这样的修改可疑通过命令写入MBR活指定的分区,但并不影响grub.conf。命令行模式也是一样,可以通过命令方式动态启动一个操作系统,同时也不影响grub.conf。所以,菜单编辑模式和命令行模式常常用来安装GRUB到MBR或动态引导一个操作系统。而GRUB的配置文件,则是系统启动时GRUB程序必须加载的配置文件,这个文件中有关于GRUB的各种配置。不需要用户每次启动都执行繁琐的命令了。

 

4. GRUB配置文件

 

grub.conf是GRUB的配置文件,其结构比较简单,可以分为两部分,第一步分是全局配置,另外一部分就是每个操作系统的启动配置。其中可以有多个操作系统的菜单配置。下面就是一个具体的例子。

#=================/boot/grub/grub.conf文件范例==================

 

timeout 30 # 等待用户选择菜单项的时间(以秒计),超时则引导默认的选项

default 0 # 默认选项,第一项

fallback 1 # 如果第一项出错,则启动下面的后备选项

splashimage=(hd0,0)/grub/splash.xpm.gz #GRUB启动画面

 

#以下是启动Linux的配置

titleRed Hat Linux Enterprise AS3 for syd168 #启动项的菜单标题

root (hd0,0) #指定根文件系统,第1块硬盘第1个扇区中的/boot。

kernel /vmlinuz-2.4.18 ro root=LABEL=/ #内核在/boot中

initrd /initrd-2.4.18-14.img #启动RAM盘在/boot下

 

#以下是启动Windows的配置,如果只有Linux就不需要

title Windows2003 Enterprise for syd168 #Windows启动菜单标题

root noverify(hd0,1) #该操作系统在hd0的第二分区,不mount

chainloader +1 #从第一个硬盘的第二个分区引导Windows

 

#=================/boot/grub/grub.conf文件范例==================

 

上面的例子,只是简单说明了GRUB中启动Linux和Windows的配置方法。更多的启动配置请参考下面内容。

 

5. 引导多系统配置

 

GRUB支持多操作系统引导。用GRUB引导后可以进入命令行模式或者菜单模式,可以通过灵活的命令行模式选择引导各个分区的操作系统,指定引导参数。GRUB支持三种引导方法,一种是直接引导操作系统内核,另一种是通过chainload进行间接引导,第三种就是通过网络引导操作系统。

对于GRUB能够支持的Linux,FreeBSD,OpenBSD,NetBSD,GUN Mach等可以通过直接引导完成,但是对于GRUB不支持的操作系统(如Windows),需要用第二种方法chainload来完成。下面就分别来看看这几种引导方法:

(1) 直接引导

 

配置过程通常如下:

a) 用root命令设置包含操作系统内核的根设备

b) 用kernel命令装载内核映象文件,如果这个内核引导的时有参数的话,可以直接将参数加在内核文件名的后面

c) 用module或modulenounzip装载内核模块

d) boot开始引导

(2) chainload引导

 

a) 设置GRUB的根设备,用rootnoverify (hdx,y)指定

b) 开始引导,用chainloader +1指定,此处“+1”是指示GRUB读入分区的第一个扇区的引导记录。

c) 执行boot开始引导

以上是一般的chainloader方式,对于DOS和WINDOWS,可以简单地用两条指令进行引导:chainloader (hdx,y)+1,然后boot,其中x,y用来指明所在分区号。

(3) 从网络引导:

 

为了使GRUB能够支持从网络引导,需要在编译时打开网络支持选项(请参考源文件中的netboot/README.netboot)。另外,要在网络中设置两个服务:动态IP服务(BOOTP、DHCP或RARP)和FTP服务。然后,分别针对不同的服务器BOOTP,DHCP或RARP运行bootp,dhcp或rarp。如果一切设置无误的话GRUB就会给出IP,IP netmask和TFTP服务器的IP和网关的IP地址。最后,从网上得到操作系统的映象文件。下面是一个例子:

grub> bootp

Probing...[NE*000]

NE2000 base ...

Address: 192.168.110.23 Netmask: 255.255.255.0

Server: 192.168.110.14 Gateway: 192.168.110.1

grub> root (nd)

grub> kernel /tftproot/gnumach.gz root=sd0s1

 

GRUB启动过程分析 & GRUB 引导程序配置

转自:http://www.51testing.com/html/83/145083-69825.html 计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CM...
  • u011797751
  • u011797751
  • 2015年12月10日 23:37
  • 1293

Linux系统启动流程及grub简单应用

CentOS启动流程650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/C8/wKioL1csh7SjLx-7AAD3NjWmP7...
  • Z_YTTT
  • Z_YTTT
  • 2016年11月03日 13:52
  • 1047

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

在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序。通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU...
  • mao0514
  • mao0514
  • 2015年11月21日 09:30
  • 2036

Ubuntu 中设置 GRUB 引导项顺序及超时

Ubuntu 中设置 GRUB 引导项顺序及超时 Posted on 2011 年 5 月 8 日 by Chong Freeman | 1 条评论   新安装 Ubuntu 的用户通常会遇到需...
  • lengbuleng1107
  • lengbuleng1107
  • 2013年11月06日 17:08
  • 1678

用 GRUB 引导自己的操作系统

在 PC 机上捣鼓自己的操作系统遇到的第一个难题就是如何将内核加载到内存中执行。如果读过于渊写的《自己动手写操作系统》就会知道这部分的工作还是蛮繁琐的。而且实际上这部分工作和操作系统没太大的关系。好在...
  • judyge
  • judyge
  • 2016年08月23日 16:22
  • 397

Grub引导项修复详解

CSDN GitHub Aderstep–紫夜阑珊-青伶巷草 AderXCoding/system/tools/repair_boot 本作品采用知识共享署名-非商业性使用-相同方式共享 ...
  • gatieme
  • gatieme
  • 2017年03月01日 20:23
  • 4679

通过grub进入Linux系统,并修复引导

通过grub进入Linux系统,并修复引导 当分区改变时,Linux系统有时就进不去了。如何进入Linux系统并修复对许多人来说是一个比较麻烦的事情。该文章主要讲解通过grub来进入Linu...
  • huobenwuwu
  • huobenwuwu
  • 2015年05月10日 23:48
  • 9826

通过 Grub 来引导启动 UBUNTU

老样子,先分享一篇文章——用 EasyBCD 硬盘安装 Ubuntu(适用于Windows 7/8) http://forum.ubuntu.org.cn/viewtopic.php?t=392854...
  • davied9
  • davied9
  • 2017年01月08日 18:36
  • 8718

Ubuntu——grub rescue 主引导修复

长期使用windows 和 ubuntu 双系统的人,很有可能碰到重装某一个系统,或者另外添加分区,导致系统重启出现 : GRUB loading error:unknow filesystem g...
  • jscese
  • jscese
  • 2014年07月08日 14:59
  • 19157

使用bochs和grub建立可引导硬盘镜像

bochs,发音同box,是我非常喜欢的虚拟机,灵活易用方便配置,功能极强,用来调试Linux内核是非常合适的。这篇博文主要讲解如何建立硬盘镜像,并且将grub安装上去,最后的结果就是bochs启动后...
  • u010035971
  • u010035971
  • 2016年03月11日 12:45
  • 1257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux操作系统GRUB引导程序配置方法大全(2)
举报原因:
原因补充:

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