科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统GRUB引导程序配置方法大全(2)

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

登陆Linux系统后,在命令行中输入grub,便可以进入到命令行模式。如图4-3所示。进入命令行模式后GRUB会给出一个命令提示符“grub>”,此时就可以键入命令,按回车执行。

作者:赛迪网 来源:赛迪网 2007年10月8日

关键字: 配置 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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章