手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

引导程式GRUB解析

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  chainloader (hdx,y) 1,然后boot,其中x,y用来指明所在分区号。
  (c) 从网络引导:
  为了使GRUB能够支持从网络引导,您需要在编译时打开网络支持选项,关于这个您能够参考源文档目录里的`netboot/README.netboot为了从网络引导,您首先要在网络配置两个服务,首先是动态IP配置服务,能够是BOOTP,DHCP或RARP服务器,另一个是TFTP服务。
  然后分别针对不同的服务器BOOTP,DHCP或RARP(三个选一个)运行bootp,dhcp,rarp。假如一切配置无误的话GRUB就会给出IP,IP netmask和TFTP服务器的IP和网关的IP地址。最后,从网上得到操作系统的映象文档,网络的设备名称是(nd).如下例:
  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> module /tftproot/serverboot.gz
  grub> boot





实例

GNU/Hurd
--------
因为GNU/Hurd是符合Multiboot规范的操作系统,所以很容易引导:
grub> root (hd0,2)
假如您不记得Hurd所在的分区号的话,能够用find /boot/gnumach查找。
grub> kernel /boot/gnumach root=hd0s1
grub> module /boot/serverboot
grub> boot
GNU/Linux
---------
grub> root (hd1,3)
grub> kernel /vmlinuz root=/dev/hda1
假如您需要指定内核启动参数的话,能够直接加到命令的最后面如:
grub> kernel /vmlinuz root=/dev/hda1 vga=ext
假如您使用initrd的话,在kernel命令之后执行:
grub> initrd /initrd
grub> boot

FreeBSD
-------
GRUB能够直接装载.ELF和a.out两种格式的内核,但是由于FreeBSD的内核引导接口有时有较大的变动,所以,对FreeBSD最安全的引导方法是引导/boot/loader
grub> root (hd0,a)
grub> kernel /boot/loader
grub> boot
NetBSD,OpenBSD,NetBSD
-------------------------------------

这三种系统的引导指令序列相同,如下:
  1. 'root'配置根设备.
  2. `kernel'装载内核.
  3. `boot'引导.
DOS/Windows
-----------
grub> rootnoverify (hd0,0)
grub> chainloader 1
grub> boot
SCO UnixWare
------------
grub> rootnoverify (hd1,0)
grub> chainloader --force 1
grub> makeactive //注意这条指令将配置UnixWare分区为活动分区,这样需要您的GRUB安装在MBR,否则下次启动时将直接进入UnixWare而不会进入GRUB grub> boot

  当然,假如每次引导都需要敲入命令的话实在是太麻烦了,因此,类似于LILO,GRUB提供了一个菜单方式,您需要一个配置文档将这些命令放入配置文档中就能够实现菜单方式的多引导,当然在菜单方式下您能够转换到命令模式下。GRUB引导时查找/boot/grub/menu.lst,假如存在这个文档的话,就根据这个文档生成一个引导菜单,menu.lst文档格式很简单。





菜单配置

# 等待用户选择菜单项的时间(以秒计),超时则引导默认的选项
timeout 30
# 默认选项,第一项
default 0
# 假如第一项出错,则启动下面的后备选项
fallback 1
# 引导 GNU Hurd,其中title就是菜单中显示的提示字符串
title GNU/Hurd
root (hd0,0)
kernel /boot/gnumach.gz root=hd0s1
module /boot/serverboot.gz
# 引导 Linux
title GNU/Linux
root (hd1,0)
kernel /vmlinuz root=/dev/hdb1
# 引导Mach (kernel映象文档放在软盘)
title Utah Mach4 multiboot
root (hd0,2)
pause Insert the diskette now!!
kernel (fd0)/boot/kernel root=hd0s3
module (fd0)/boot/bootstrap
# 引导 FreeBSD
title FreeBSD 3.4
root (hd0,2,a)
kernel /boot/loader
# 引导 OS/2
title OS/2
root (hd0,1)
makeactive
chainloader 1
# 引导 Windows NT 或 Windows95,98
title Windows NT / Windows 95,98 boot menu
rootnoverify (hd0,0)
chainloader 1
# 安装 GRUB 到硬盘MBR
title Install GRUB into the hard disk
root (hd0,0)
setup (hd0)
# 改变显示菜单的颜色
title Change the colors
color light-green/brown blink-red/blue




用户界面

  GRUB的用户界面有三种:命令行模式,菜单模式和菜单编辑模式
  (a) 命令行模式:
  进入命令行模式后GRUB会给出一个命令提示符`grub>`,此时就能够键入命令,按回车执行。此模式下可执行的命令是在menu.lst中可执行的命令的一个子集。此模式下允许类似于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>或<向下键> 历史记录中的下一条命令
  在命令行模式下<tab>键有补全命令的功能,假如您敲入了命令的前一部分,键入<tab>系统将列出任何可能以您给出的字符串开头的命令。假如您给出了命令,在命令参数的位置按下<tab>键,系统将给出这条命令的可能的参数列表,具体的可用命令集将在后面给出。
  (b) 菜单模式

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!